Netdev List
 help / color / mirror / Atom feed
* The recvmsg() with IP_PKTINFO for local addresses returns various ipi_ifindex
@ 2018-08-09  8:13 Damir Mansurov
  2018-08-12 22:34 ` David Ahern
  0 siblings, 1 reply; 2+ messages in thread
From: Damir Mansurov @ 2018-08-09  8:13 UTC (permalink / raw)
  To: netdev; +Cc: Alexandra N. Kossovsky

Greetings,

I use the IP_PKTINFO to detect ipi_ifindex from which the packet was 
arrived, it used to work for local addresses also.

For local addresses ipi_ifindex always returned 1, but starting from 
Linux 4.14 ip_ifindex began to return various values.

Example host configuration:
1:  lo:   127.0.0.1
2:  eth0: 192.168.3.45
3:  eth1: 192.168.4.45

I use sendto() with addresses {127.0.0.1, 192.168.3.45 and 
192.168.4.45}, call recvmsg() and than use standard procedure to get 
ipi_ifindex, it shows results:

                  |      ipi_ifindex     |      ipi_ifindex
  sendto(address) |   Linux ver < 4.14   |   Linux ver >= 4.14
---------------------------------------------------------------
   127.0.0.1      |          1           |           1
---------------------------------------------------------------
   192.168.3.45   |          1           |           2
---------------------------------------------------------------
   192.168.4.45   |          1           |           3


It seems that this behavior depends from commit:
net: ipv4: set orig_oif based on fib result for local traffic

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-4.14.y&id=839da4d98960bcc68e6b7b945b33ad3916ec1e92

I believe that ipi_ifindex for local addresses should be 1.
Is there a Bug for Linux >= 4.14 or is this a valid behavior?



************************
Thanks,
Damir Mansurov
dnman@oktetlabs.ru

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-08-13  1:13 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-08-09  8:13 The recvmsg() with IP_PKTINFO for local addresses returns various ipi_ifindex Damir Mansurov
2018-08-12 22:34 ` David Ahern

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox