From: Quentin Young Date: Wed, 23 Sep 2020 19:35:51 +0000 (-0400) Subject: lib, bgpd, zebra: RA interval is unsigned X-Git-Tag: base_8.0~83^2~2 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=bbad027684d1df7ebf30e7d8572683aeeeac4024;p=matthieu%2Ffrr.git lib, bgpd, zebra: RA interval is unsigned Use unsigned value for all RA requests to Zebra - encoding signed int as unsigned is bad practice - RA interval is never, and should never be, negative Signed-off-by: Quentin Young --- diff --git a/bgpd/bgp_zebra.c b/bgpd/bgp_zebra.c index ae0bf7fe92..288c2851b3 100644 --- a/bgpd/bgp_zebra.c +++ b/bgpd/bgp_zebra.c @@ -1975,7 +1975,7 @@ void bgp_zebra_instance_deregister(struct bgp *bgp) void bgp_zebra_initiate_radv(struct bgp *bgp, struct peer *peer) { - int ra_interval = BGP_UNNUM_DEFAULT_RA_INTERVAL; + uint32_t ra_interval = BGP_UNNUM_DEFAULT_RA_INTERVAL; /* Don't try to initiate if we're not connected to Zebra */ if (zclient->sock < 0) diff --git a/lib/zclient.c b/lib/zclient.c index d613906d82..b1aea55afa 100644 --- a/lib/zclient.c +++ b/lib/zclient.c @@ -587,7 +587,7 @@ zclient_send_router_id_update(struct zclient *zclient, enum zclient_send_status zclient_send_interface_radv_req(struct zclient *zclient, vrf_id_t vrf_id, struct interface *ifp, int enable, - int ra_interval) + uint32_t ra_interval) { struct stream *s; diff --git a/lib/zclient.h b/lib/zclient.h index 26fa73fc0a..e8fff4b881 100644 --- a/lib/zclient.h +++ b/lib/zclient.h @@ -911,7 +911,7 @@ zclient_send_router_id_update(struct zclient *zclient, extern enum zclient_send_status zclient_send_interface_radv_req(struct zclient *zclient, vrf_id_t vrf_id, struct interface *ifp, int enable, - int ra_interval); + uint32_t ra_interval); extern enum zclient_send_status zclient_send_interface_protodown(struct zclient *zclient, vrf_id_t vrf_id, struct interface *ifp, bool down); diff --git a/zebra/rtadv.c b/zebra/rtadv.c index 8ffb3870fa..1e06b3e0e9 100644 --- a/zebra/rtadv.c +++ b/zebra/rtadv.c @@ -1063,22 +1063,13 @@ static void zebra_interface_radv_set(ZAPI_HANDLER_ARGS, int enable) ifindex_t ifindex; struct interface *ifp; struct zebra_if *zif; - int ra_interval_rxd; + uint32_t ra_interval; s = msg; /* Get interface index and RA interval. */ STREAM_GETL(s, ifindex); - STREAM_GETL(s, ra_interval_rxd); - - if (ra_interval_rxd < 0) { - zlog_warn( - "Requested RA interval %d is garbage; ignoring request", - ra_interval_rxd); - return; - } - - unsigned int ra_interval = ra_interval_rxd; + STREAM_GETL(s, ra_interval); if (IS_ZEBRA_DEBUG_EVENT) { struct vrf *vrf = zvrf->vrf;