Intended recipient is waiting on that interface for the packet he won't receive Multiple source addresses on the interface. Caching the result causes incorrect behaviour when there are 19:14 ` Julian Anastasov 1 sibling, 1 reply 11+ messages in threadįrom: Chris Friesen 15:08 UTC ( / raw)įor local routes that require a particular output interface we do not want toĬache the result. 15:00 ` Chris Friesen 15:08 ` Chris Friesen * route: do not cache fib route info on local routes with oif we should allow to cache orig_oif=LOOPBACK_IFINDEX > + } else if ((type = RTN_LOCAL) & (orig_oif != 0)) else if ((type = RTN_LOCAL) & (orig_oif != 0) & > -2045,6 +2045,17 static struct rtable *_mkroute_output(const struct fib_result *res, > diff -git a/net/ipv4/route.c b/net/ipv4/route.c
IPV4 LOOPBACK ADDRESS PATCH
> For what it's worth, here's a patch that we've applied locally to deal > aspect is that the CMSG info is correct. > will still appear on the loopback interface in tcpdump but the important > (e.g., eth1) instead of the loopback interface (e.g., lo). > should see an IP_PKTINFO ipi_ifndex value of the source interface > received by another program on the same board. > attempts to inject a packet on a particular interface so that it is > This can be tested by running a program such as "dhcp_release" which This is violated is when we redirect traffic to lo.Īny attempts to store eth1 in rt_iif for nexthop Is specific (cached in nexthop) to some device, this So, if we store some orig_oif in rt_iif that > loopback interface and the IP_PKTINFO ipi_ifindex will be set to the
> for the packet he won't receive it because it will be delivered on the > result being that if the intended recipient is waiting on that interface > when there are multiple source addresses on the interface. Caching the result causes incorrect behaviour > For local routes that require a particular output interface we do not
> We think we may have found a bug in the handling of ipv4 route caching, +++ -2045,6 +2045,17 static struct rtable *_mkroute_output(const struct fib_result *res, Will still appear on the loopback interface in tcpdump but the importantįor what it's worth, here's a patch that we've applied locally to dealĭiff -git a/net/ipv4/route.c b/net/ipv4/route.c
(e.g., eth1) instead of the loopback interface (e.g., lo). Should see an IP_PKTINFO ipi_ifndex value of the source interface Received by another program on the same board. This can be tested by running a program such as "dhcp_release" whichĪttempts to inject a packet on a particular interface so that it is Loopback interface and the IP_PKTINFO ipi_ifindex will be set to the
Result being that if the intended recipient is waiting on that interfaceįor the packet he won't receive it because it will be delivered on the When there are multiple source addresses on the interface. We think we may have found a bug in the handling of ipv4 route caching,įor local routes that require a particular output interface we do not 21:20 ` Julian Anastasov 0 siblings, 1 reply 11+ messages in threadįrom: Chris Friesen 19:17 UTC ( / raw)
IPV4 LOOPBACK ADDRESS ARCHIVE
Possible bug in handling of ipv4 route caching Netdev Archive on help / color / mirror / Atom feed * possible bug in handling of ipv4 route caching 19:17 Chris Friesen