Discussion:
IPv6 test failures
(too old to reply)
Robert Swindells
2018-04-28 12:37:53 UTC
Permalink
Is anyone looking at the cause of these failures in recent test runs ?

net/ndp/t_ra
ra_flush_prefix_entries
ra_prefix_expiration

They are failing because NDP is broken, I'm seeing the same behaviour on
my systems.

The host receives an RA but doesn't do anything with it.

Robert Swindells

--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Maxime Villard
2018-04-28 14:18:06 UTC
Permalink
Post by Robert Swindells
Is anyone looking at the cause of these failures in recent test runs ?
net/ndp/t_ra
ra_flush_prefix_entries
ra_prefix_expiration
They are failing because NDP is broken, I'm seeing the same behaviour on my systems.
The host receives an RA but doesn't do anything with it.
Robert Swindells
When did that stop working? I didn't touch ND6, but I did touch ICMPv6.

--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Robert Swindells
2018-04-28 15:07:33 UTC
Permalink
Post by Maxime Villard
Post by Robert Swindells
Is anyone looking at the cause of these failures in recent test runs ?
net/ndp/t_ra
ra_flush_prefix_entries
ra_prefix_expiration
They are failing because NDP is broken, I'm seeing the same behaviour on my systems.
The host receives an RA but doesn't do anything with it.
Robert Swindells
When did that stop working? I didn't touch ND6, but I did touch ICMPv6.
It wasn't you that broke it.

Part of my local problem is caused by a bug in dhcpcd, I was able to
toggle the
interface flags using ndp(8) then run a local copy of rtsol to get a
prefix
and default route set up.

The ATF failures must be down to something else as it isn't using
dhcpcd. I have
got enough printf() calls in my tree now that it should be fairly easy
to track
down.

I suspect that I'm also having MTU mismatch problems though.

--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Roy Marples
2018-04-29 13:35:55 UTC
Permalink
Post by Robert Swindells
Post by Maxime Villard
Post by Robert Swindells
Is anyone looking at the cause of these failures in recent test runs ?
net/ndp/t_ra
   ra_flush_prefix_entries
   ra_prefix_expiration
They are failing because NDP is broken, I'm seeing the same behaviour on my systems.
The host receives an RA but doesn't do anything with it.
Robert Swindells
When did that stop working? I didn't touch ND6, but I did touch ICMPv6.
It wasn't you that broke it.
Part of my local problem is caused by a bug in dhcpcd, I was able to
toggle the
interface flags using ndp(8) then run a local copy of rtsol to get a prefix
and default route set up.
Can you describe more the bug in dhcpcd?

