* routing UAPI mismatch invalid state behavior?
@ 2017-10-15 17:02 Alexander Aring
2017-10-16 1:56 ` David Ahern
0 siblings, 1 reply; 2+ messages in thread
From: Alexander Aring @ 2017-10-15 17:02 UTC (permalink / raw)
To: netdev; +Cc: Jamal Hadi Salim
Hi,
I figure out some problem, easy to reproduce:
# setup dummy
$ modprobe dummy
$ ip link set dummy0 up
# issue
$ ip route replace default via 169.254.65.37 dev dummy0
RTNETLINK answers: Network is unreachable
so it will forbid me to do that, but:
$ ip route replace 169.254.65.37 dev dummy0
$ ip route replace default via 169.254.65.37 dev dummy0
$ ip route del 169.254.65.37 dev dummy0
allows me to do that. Is there now a invalid state in my routing table
or is it an expected behavior?
- Alex
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: routing UAPI mismatch invalid state behavior?
2017-10-15 17:02 routing UAPI mismatch invalid state behavior? Alexander Aring
@ 2017-10-16 1:56 ` David Ahern
0 siblings, 0 replies; 2+ messages in thread
From: David Ahern @ 2017-10-16 1:56 UTC (permalink / raw)
To: Alexander Aring, netdev; +Cc: Jamal Hadi Salim
On 10/15/17 11:02 AM, Alexander Aring wrote:
> Hi,
>
> I figure out some problem, easy to reproduce:
>
> # setup dummy
> $ modprobe dummy
> $ ip link set dummy0 up
>
> # issue
> $ ip route replace default via 169.254.65.37 dev dummy0
> RTNETLINK answers: Network is unreachable
This fails in fib_check_nh. Basically the lookup of the address fails
making it an invalid gateway.
>
> so it will forbid me to do that, but:
>
> $ ip route replace 169.254.65.37 dev dummy0
This succeeds because iproute2 adds NLM_F_CREATE to flags along with
REPLACE:
if (matches(*argv, "replace") == 0)
return iproute_modify(RTM_NEWROUTE,
NLM_F_CREATE|NLM_F_REPLACE,
argc-1, argv+1);
but your overall intent here of resolving 169.254.65.37 is the key.
> $ ip route replace default via 169.254.65.37 dev dummy0
The existence of the previous route allows the gateway check in
fib_check_nh to succeed.
> $ ip route del 169.254.65.37 dev dummy0
>
> allows me to do that. Is there now a invalid state in my routing table
> or is it an expected behavior?
There are no recursive checks to gateway lookups once the routes are
installed. With the way routes and nexthops are currently created doing
so would be very expensive in some setups.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-10-16 1:56 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-15 17:02 routing UAPI mismatch invalid state behavior? Alexander Aring
2017-10-16 1:56 ` David Ahern
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).