Dean Anderson writes...
There isn't a simple knob, but then it isn't simple to know what a forgery
is. You to have tell the router. The router doesn't know what you and
other people "own", but you can tell it. I'd say there isn't a way to make
a simple on/off knob for that, because there isn't any way to tell who you
will transit for and who you won't.
[access list example not included]
It could be simple knob, and I believe it is simple to know what a forgery
is. If the source address, when treated as a destination and used to look
up the routing entries (all of them), indicates a return path scope that
includes the actual interface or interface:gateway that the packet did
arrive from, then it is most likely not a forgery, whereas if the arrival
interface or interface:gateway is not in the list, it most likely is a
While this might break some extreme cases of asymmetric routing, it does
appear to me to be sufficiently able to filter enough source forgeries as
to seriously discourge the practice.
Unlike access lists, this would be very easy to configure. Unlike access
lists, it could default to enabled, which I think it should be. Its costs
in CPU time (mostly the route lookup) could be made up for to some degree
be not having to have so many access list entries to accomplish the same
effect. And you won't have to go update all your configurations when a
new network block is acquired, or a customer comes online with portable
address space or dual-homes (a serious situation for backbone providers).