bgpd: Somewhat optimize string returns

There is no need for a cascading series of if statements
for the afi.  Clean it up slightly

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
This commit is contained in:
Donald Sharp 2020-12-17 16:33:11 -05:00
parent ff4a6e5d94
commit 7d0d37de0c

View File

@ -209,34 +209,38 @@ static enum node_type bgp_node_type(afi_t afi, safi_t safi)
static const char *get_afi_safi_vty_str(afi_t afi, safi_t safi) static const char *get_afi_safi_vty_str(afi_t afi, safi_t safi)
{ {
if (afi == AFI_IP && safi == SAFI_UNICAST) if (afi == AFI_IP) {
return "IPv4 Unicast"; if (safi == SAFI_UNICAST)
else if (afi == AFI_IP && safi == SAFI_MULTICAST) return "IPv4 Unicast";
return "IPv4 Multicast"; if (safi == SAFI_MULTICAST)
else if (afi == AFI_IP && safi == SAFI_LABELED_UNICAST) return "IPv4 Multicast";
return "IPv4 Labeled Unicast"; if (safi == SAFI_LABELED_UNICAST)
else if (afi == AFI_IP && safi == SAFI_MPLS_VPN) return "IPv4 Labeled Unicast";
return "IPv4 VPN"; if (safi == SAFI_MPLS_VPN)
else if (afi == AFI_IP && safi == SAFI_ENCAP) return "IPv4 VPN";
return "IPv4 Encap"; if (safi == SAFI_ENCAP)
else if (afi == AFI_IP && safi == SAFI_FLOWSPEC) return "IPv4 Encap";
return "IPv4 Flowspec"; if (safi == SAFI_FLOWSPEC)
else if (afi == AFI_IP6 && safi == SAFI_UNICAST) return "IPv4 Flowspec";
return "IPv6 Unicast"; } else if (afi == AFI_IP6) {
else if (afi == AFI_IP6 && safi == SAFI_MULTICAST) if (safi == SAFI_UNICAST)
return "IPv6 Multicast"; return "IPv6 Unicast";
else if (afi == AFI_IP6 && safi == SAFI_LABELED_UNICAST) if (safi == SAFI_MULTICAST)
return "IPv6 Labeled Unicast"; return "IPv6 Multicast";
else if (afi == AFI_IP6 && safi == SAFI_MPLS_VPN) if (safi == SAFI_LABELED_UNICAST)
return "IPv6 VPN"; return "IPv6 Labeled Unicast";
else if (afi == AFI_IP6 && safi == SAFI_ENCAP) if (safi == SAFI_MPLS_VPN)
return "IPv6 Encap"; return "IPv6 VPN";
else if (afi == AFI_IP6 && safi == SAFI_FLOWSPEC) if (safi == SAFI_ENCAP)
return "IPv6 Flowspec"; return "IPv6 Encap";
else if (afi == AFI_L2VPN && safi == SAFI_EVPN) if (safi == SAFI_FLOWSPEC)
return "L2VPN EVPN"; return "IPv6 Flowspec";
else } else if (afi == AFI_L2VPN) {
return "Unknown"; if (safi == SAFI_EVPN)
return "L2VPN EVPN";
}
return "Unknown";
} }
/* /*
@ -247,34 +251,38 @@ static const char *get_afi_safi_vty_str(afi_t afi, safi_t safi)
*/ */
static const char *get_afi_safi_json_str(afi_t afi, safi_t safi) static const char *get_afi_safi_json_str(afi_t afi, safi_t safi)
{ {
if (afi == AFI_IP && safi == SAFI_UNICAST) if (afi == AFI_IP) {
return "ipv4Unicast"; if (safi == SAFI_UNICAST)
else if (afi == AFI_IP && safi == SAFI_MULTICAST) return "ipv4Unicast";
return "ipv4Multicast"; if (safi == SAFI_MULTICAST)
else if (afi == AFI_IP && safi == SAFI_LABELED_UNICAST) return "ipv4Multicast";
return "ipv4LabeledUnicast"; if (safi == SAFI_LABELED_UNICAST)
else if (afi == AFI_IP && safi == SAFI_MPLS_VPN) return "ipv4LabeledUnicast";
return "ipv4Vpn"; if (safi == SAFI_MPLS_VPN)
else if (afi == AFI_IP && safi == SAFI_ENCAP) return "ipv4Vpn";
return "ipv4Encap"; if (safi == SAFI_ENCAP)
else if (afi == AFI_IP && safi == SAFI_FLOWSPEC) return "ipv4Encap";
return "ipv4Flowspec"; if (safi == SAFI_FLOWSPEC)
else if (afi == AFI_IP6 && safi == SAFI_UNICAST) return "ipv4Flowspec";
return "ipv6Unicast"; } else if (afi == AFI_IP6) {
else if (afi == AFI_IP6 && safi == SAFI_MULTICAST) if (safi == SAFI_UNICAST)
return "ipv6Multicast"; return "ipv6Unicast";
else if (afi == AFI_IP6 && safi == SAFI_LABELED_UNICAST) if (safi == SAFI_MULTICAST)
return "ipv6LabeledUnicast"; return "ipv6Multicast";
else if (afi == AFI_IP6 && safi == SAFI_MPLS_VPN) if (safi == SAFI_LABELED_UNICAST)
return "ipv6Vpn"; return "ipv6LabeledUnicast";
else if (afi == AFI_IP6 && safi == SAFI_ENCAP) if (safi == SAFI_MPLS_VPN)
return "ipv6Encap"; return "ipv6Vpn";
else if (afi == AFI_IP6 && safi == SAFI_FLOWSPEC) if (safi == SAFI_ENCAP)
return "ipv6Flowspec"; return "ipv6Encap";
else if (afi == AFI_L2VPN && safi == SAFI_EVPN) if (safi == SAFI_FLOWSPEC)
return "l2VpnEvpn"; return "ipv6Flowspec";
else } else if (afi == AFI_L2VPN) {
return "Unknown"; if (safi == SAFI_EVPN)
return "l2VpnEvpn";
}
return "Unknown";
} }
/* return string maps to afi-safi specific container names /* return string maps to afi-safi specific container names
@ -282,30 +290,34 @@ static const char *get_afi_safi_json_str(afi_t afi, safi_t safi)
*/ */
const char *bgp_afi_safi_get_container_str(afi_t afi, safi_t safi) const char *bgp_afi_safi_get_container_str(afi_t afi, safi_t safi)
{ {
if (afi == AFI_IP && safi == SAFI_UNICAST) if (afi == AFI_IP) {
return "ipv4-unicast"; if (safi == SAFI_UNICAST)
else if (afi == AFI_IP && safi == SAFI_MULTICAST) return "ipv4-unicast";
return "ipv4-multicast"; if (safi == SAFI_MULTICAST)
else if (afi == AFI_IP && safi == SAFI_LABELED_UNICAST) return "ipv4-multicast";
return "ipv4-labeled-unicast"; if (safi == SAFI_LABELED_UNICAST)
else if (afi == AFI_IP && safi == SAFI_MPLS_VPN) return "ipv4-labeled-unicast";
return "l3vpn-ipv4-unicast"; if (safi == SAFI_MPLS_VPN)
else if (afi == AFI_IP && safi == SAFI_FLOWSPEC) return "l3vpn-ipv4-unicast";
return "ipv4-flowspec"; if (safi == SAFI_FLOWSPEC)
else if (afi == AFI_IP6 && safi == SAFI_UNICAST) return "ipv4-flowspec";
return "ipv6-unicast"; } else if (afi == AFI_IP6) {
else if (afi == AFI_IP6 && safi == SAFI_MULTICAST) if (safi == SAFI_UNICAST)
return "ipv6-multicast"; return "ipv6-unicast";
else if (afi == AFI_IP6 && safi == SAFI_LABELED_UNICAST) if (safi == SAFI_MULTICAST)
return "ipv6-labeled-unicast"; return "ipv6-multicast";
else if (afi == AFI_IP6 && safi == SAFI_MPLS_VPN) if (safi == SAFI_LABELED_UNICAST)
return "l3vpn-ipv6-unicast"; return "ipv6-labeled-unicast";
else if (afi == AFI_IP6 && safi == SAFI_FLOWSPEC) if (safi == SAFI_MPLS_VPN)
return "ipv6-flowspec"; return "l3vpn-ipv6-unicast";
else if (afi == AFI_L2VPN && safi == SAFI_EVPN) if (safi == SAFI_FLOWSPEC)
return "l2vpn-evpn"; return "ipv6-flowspec";
else } else if (afi == AFI_L2VPN) {
return "Unknown"; if (safi == SAFI_EVPN)
return "l2vpn-evpn";
}
return "Unknown";
} }
/* Utility function to get address family from current node. */ /* Utility function to get address family from current node. */