Messages in this thread | | | Subject | Re: [PATCH net v3] net: ipv6: Fix a bug in ndisc_send_ns when netdev only has a global address | From | David Ahern <> | Date | Wed, 31 Jul 2019 15:42:01 -0600 |
| |
On 7/30/19 7:52 PM, Su Yanjun wrote: > When the egress interface does not have a link local address, it can > not communicate with other hosts. > > In RFC4861, 7.2.2 says > "If the source address of the packet prompting the solicitation is the > same as one of the addresses assigned to the outgoing interface, that > address SHOULD be placed in the IP Source Address of the outgoing > solicitation. Otherwise, any one of the addresses assigned to the > interface should be used." > > In this patch we try get a global address if we get ll address failed. > > Signed-off-by: Su Yanjun <suyj.fnst@cn.fujitsu.com> > --- > Changes since V2: > - Let banned_flags under the scope of its use. > --- > include/net/addrconf.h | 2 ++ > net/ipv6/addrconf.c | 34 ++++++++++++++++++++++++++++++++++ > net/ipv6/ndisc.c | 10 +++++++--- > 3 files changed, 43 insertions(+), 3 deletions(-) >
This change looks fine to me given the RFC reference, so for that part: Reviewed-by: David Ahern <dsahern@gmail.com>
Bigger picture is the issue Mark raised that a different RFC says all links should have an LLA, so use of IN6_ADDR_GEN_MODE_NONE means userspace is expected to create and add the LLA. Lack of an LLA is a misconfigured system. If that is enforced via some to be developed patch, then this patch would not be needed.
| |