Re: [PATCH net] net: ipv6: Fix ping to link-local addresses.
From: David Ahern <hidden>
Date: 2016-08-09 13:21:39
On 8/9/16 1:01 AM, Erik Kline wrote:
On 9 August 2016 at 14:20, David Miller [off-list ref] wrote:quoted
From: Lorenzo Colitti <redacted> Date: Tue, 9 Aug 2016 10:00:25 +0900quoted
Note that pretty much every sendmsg codepath allows other data to take precedence over sk_bound_dev_if: - udpv6_sendmsg: if sin6_scope_id specified on a scoped address - rawv6_sendmsg: if sin6_scope_id specified on a scoped address - l2tp_ip6_sendmsg: if sin6_scope_id specified on a scoped address - ip_cmsg_send: if IP_PKTINFO or IPV6_PKTINFO specified What should I do about those? -EINVAL? Ignore the conflicting data? Leave as is?That's a good point, I guess this needs some more thought.I could see a point of view that says when bound_if is in play sending to destinations on/via other interfaces--by any mechanism--should effectively get ENETUNREACH (or something).
VRF uses this capability to send on an enslaved interface. ie., socket is bound to VRF device to limit packets to that L3 domain and then uses PKTINFO to force a packet out a particular interface.