Subject: Re: [PATCH net] net: ipv6: Fix ping to link-local addresses.

From: YOSHIFUJI Hideaki <[email-masked]>
Date: Wed, 10 Aug 2016 07:44:18 +0900

David Ahern wrote:
> On 8/9/16 1:01 AM, Erik Kline wrote:
>> On 9 August 2016 at 14:20, David Miller <[email-masked]> wrote:
>>> From: Lorenzo Colitti <[email-masked]>
>>> Date: Tue, 9 Aug 2016 10:00:25 +0900
>>>
>>>> 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.
> 

We could extend our code to allow enslave devices, maybe.

-- 
Hideaki Yoshifuji <[email-masked]>
Technical Division, MIRACLE LINUX CORPORATION