From 5c81a5f382d4240c799c129a66e828351403b91e Mon Sep 17 00:00:00 2001 From: vivek Date: Wed, 13 Apr 2016 15:43:15 -0700 Subject: [PATCH] BGP: Use VRF_UNKNOWN for initialization Signed-off-by: Vivek Venkatraman Reviewed-by: Donald Sharp Ticket: CM-10423 Reviewed By: CCR-4474 Testing Done: Manual (basic checks) --- bgpd/bgp_vty.c | 23 +++++++++++------------ bgpd/bgpd.c | 3 ++- bgpd/bgpd.h | 4 ++-- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c index d54e1c7e43..897898750c 100644 --- a/bgpd/bgp_vty.c +++ b/bgpd/bgp_vty.c @@ -9552,6 +9552,7 @@ DEFUN (show_bgp_vrfs, struct listnode *node, *nnode; int peers_cfg, peers_estb; json_object *json_vrf = NULL; + int vrf_id_ui; /* Skip Views. */ if (bgp->inst_type == BGP_INSTANCE_TYPE_VIEW) @@ -9586,10 +9587,11 @@ DEFUN (show_bgp_vrfs, type = "VRF"; } + vrf_id_ui = (bgp->vrf_id == VRF_UNKNOWN) ? -1 : bgp->vrf_id; if (uj) { json_object_string_add(json_vrf, "type", type); - json_object_int_add(json_vrf, "vrfId", bgp->vrf_id); + json_object_int_add(json_vrf, "vrfId", vrf_id_ui); json_object_string_add(json_vrf, "routerId", inet_ntoa (bgp->router_id)); json_object_int_add(json_vrf, "numConfiguredPeers", peers_cfg); json_object_int_add(json_vrf, "numEstablishedPeers", peers_estb); @@ -9597,8 +9599,8 @@ DEFUN (show_bgp_vrfs, json_object_object_add(json_vrfs, name, json_vrf); } else - vty_out (vty, "%4s %-5u %-16s %9u %10u %s%s", - type, bgp->vrf_id, inet_ntoa (bgp->router_id), + vty_out (vty, "%4s %-5d %-16s %9u %10u %s%s", + type, vrf_id_ui, inet_ntoa (bgp->router_id), peers_cfg, peers_estb, name, VTY_NEWLINE); } @@ -9798,26 +9800,23 @@ bgp_show_summary (struct vty *vty, struct bgp *bgp, int afi, int safi, { unsigned long ents; char memstrbuf[MTYPE_MEMSTR_LEN]; + int vrf_id_ui; + + vrf_id_ui = (bgp->vrf_id == VRF_UNKNOWN) ? -1 : bgp->vrf_id; /* Usage summary and header */ if (use_json) { json_object_string_add(json, "routerId", inet_ntoa (bgp->router_id)); json_object_int_add(json, "as", bgp->as); - - if (bgp->vrf_id) - json_object_int_add(json, "vrf-id", bgp->vrf_id); + json_object_int_add(json, "vrf-id", vrf_id_ui); } else { vty_out (vty, - "BGP router identifier %s, local AS number %u", - inet_ntoa (bgp->router_id), bgp->as); - - if (bgp->vrf_id) - vty_out (vty, " vrf-id %u", bgp->vrf_id); - + "BGP router identifier %s, local AS number %u vrf-id %d", + inet_ntoa (bgp->router_id), bgp->as, vrf_id_ui); vty_out (vty, "%s", VTY_NEWLINE); } diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c index 2583358eb9..59eab2185a 100644 --- a/bgpd/bgpd.c +++ b/bgpd/bgpd.c @@ -2749,7 +2749,8 @@ bgp_create (as_t *as, const char *name, enum bgp_instance_type inst_type) bgp_lock (bgp); bgp->inst_type = inst_type; - bgp->vrf_id = VRF_DEFAULT; /* initialization. */ + bgp->vrf_id = (inst_type == BGP_INSTANCE_TYPE_DEFAULT) ? + VRF_DEFAULT : VRF_UNKNOWN; bgp->peer_self = peer_new (bgp); if (bgp->peer_self->host) XFREE(MTYPE_BGP_PEER_HOST, bgp->peer_self->host); diff --git a/bgpd/bgpd.h b/bgpd/bgpd.h index 7846d03ca5..3fe86e4eb6 100644 --- a/bgpd/bgpd.h +++ b/bgpd/bgpd.h @@ -350,7 +350,7 @@ struct bgp #define IS_BGP_INST_KNOWN_TO_ZEBRA(bgp) \ (bgp->inst_type == BGP_INSTANCE_TYPE_DEFAULT || \ - (bgp->inst_type == BGP_INSTANCE_TYPE_VRF && bgp->vrf_id != VRF_DEFAULT)) + (bgp->inst_type == BGP_INSTANCE_TYPE_VRF && bgp->vrf_id != VRF_UNKNOWN)) /* BGP peer-group support. */ struct peer_group @@ -1474,7 +1474,7 @@ bgp_vrf_unlink (struct bgp *bgp, struct vrf *vrf) vrf->info = NULL; bgp_unlock (bgp); } - bgp->vrf_id = VRF_DEFAULT; + bgp->vrf_id = VRF_UNKNOWN; } #endif /* _QUAGGA_BGPD_H */ -- 2.39.5