tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: RTM_MISS vs RTM_DELETE



On 01/09/2019 21:42, Roy Marples wrote:
inet6: Re-introduce ND6_LLINFO_WAITDELETE so we can return EHOSTDOWN

Once we've sent nd6_mmaxtries NS messages, send RTM_MISS and move to the
ND6_LLINFO_WAITDELETE state rather than freeing the llentry right away.
Wait for a probe cycle and then free the llentry.

If a connection attempts to re-use the llentry during ND6_LLINFO_WAITDELETE,
return EHOSTDOWN (or EHOSTUNREACH if a gateway) to match inet behaviour.
Continue to ND6_LLINFO_INCOMPLETE and send another NS probe in hope of a
reply. Rinse and repeat.

This reverts part of nd6.c r1.14 - an 18 year old commit!

For example, ping6 output is now like this:

$ ping6 fd73:7808:1015::1f8
PING6(56=40+8+8 bytes) fd73:7808:1015::1f7 --> fd73:7808:1015::1f8
ping6: sendmsg: Host is down
ping6: wrote fd73:7808:1015::1f8 16 chars, ret=-1
ping6: sendmsg: Host is down
ping6: wrote fd73:7808:1015::1f8 16 chars, ret=-1
ping6: sendmsg: Host is down
ping6: wrote fd73:7808:1015::1f8 16 chars, ret=-1
^C
--- fd73:7808:1015::1f8 ping6 statistics ---
5 packets transmitted, 0 packets received, 100.0% packet loss

Which now matches ping an unreachable inet address.

Roy


Home | Main Index | Thread Index | Old Index