I fixed the sending of the RA in rtadvd.c 1.66 (and the tests now show
it's sending again, yay) so I think I've not broken this either.
Post by Robert Swindells
I suspect that I'm also having MTU mismatch problems though.
Both dhcpcd and the kernel will set the MTU of the routes to the MTU as
perscribed by the RA.

Roy

--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Robert Swindells
2018-04-29 13:52:12 UTC
Permalink
Post by Roy Marples
Post by Robert Swindells
Post by Maxime Villard
Post by Robert Swindells
Is anyone looking at the cause of these failures in recent test runs ?
net/ndp/t_ra
   ra_flush_prefix_entries
   ra_prefix_expiration
They are failing because NDP is broken, I'm seeing the same
behaviour on my systems.
The host receives an RA but doesn't do anything with it.
Robert Swindells
When did that stop working? I didn't touch ND6, but I did touch ICMPv6.
It wasn't you that broke it.
Part of my local problem is caused by a bug in dhcpcd, I was able to
toggle the
interface flags using ndp(8) then run a local copy of rtsol to get a prefix
and default route set up.
Can you describe more the bug in dhcpcd?
I think you have the logic wrong for setting the interface flags.

It works for me now with this patch:

Index: if-bsd.c
===================================================================
RCS file: /cvsroot/src/external/bsd/dhcpcd/dist/src/if-bsd.c,v
retrieving revision 1.1.1.7
diff -u -r1.1.1.7 if-bsd.c
--- if-bsd.c 27 Mar 2018 06:14:39 -0000 1.1.1.7
+++ if-bsd.c 29 Apr 2018 13:37:48 -0000
@@ -1435,10 +1435,10 @@
*/
#ifdef ND6_IFF_ACCEPT_RTADV
if (ifp->options->options & DHCPCD_IPV6RS)
- flags &= ~ND6_IFF_ACCEPT_RTADV;
+ flags |= ND6_IFF_ACCEPT_RTADV;
#ifdef ND6_IFF_OVERRIDE_RTADV
if (ifp->options->options & DHCPCD_IPV6RS)
- flags |= ND6_IFF_OVERRIDE_RTADV;
+ flags &= ~ND6_IFF_OVERRIDE_RTADV;
#endif
#endif

I was just using "-6 --nodhcp6 wm0" as the arguments to dhcpcd.

The same code is in -8 so maybe need to let releng know.
Post by Roy Marples
I fixed the sending of the RA in rtadvd.c 1.66 (and the tests now show
it's sending again, yay) so I think I've not broken this either.
Post by Robert Swindells
I suspect that I'm also having MTU mismatch problems though.
Both dhcpcd and the kernel will set the MTU of the routes to the MTU
as perscribed by the RA.
The remaining problem is IPv4 only.

--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Roy Marples
2018-04-29 14:10:03 UTC
Permalink
Post by Robert Swindells
Post by Roy Marples
Post by Robert Swindells
Post by Maxime Villard
Post by Robert Swindells
Is anyone looking at the cause of these failures in recent test runs ?
net/ndp/t_ra
   ra_flush_prefix_entries
   ra_prefix_expiration
They are failing because NDP is broken, I'm seeing the same
behaviour on my systems.
The host receives an RA but doesn't do anything with it.
Robert Swindells
When did that stop working? I didn't touch ND6, but I did touch ICMPv6.
It wasn't you that broke it.
Part of my local problem is caused by a bug in dhcpcd, I was able to
toggle the
interface flags using ndp(8) then run a local copy of rtsol to get a prefix
and default route set up.
Can you describe more the bug in dhcpcd?
I think you have the logic wrong for setting the interface flags.
Index: if-bsd.c
===================================================================
RCS file: /cvsroot/src/external/bsd/dhcpcd/dist/src/if-bsd.c,v
retrieving revision 1.1.1.7
diff -u -r1.1.1.7 if-bsd.c
--- if-bsd.c    27 Mar 2018 06:14:39 -0000      1.1.1.7
+++ if-bsd.c    29 Apr 2018 13:37:48 -0000
@@ -1435,10 +1435,10 @@
         */
 #ifdef ND6_IFF_ACCEPT_RTADV
        if (ifp->options->options & DHCPCD_IPV6RS)
-               flags &= ~ND6_IFF_ACCEPT_RTADV;
+               flags |= ND6_IFF_ACCEPT_RTADV;
 #ifdef ND6_IFF_OVERRIDE_RTADV
        if (ifp->options->options & DHCPCD_IPV6RS)
-               flags |= ND6_IFF_OVERRIDE_RTADV;
+               flags &= ~ND6_IFF_OVERRIDE_RTADV;
 #endif
 #endif
I was just using "-6 --nodhcp6 wm0" as the arguments to dhcpcd.
The same code is in -8 so maybe need to let releng know.
The code is correct.

If dhcpcd is handling the RA (which is the default) then it will disable
the kernel handling it. The only downside of this approach is that ndp
no longer lists RA's or prefixes.

If you don't want dhcpcd to handle the RA then it will leave the kernel
settings alone. The downsides of this approach are no DNSSL or RDNSS or
any special handling when wireless gets disconnected or wired gets
unplugged or the myriad of stuff dhcpcd does extra.

You don't want both handling it.

Roy

--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Roy Marples
2018-04-29 16:08:04 UTC
Permalink
Post by Roy Marples
Post by Robert Swindells
I was just using "-6 --nodhcp6 wm0" as the arguments to dhcpcd.
The same code is in -8 so maybe need to let releng know.
The code is correct.
If dhcpcd is handling the RA (which is the default) then it will disable
the kernel handling it. The only downside of this approach is that ndp
no longer lists RA's or prefixes.
If you don't want dhcpcd to handle the RA then it will leave the kernel
settings alone. The downsides of this approach are no DNSSL or RDNSS or
any special handling when wireless gets disconnected or wired gets
unplugged or the myriad of stuff dhcpcd does extra.
You don't want both handling it.
If you want to simulate rtsol, put dhcpcd into test mode using the -T
commandline option. Then no kernel options are touched and it works with
a stock. No addressing, routing or config is actually affected by dhcpcd.

Roy

--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Robert Swindells
2018-04-29 16:56:35 UTC
Permalink
Post by Roy Marples
Post by Roy Marples
Post by Robert Swindells
I was just using "-6 --nodhcp6 wm0" as the arguments to dhcpcd.
The same code is in -8 so maybe need to let releng know.
The code is correct.
If dhcpcd is handling the RA (which is the default) then it will
disable the kernel handling it. The only downside of this approach is
that ndp no longer lists RA's or prefixes.
If you don't want dhcpcd to handle the RA then it will leave the
kernel settings alone. The downsides of this approach are no DNSSL or
RDNSS or any special handling when wireless gets disconnected or wired
gets unplugged or the myriad of stuff dhcpcd does extra.
You don't want both handling it.
If you want to simulate rtsol, put dhcpcd into test mode using the -T
commandline option. Then no kernel options are touched and it works
with a stock. No addressing, routing or config is actually affected by
dhcpcd.
I still build rtsol anyway.

Maybe one change to make to dhcpcd would be to restore the interface
flags to their
original values on exit.

--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Loading...