rad(8) fails to advertise new prefix

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

rad(8) fails to advertise new prefix

Christian Weisgerber
My home gateway uses DHCPv6-PD straight out of net/dhcpcd's README.
dhcpcd requests prefix delegation from the ISP, assigns subnets to
local interfaces, and rad(8) picks up those addresses and advertises
the corresponding prefixes on the local networks.

I upgraded my home gateway from dhcpcd-7.1.1 and amd64 -current as
of six weeks ago, to dhcpcd-7.1.1p4 and -current as of Apr 10.
rad(8) now fails to notice address changes on the interfaces it
covers.  When the address changes, it continues to advertise the
old prefix.  I have to restart rad(8) in order to get it to advertise
the new address.

Can anybody reproduce this problem?

I don't know if there is a bug in dhcpcd, rad, or kernel route
message passing.

--
Christian "naddy" Weisgerber                          [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: rad(8) fails to advertise new prefix

Florian Obser
On Thu, Apr 11, 2019 at 07:01:30PM +0200, Christian Weisgerber wrote:

> My home gateway uses DHCPv6-PD straight out of net/dhcpcd's README.
> dhcpcd requests prefix delegation from the ISP, assigns subnets to
> local interfaces, and rad(8) picks up those addresses and advertises
> the corresponding prefixes on the local networks.
>
> I upgraded my home gateway from dhcpcd-7.1.1 and amd64 -current as
> of six weeks ago, to dhcpcd-7.1.1p4 and -current as of Apr 10.
> rad(8) now fails to notice address changes on the interfaces it
> covers.  When the address changes, it continues to advertise the
> old prefix.  I have to restart rad(8) in order to get it to advertise
> the new address.
>
> Can anybody reproduce this problem?
>
> I don't know if there is a bug in dhcpcd, rad, or kernel route
> message passing.
>
> --
> Christian "naddy" Weisgerber                          [hidden email]
>

We need to event_set the correct fd :/

OK?

diff --git frontend.c frontend.c
index dc1196f379d..e32d8ce18dc 100644
--- frontend.c
+++ frontend.c
@@ -474,7 +474,7 @@ frontend_dispatch_main(int fd, short event, void *bula)
  fatalx("%s: expected to receive imsg "
     "routesocket fd but didn't receive any",
     __func__);
- event_set(&ev_route, fd, EV_READ | EV_PERSIST,
+ event_set(&ev_route, routesock, EV_READ | EV_PERSIST,
     route_receive, NULL);
  break;
  case IMSG_STARTUP:


--
I'm not entirely sure you are real.

Reply | Threaded
Open this post in threaded view
|

Re: rad(8) fails to advertise new prefix

Christian Weisgerber
Florian Obser:

> We need to event_set the correct fd :/

This fixes the problem I observed.

> OK?

ok

--
Christian "naddy" Weisgerber                          [hidden email]