]> git.puffer.fish Git - mirror/frr.git/commitdiff
bgpd: Use bgp master flags for send extra data to zebra 7735/head
authorDonatas Abraitis <donatas.abraitis@gmail.com>
Mon, 14 Dec 2020 18:28:44 +0000 (20:28 +0200)
committerDonatas Abraitis <donatas.abraitis@gmail.com>
Mon, 14 Dec 2020 18:33:41 +0000 (20:33 +0200)
root@exit1-debian-9:~/frr# vtysh -c 'conf' -c 'bgp send-extra-data zebra'
root@exit1-debian-9:~/frr# vtysh -c 'show run' | grep send-extra
root@exit1-debian-9:~/frr# vtysh -c 'conf' -c 'no bgp send-extra-data zebra'
root@exit1-debian-9:~/frr# vtysh -c 'show run' | grep send-extra
no bgp send-extra-data zebra

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
bgpd/bgp_vty.c
bgpd/bgp_zebra.c
bgpd/bgpd.c
bgpd/bgpd.h

index e840f8bceb510ca2e6137eb32e4820a3a05a99e5..b4e53d2d939ef6ca5c3a0b83a0af469cb3a3e698 100644 (file)
@@ -1616,7 +1616,10 @@ DEFPY (no_bgp_send_extra_data,
        "Extra data to Zebra for display/use\n"
        "To zebra\n")
 {
-       bgp_option_send_extra_data(!!no);
+       if (no)
+               UNSET_FLAG(bm->flags, BM_FLAG_SEND_EXTRA_DATA_TO_ZEBRA);
+       else
+               SET_FLAG(bm->flags, BM_FLAG_SEND_EXTRA_DATA_TO_ZEBRA);
 
        return CMD_SUCCESS;
 }
@@ -16958,7 +16961,7 @@ int bgp_config_write(struct vty *vty)
        if (bgp_option_check(BGP_OPT_NO_FIB))
                vty_out(vty, "bgp no-rib\n");
 
-       if (bm->send_extra_data_to_zebra)
+       if (!CHECK_FLAG(bm->flags, BM_FLAG_SEND_EXTRA_DATA_TO_ZEBRA))
                vty_out(vty, "no bgp send-extra-data zebra\n");
 
        /* BGP configuration. */
index 3bd8f7a09b889a2e410b2f1b2f390645f539fd7e..db5c87775970b1722ee0aefec6d81b0c71db9db5 100644 (file)
@@ -1410,7 +1410,7 @@ void bgp_zebra_announce(struct bgp_dest *dest, const struct prefix *p,
 
        is_add = (valid_nh_count || nhg_id) ? true : false;
 
-       if (is_add && bm->send_extra_data_to_zebra) {
+       if (is_add && CHECK_FLAG(bm->flags, BM_FLAG_SEND_EXTRA_DATA_TO_ZEBRA)) {
                struct aspath *aspath = info->attr->aspath;
 
                SET_FLAG(api.message, ZAPI_MESSAGE_OPAQUE);
index 22c1caacade11888911797cb9573aaae8c22eb09..b6afa391f34528e8d6ecf0b60d9aba71e2cb4c32 100644 (file)
@@ -7418,11 +7418,6 @@ char *peer_uptime(time_t uptime2, char *buf, size_t len, bool use_json,
        return buf;
 }
 
-void bgp_option_send_extra_data(bool send)
-{
-       bm->send_extra_data_to_zebra = send;
-}
-
 void bgp_master_init(struct thread_master *master, const int buffer_size)
 {
        qobj_init();
@@ -7441,9 +7436,10 @@ void bgp_master_init(struct thread_master *master, const int buffer_size)
        bm->v_establish_wait = BGP_UPDATE_DELAY_DEF;
        bm->terminating = false;
        bm->socket_buffer = buffer_size;
-       bm->send_extra_data_to_zebra = true;
        bm->wait_for_fib = false;
 
+       SET_FLAG(bm->flags, BM_FLAG_SEND_EXTRA_DATA_TO_ZEBRA);
+
        bgp_mac_init();
        /* init the rd id space.
           assign 0th index in the bitfield,
index ebc53fe192dfbfa5e09ed1c8e4ed77772052e535..775be7980e7b5565f36f3c0cc56a2ee49dd84542 100644 (file)
@@ -171,9 +171,7 @@ struct bgp_master {
 
        uint32_t flags;
 #define BM_FLAG_GRACEFUL_SHUTDOWN        (1 << 0)
-
-       /* Send extra data to zebra like aspath */
-       bool send_extra_data_to_zebra;
+#define BM_FLAG_SEND_EXTRA_DATA_TO_ZEBRA (1 << 1)
 
        bool terminating;       /* global flag that sigint terminate seen */
        QOBJ_FIELDS
@@ -2254,8 +2252,6 @@ static inline bool bgp_in_graceful_shutdown(struct bgp *bgp)
 
 extern void bgp_unset_redist_vrf_bitmaps(struct bgp *, vrf_id_t);
 
-extern void bgp_option_send_extra_data(bool send);
-
 /* For benefit of rfapi */
 extern struct peer *peer_new(struct bgp *bgp);