]> git.puffer.fish Git - matthieu/frr.git/commitdiff
lib, bgpd, zebra: RA interval is unsigned
authorQuentin Young <qlyoung@nvidia.com>
Wed, 23 Sep 2020 19:35:51 +0000 (15:35 -0400)
committerQuentin Young <qlyoung@nvidia.com>
Wed, 28 Apr 2021 15:43:50 +0000 (11:43 -0400)
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 <qlyoung@nvidia.com>
bgpd/bgp_zebra.c
lib/zclient.c
lib/zclient.h
zebra/rtadv.c

index ae0bf7fe92695df07f07f810074869184735bae2..288c2851b37c43ec2dbb37991ec33bd8666f8a33 100644 (file)
@@ -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)
index d613906d829d1de5ff345cbaa3a87f3e44e5f135..b1aea55afa9ed7c406093e8b21b21e2a5699d33f 100644 (file)
@@ -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;
 
index 26fa73fc0a702852ff31db9e9a50df3ac18e1acc..e8fff4b881dfe1c4f50d2ada30ef3a097dd8df88 100644 (file)
@@ -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);
index 8ffb3870fa6fb019dfc2161565004428239ee76d..1e06b3e0e94432805a047c0257aca5d0cd6ebc8d 100644 (file)
@@ -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;