Skip to content

Commit

Permalink
zebra: Always receive RS
Browse files Browse the repository at this point in the history
zebra: The socket is listening on ND_ROUTER_SOLICIT of icmpv6, but won't
recv it when RA is disabled. It will let packets accumulate in kernel.
We should always receive RS packets regardless of whether RA is disabled.
  • Loading branch information
hengwu0 committed Mar 25, 2024
1 parent 6ee9610 commit 40dfd01
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions zebra/rtadv.c
Original file line number Diff line number Diff line change
Expand Up @@ -1310,10 +1310,11 @@ void ipv6_nd_suppress_ra_set(struct interface *ifp,
zif->rtadv.NumFastReXmitsRemain =
RTADV_NUM_FAST_REXMITS;
}

rtadv_start_interface_events(zvrf, zif);
}
}

/* Always receive RS, no matter RA is currently disabled */
rtadv_start_interface_events(zvrf, zif);
}

void ipv6_nd_interval_set(struct interface *ifp, uint32_t interval)
Expand Down Expand Up @@ -1771,8 +1772,7 @@ void rtadv_if_up(struct zebra_if *zif)
* startup the state machine, if it hasn't been already
* due to a delayed ifindex on startup ordering
*/
if (zif->rtadv.AdvSendAdvertisements)
rtadv_start_interface_events(zvrf, zif);
rtadv_start_interface_events(zvrf, zif);
}

void rtadv_if_init(struct zebra_if *zif)
Expand Down

0 comments on commit 40dfd01

Please sign in to comment.