diff options
-rw-r--r-- | bgpd/bgp_vty.c | 40 |
1 files changed, 26 insertions, 14 deletions
diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c index 1a1a9b9b..94796c74 100644 --- a/bgpd/bgp_vty.c +++ b/bgpd/bgp_vty.c @@ -57,17 +57,20 @@ extern struct in_addr router_id_zebra; afi_t bgp_node_afi (struct vty *vty) { + afi_t afi; switch (vty->node) { case BGP_IPV6_NODE: case BGP_IPV6M_NODE: case BGP_VPNV6_NODE: case BGP_ENCAPV6_NODE: - return AFI_IP6; + afi = AFI_IP6; + break; + default: + afi = AFI_IP; break; } - - return AFI_IP; + return afi; } /* Utility function to get subsequent address family from current @@ -75,17 +78,26 @@ bgp_node_afi (struct vty *vty) safi_t bgp_node_safi (struct vty *vty) { - if (vty->node == BGP_ENCAP_NODE) - return SAFI_ENCAP; - if (vty->node == BGP_ENCAPV6_NODE) - return SAFI_ENCAP; - if (vty->node == BGP_VPNV6_NODE) - return SAFI_MPLS_VPN; - if (vty->node == BGP_VPNV4_NODE) - return SAFI_MPLS_VPN; - if (vty->node == BGP_IPV4M_NODE || vty->node == BGP_IPV6M_NODE) - return SAFI_MULTICAST; - return SAFI_UNICAST; + safi_t safi; + switch (vty->node) + { + case BGP_ENCAP_NODE: + case BGP_ENCAPV6_NODE: + safi = SAFI_ENCAP; + break; + case BGP_VPNV4_NODE: + case BGP_VPNV6_NODE: + safi = SAFI_MPLS_VPN; + break; + case BGP_IPV4M_NODE: + case BGP_IPV6M_NODE: + safi = SAFI_MULTICAST; + break; + default: + safi = SAFI_UNICAST; + break; + } + return safi; } int |