Thread (8 messages) 8 messages, 2 authors, 2018-03-06

Re: [PATCH v2 net-next 2/5] net/ipv6: Address checks need to consider the L3 domain

flat view

From: David Ahern <hidden>
Date: 2018-03-06 18:33:02

On 3/6/18 8:01 AM, Ido Schimmel wrote:
On Mon, Mar 05, 2018 at 01:34:03PM -0800, David Ahern wrote:
quoted
ipv6_chk_addr_and_flags determines if an address is a local address. It
is called by ip6_route_info_create to validate a gateway address is not a
local address. It currently does not consider L3 domains and as a result
does not allow a route to be added in one VRF if the nexthop points to
an address in a second VRF. e.g.,

    $ ip route add 2001:db8:1::/64 vrf r2 via 2001:db8:102::23
    Error: Invalid gateway address.

where 2001:db8:102::23 is an address on an interface in vrf r1.

Resolve by comparing the l3mdev for the passed in device and requiring an
l3mdev match with the device containing an address. The intent of checking
for an address on the specified device versus any device in the domain is
mantained by a new argument to skip the check between the passed in device
and the device with the address.

Update the handful of users of ipv6_chk_addr with a NULL dev argument:
I see at least two callers from net/sctp/ipv6.c that pass a NULL
argument, which means they only want an address check, but you pass
'false' to 'skip_dev_check'.
right. I think ipv6_chk_addr should be passing dev == NULL for the
skip_dev_check. Thanks for the review
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help