mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-04-28 13:20:12 +00:00
commit
96475dfde9
@ -174,9 +174,11 @@ bool bgp_addpath_tx_path(enum bgp_addpath_strat strat, struct bgp_path_info *pi)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
default:
|
||||
case BGP_ADDPATH_MAX:
|
||||
return false;
|
||||
}
|
||||
|
||||
assert(!"Reached end of function we should never hit");
|
||||
}
|
||||
|
||||
static void bgp_addpath_flush_type_rn(struct bgp *bgp, afi_t afi, safi_t safi,
|
||||
|
@ -1228,7 +1228,7 @@ static int evpn_zebra_install(struct bgp *bgp, struct bgpevpn *vpn,
|
||||
{
|
||||
int ret;
|
||||
uint8_t flags;
|
||||
int flood_control;
|
||||
int flood_control = VXLAN_FLOOD_DISABLED;
|
||||
uint32_t seq;
|
||||
|
||||
if (p->prefix.route_type == BGP_EVPN_MAC_IP_ROUTE) {
|
||||
@ -1298,7 +1298,12 @@ static int evpn_zebra_install(struct bgp *bgp, struct bgpevpn *vpn,
|
||||
flood_control = VXLAN_FLOOD_PIM_SM;
|
||||
break;
|
||||
|
||||
default:
|
||||
case PMSI_TNLTYPE_NO_INFO:
|
||||
case PMSI_TNLTYPE_RSVP_TE_P2MP:
|
||||
case PMSI_TNLTYPE_MLDP_P2MP:
|
||||
case PMSI_TNLTYPE_PIM_SSM:
|
||||
case PMSI_TNLTYPE_PIM_BIDIR:
|
||||
case PMSI_TNLTYPE_MLDP_MP2MP:
|
||||
flood_control = VXLAN_FLOOD_DISABLED;
|
||||
break;
|
||||
}
|
||||
|
@ -231,7 +231,7 @@ int bgp_flowspec_ip_address(enum bgp_flowspec_util_nlri_t type,
|
||||
prefix_copy(prefix, &prefix_local);
|
||||
break;
|
||||
case BGP_FLOWSPEC_VALIDATE_ONLY:
|
||||
default:
|
||||
case BGP_FLOWSPEC_RETURN_JSON:
|
||||
break;
|
||||
}
|
||||
return offset;
|
||||
@ -326,7 +326,7 @@ int bgp_flowspec_op_decode(enum bgp_flowspec_util_nlri_t type,
|
||||
mval++;
|
||||
break;
|
||||
case BGP_FLOWSPEC_VALIDATE_ONLY:
|
||||
default:
|
||||
case BGP_FLOWSPEC_RETURN_JSON:
|
||||
/* no action */
|
||||
break;
|
||||
}
|
||||
@ -436,7 +436,7 @@ int bgp_flowspec_bitmask_decode(enum bgp_flowspec_util_nlri_t type,
|
||||
mval++;
|
||||
break;
|
||||
case BGP_FLOWSPEC_VALIDATE_ONLY:
|
||||
default:
|
||||
case BGP_FLOWSPEC_RETURN_JSON:
|
||||
/* no action */
|
||||
break;
|
||||
}
|
||||
|
@ -2397,7 +2397,7 @@ void bgp_fsm_nht_update(struct peer *peer, bool has_valid_nexthops)
|
||||
BGP_EVENT_ADD(peer, TCP_fatal_error);
|
||||
case Clearing:
|
||||
case Deleted:
|
||||
default:
|
||||
case BGP_STATUS_MAX:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -1264,7 +1264,7 @@ bgp_lookup_route(struct bgp *l3vpn_bgp, struct bgp_dest **dest,
|
||||
== 0)
|
||||
return pi;
|
||||
break;
|
||||
default:
|
||||
case IPADDR_NONE:
|
||||
return pi;
|
||||
}
|
||||
}
|
||||
@ -1627,13 +1627,13 @@ static uint8_t *mplsL3vpnRteTable(struct variable *v, oid name[],
|
||||
case BLACKHOLE_REJECT:
|
||||
return SNMP_INTEGER(
|
||||
MPLSL3VPNVRFRTECIDRTYPEREJECT);
|
||||
default:
|
||||
case BLACKHOLE_UNSPEC:
|
||||
case BLACKHOLE_NULL:
|
||||
case BLACKHOLE_ADMINPROHIB:
|
||||
return SNMP_INTEGER(
|
||||
MPLSL3VPNVRFRTECIDRTYPEBLACKHOLE);
|
||||
}
|
||||
default:
|
||||
return SNMP_INTEGER(
|
||||
MPLSL3VPNVRFRTECIDRTYPEOTHER);
|
||||
break;
|
||||
}
|
||||
} else
|
||||
return SNMP_INTEGER(MPLSL3VPNVRFRTECIDRTYPEOTHER);
|
||||
|
@ -167,7 +167,8 @@ void bgp_capability_vty_out(struct vty *vty, struct peer *peer, bool use_json,
|
||||
"capabilityErrorMultiProtocolAfi",
|
||||
"L2VPN");
|
||||
break;
|
||||
default:
|
||||
case AFI_UNSPEC:
|
||||
case AFI_MAX:
|
||||
json_object_int_add(
|
||||
json_cap,
|
||||
"capabilityErrorMultiProtocolAfiUnknown",
|
||||
@ -217,7 +218,8 @@ void bgp_capability_vty_out(struct vty *vty, struct peer *peer, bool use_json,
|
||||
"capabilityErrorMultiProtocolSafi",
|
||||
"flowspec");
|
||||
break;
|
||||
default:
|
||||
case SAFI_UNSPEC:
|
||||
case SAFI_MAX:
|
||||
json_object_int_add(
|
||||
json_cap,
|
||||
"capabilityErrorMultiProtocolSafiUnknown",
|
||||
@ -237,7 +239,8 @@ void bgp_capability_vty_out(struct vty *vty, struct peer *peer, bool use_json,
|
||||
case AFI_L2VPN:
|
||||
vty_out(vty, "AFI L2VPN, ");
|
||||
break;
|
||||
default:
|
||||
case AFI_UNSPEC:
|
||||
case AFI_MAX:
|
||||
vty_out(vty, "AFI Unknown %d, ",
|
||||
ntohs(mpc.afi));
|
||||
break;
|
||||
@ -264,7 +267,8 @@ void bgp_capability_vty_out(struct vty *vty, struct peer *peer, bool use_json,
|
||||
case SAFI_EVPN:
|
||||
vty_out(vty, "SAFI EVPN");
|
||||
break;
|
||||
default:
|
||||
case SAFI_UNSPEC:
|
||||
case SAFI_MAX:
|
||||
vty_out(vty, "SAFI Unknown %d ",
|
||||
mpc.safi);
|
||||
break;
|
||||
|
@ -12058,9 +12058,16 @@ const struct prefix_rd *bgp_rd_from_dest(const struct bgp_dest *dest,
|
||||
case SAFI_ENCAP:
|
||||
case SAFI_EVPN:
|
||||
return (struct prefix_rd *)(bgp_dest_get_prefix(dest));
|
||||
default:
|
||||
case SAFI_UNSPEC:
|
||||
case SAFI_UNICAST:
|
||||
case SAFI_MULTICAST:
|
||||
case SAFI_LABELED_UNICAST:
|
||||
case SAFI_FLOWSPEC:
|
||||
case SAFI_MAX:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
assert(!"Reached end of function when we were not expecting it");
|
||||
}
|
||||
|
||||
/* Display specified route of BGP table. */
|
||||
@ -13285,7 +13292,8 @@ static void bgp_table_stats_walker(struct thread *t)
|
||||
case AFI_L2VPN:
|
||||
space = EVPN_ROUTE_PREFIXLEN;
|
||||
break;
|
||||
default:
|
||||
case AFI_UNSPEC:
|
||||
case AFI_MAX:
|
||||
return;
|
||||
}
|
||||
|
||||
@ -13540,7 +13548,8 @@ static int bgp_table_stats_single(struct vty *vty, struct bgp *bgp, afi_t afi,
|
||||
case AFI_L2VPN:
|
||||
bitlen = EVPN_ROUTE_PREFIXLEN;
|
||||
break;
|
||||
default:
|
||||
case AFI_UNSPEC:
|
||||
case AFI_MAX:
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -178,10 +178,14 @@ static enum node_type bgp_node_type(afi_t afi, safi_t safi)
|
||||
return BGP_VPNV4_NODE;
|
||||
case SAFI_FLOWSPEC:
|
||||
return BGP_FLOWSPECV4_NODE;
|
||||
default:
|
||||
case SAFI_UNSPEC:
|
||||
case SAFI_ENCAP:
|
||||
case SAFI_EVPN:
|
||||
case SAFI_MAX:
|
||||
/* not expected */
|
||||
return BGP_IPV4_NODE;
|
||||
}
|
||||
break;
|
||||
case AFI_IP6:
|
||||
switch (safi) {
|
||||
case SAFI_UNICAST:
|
||||
@ -194,10 +198,14 @@ static enum node_type bgp_node_type(afi_t afi, safi_t safi)
|
||||
return BGP_VPNV6_NODE;
|
||||
case SAFI_FLOWSPEC:
|
||||
return BGP_FLOWSPECV6_NODE;
|
||||
default:
|
||||
/* not expected */
|
||||
case SAFI_UNSPEC:
|
||||
case SAFI_ENCAP:
|
||||
case SAFI_EVPN:
|
||||
case SAFI_MAX:
|
||||
/* not expected and the return value seems wrong */
|
||||
return BGP_IPV4_NODE;
|
||||
}
|
||||
break;
|
||||
case AFI_L2VPN:
|
||||
return BGP_EVPN_NODE;
|
||||
case AFI_UNSPEC:
|
||||
@ -535,7 +543,9 @@ static const char *get_bgp_default_af_flag(afi_t afi, safi_t safi)
|
||||
return "ipv4-labeled-unicast";
|
||||
case SAFI_FLOWSPEC:
|
||||
return "ipv4-flowspec";
|
||||
default:
|
||||
case SAFI_UNSPEC:
|
||||
case SAFI_EVPN:
|
||||
case SAFI_MAX:
|
||||
return "unknown-afi/safi";
|
||||
}
|
||||
break;
|
||||
@ -553,7 +563,9 @@ static const char *get_bgp_default_af_flag(afi_t afi, safi_t safi)
|
||||
return "ipv6-labeled-unicast";
|
||||
case SAFI_FLOWSPEC:
|
||||
return "ipv6-flowspec";
|
||||
default:
|
||||
case SAFI_UNSPEC:
|
||||
case SAFI_EVPN:
|
||||
case SAFI_MAX:
|
||||
return "unknown-afi/safi";
|
||||
}
|
||||
break;
|
||||
@ -561,15 +573,24 @@ static const char *get_bgp_default_af_flag(afi_t afi, safi_t safi)
|
||||
switch (safi) {
|
||||
case SAFI_EVPN:
|
||||
return "l2vpn-evpn";
|
||||
default:
|
||||
case SAFI_UNICAST:
|
||||
case SAFI_MULTICAST:
|
||||
case SAFI_MPLS_VPN:
|
||||
case SAFI_ENCAP:
|
||||
case SAFI_LABELED_UNICAST:
|
||||
case SAFI_FLOWSPEC:
|
||||
case SAFI_UNSPEC:
|
||||
case SAFI_MAX:
|
||||
return "unknown-afi/safi";
|
||||
}
|
||||
break;
|
||||
case AFI_UNSPEC:
|
||||
case AFI_MAX:
|
||||
return "unknown-afi/safi";
|
||||
}
|
||||
/* all AFIs are accounted for above, so this shouldn't happen */
|
||||
return "unknown-afi/safi";
|
||||
|
||||
assert(!"Reached end of function where we did not expect to");
|
||||
}
|
||||
|
||||
int bgp_get_vty(struct bgp **bgp, as_t *as, const char *name,
|
||||
|
23
bgpd/bgpd.h
23
bgpd/bgpd.h
@ -2421,7 +2421,9 @@ static inline int afindex(afi_t afi, safi_t safi)
|
||||
return BGP_AF_IPV4_ENCAP;
|
||||
case SAFI_FLOWSPEC:
|
||||
return BGP_AF_IPV4_FLOWSPEC;
|
||||
default:
|
||||
case SAFI_EVPN:
|
||||
case SAFI_UNSPEC:
|
||||
case SAFI_MAX:
|
||||
return BGP_AF_MAX;
|
||||
}
|
||||
break;
|
||||
@ -2439,7 +2441,9 @@ static inline int afindex(afi_t afi, safi_t safi)
|
||||
return BGP_AF_IPV6_ENCAP;
|
||||
case SAFI_FLOWSPEC:
|
||||
return BGP_AF_IPV6_FLOWSPEC;
|
||||
default:
|
||||
case SAFI_EVPN:
|
||||
case SAFI_UNSPEC:
|
||||
case SAFI_MAX:
|
||||
return BGP_AF_MAX;
|
||||
}
|
||||
break;
|
||||
@ -2447,12 +2451,23 @@ static inline int afindex(afi_t afi, safi_t safi)
|
||||
switch (safi) {
|
||||
case SAFI_EVPN:
|
||||
return BGP_AF_L2VPN_EVPN;
|
||||
default:
|
||||
case SAFI_UNICAST:
|
||||
case SAFI_MULTICAST:
|
||||
case SAFI_LABELED_UNICAST:
|
||||
case SAFI_MPLS_VPN:
|
||||
case SAFI_ENCAP:
|
||||
case SAFI_FLOWSPEC:
|
||||
case SAFI_UNSPEC:
|
||||
case SAFI_MAX:
|
||||
return BGP_AF_MAX;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
case AFI_UNSPEC:
|
||||
case AFI_MAX:
|
||||
return BGP_AF_MAX;
|
||||
}
|
||||
|
||||
assert(!"Reached end of function we should never hit");
|
||||
}
|
||||
|
||||
/* If the peer is not a peer-group but is bound to a peer-group return 1 */
|
||||
|
@ -150,8 +150,8 @@ rfapi_tunneltype_option_to_tlv(struct bgp *bgp, struct rfapi_ip_addr *ea,
|
||||
bgp_encap_type_pbb_to_tlv(&tto->bgpinfo.pbb, attr);
|
||||
break;
|
||||
|
||||
default:
|
||||
assert(0);
|
||||
case BGP_ENCAP_TYPE_RESERVED:
|
||||
assert(!"Cannot process BGP_ENCAP_TYPE_RESERVED");
|
||||
}
|
||||
return tto->type;
|
||||
}
|
||||
@ -737,7 +737,7 @@ void rfapi_print_tunneltype_option(void *stream, int column_offset,
|
||||
print_encap_type_pbb(stream, column_offset, &tto->bgpinfo.pbb);
|
||||
break;
|
||||
|
||||
default:
|
||||
assert(0);
|
||||
case BGP_ENCAP_TYPE_RESERVED:
|
||||
assert(!"Cannot process BGP_ENCAP_TYPE_RESERVED");
|
||||
}
|
||||
}
|
||||
|
@ -260,8 +260,14 @@ void rfapiCheckRefcount(struct agg_node *rn, safi_t safi, int lockoffset)
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
assert(0);
|
||||
case SAFI_UNSPEC:
|
||||
case SAFI_UNICAST:
|
||||
case SAFI_MULTICAST:
|
||||
case SAFI_EVPN:
|
||||
case SAFI_LABELED_UNICAST:
|
||||
case SAFI_FLOWSPEC:
|
||||
case SAFI_MAX:
|
||||
assert(!"Passed in safi should be impossible");
|
||||
}
|
||||
}
|
||||
|
||||
@ -2967,7 +2973,9 @@ static void rfapiBgpInfoFilteredImportEncap(
|
||||
rt = import_table->imported_encap[afi];
|
||||
break;
|
||||
|
||||
default:
|
||||
case AFI_UNSPEC:
|
||||
case AFI_L2VPN:
|
||||
case AFI_MAX:
|
||||
flog_err(EC_LIB_DEVELOPMENT, "%s: bad afi %d", __func__, afi);
|
||||
return;
|
||||
}
|
||||
@ -3416,7 +3424,8 @@ void rfapiBgpInfoFilteredImportVPN(
|
||||
rt = import_table->imported_vpn[afi];
|
||||
break;
|
||||
|
||||
default:
|
||||
case AFI_UNSPEC:
|
||||
case AFI_MAX:
|
||||
flog_err(EC_LIB_DEVELOPMENT, "%s: bad afi %d", __func__, afi);
|
||||
return;
|
||||
}
|
||||
@ -3808,11 +3817,19 @@ rfapiBgpInfoFilteredImportFunction(safi_t safi)
|
||||
case SAFI_ENCAP:
|
||||
return rfapiBgpInfoFilteredImportEncap;
|
||||
|
||||
default:
|
||||
case SAFI_UNSPEC:
|
||||
case SAFI_UNICAST:
|
||||
case SAFI_MULTICAST:
|
||||
case SAFI_EVPN:
|
||||
case SAFI_LABELED_UNICAST:
|
||||
case SAFI_FLOWSPEC:
|
||||
case SAFI_MAX:
|
||||
/* not expected */
|
||||
flog_err(EC_LIB_DEVELOPMENT, "%s: bad safi %d", __func__, safi);
|
||||
return rfapiBgpInfoFilteredImportBadSafi;
|
||||
}
|
||||
|
||||
assert(!"Reached end of function when we were not expecting to");
|
||||
}
|
||||
|
||||
void rfapiProcessUpdate(struct peer *peer,
|
||||
@ -4028,8 +4045,8 @@ static void rfapiProcessPeerDownRt(struct peer *peer,
|
||||
{
|
||||
struct agg_node *rn;
|
||||
struct bgp_path_info *bpi;
|
||||
struct agg_table *rt;
|
||||
void (*timer_service_func)(struct thread *);
|
||||
struct agg_table *rt = NULL;
|
||||
void (*timer_service_func)(struct thread *) = NULL;
|
||||
|
||||
assert(afi == AFI_IP || afi == AFI_IP6);
|
||||
|
||||
@ -4044,14 +4061,19 @@ static void rfapiProcessPeerDownRt(struct peer *peer,
|
||||
rt = import_table->imported_encap[afi];
|
||||
timer_service_func = rfapiWithdrawTimerEncap;
|
||||
break;
|
||||
default:
|
||||
case SAFI_UNSPEC:
|
||||
case SAFI_UNICAST:
|
||||
case SAFI_MULTICAST:
|
||||
case SAFI_EVPN:
|
||||
case SAFI_LABELED_UNICAST:
|
||||
case SAFI_FLOWSPEC:
|
||||
case SAFI_MAX:
|
||||
/* Suppress uninitialized variable warning */
|
||||
rt = NULL;
|
||||
timer_service_func = NULL;
|
||||
assert(0);
|
||||
}
|
||||
|
||||
|
||||
for (rn = agg_route_top(rt); rn; rn = agg_route_next(rn)) {
|
||||
for (bpi = rn->info; bpi; bpi = bpi->next) {
|
||||
if (bpi->peer == peer) {
|
||||
|
@ -244,7 +244,13 @@ void rfapiMonitorExtraFlush(safi_t safi, struct agg_node *rn)
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
case SAFI_UNSPEC:
|
||||
case SAFI_UNICAST:
|
||||
case SAFI_MULTICAST:
|
||||
case SAFI_EVPN:
|
||||
case SAFI_LABELED_UNICAST:
|
||||
case SAFI_FLOWSPEC:
|
||||
case SAFI_MAX:
|
||||
assert(0);
|
||||
}
|
||||
XFREE(MTYPE_RFAPI_IT_EXTRA, hie);
|
||||
@ -306,7 +312,13 @@ void rfapiMonitorExtraPrune(safi_t safi, struct agg_node *rn)
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
case SAFI_UNSPEC:
|
||||
case SAFI_UNICAST:
|
||||
case SAFI_MULTICAST:
|
||||
case SAFI_EVPN:
|
||||
case SAFI_LABELED_UNICAST:
|
||||
case SAFI_FLOWSPEC:
|
||||
case SAFI_MAX:
|
||||
assert(0);
|
||||
}
|
||||
XFREE(MTYPE_RFAPI_IT_EXTRA, hie);
|
||||
|
@ -1863,7 +1863,7 @@ void rfapiPrintNhl(void *stream, struct rfapi_next_hop_entry *next_hops)
|
||||
vo->v.local_nexthop.cost, HVTYNL);
|
||||
break;
|
||||
|
||||
default:
|
||||
case RFAPI_VN_OPTION_TYPE_INTERNAL_RD:
|
||||
fp(out,
|
||||
"%svn option type %d (unknown)%s",
|
||||
offset, vo->type, HVTYNL);
|
||||
@ -1881,7 +1881,7 @@ void rfapiPrintNhl(void *stream, struct rfapi_next_hop_entry *next_hops)
|
||||
rfapi_print_tunneltype_option(
|
||||
stream, 8, &uo->v.tunnel);
|
||||
break;
|
||||
default:
|
||||
case RFAPI_UN_OPTION_TYPE_PROVISIONAL:
|
||||
fp(out, "%sUN Option type %d%s", offset,
|
||||
uo->type, vty_newline);
|
||||
break;
|
||||
@ -4175,7 +4175,8 @@ static int rfapi_vty_show_nve_summary(struct vty *vty,
|
||||
case SHOW_NVE_SUMMARY_RESPONSES:
|
||||
rfapiRibShowResponsesSummary(vty);
|
||||
|
||||
default:
|
||||
case SHOW_NVE_SUMMARY_UNKNOWN_NVES:
|
||||
case SHOW_NVE_SUMMARY_MAX:
|
||||
break;
|
||||
}
|
||||
vty_out(vty, "\n");
|
||||
|
@ -351,6 +351,7 @@ AC_C_FLAG([-Wall])
|
||||
AC_C_FLAG([-Wextra])
|
||||
AC_C_FLAG([-Wformat-nonliteral])
|
||||
AC_C_FLAG([-Wformat-security])
|
||||
AC_C_FLAG([-Wswitch-enum])
|
||||
AC_C_FLAG([-Wstrict-prototypes])
|
||||
AC_C_FLAG([-Wmissing-prototypes])
|
||||
AC_C_FLAG([-Wmissing-declarations])
|
||||
|
@ -484,9 +484,11 @@ const char *isis_adj_yang_state(enum isis_adj_state state)
|
||||
return "up";
|
||||
case ISIS_ADJ_INITIALIZING:
|
||||
return "init";
|
||||
default:
|
||||
case ISIS_ADJ_UNKNOWN:
|
||||
return "failed";
|
||||
}
|
||||
|
||||
assert(!"Reached end of function where we are not expecting to");
|
||||
}
|
||||
|
||||
void isis_adj_expire(struct thread *thread)
|
||||
@ -954,8 +956,9 @@ int isis_adj_usage2levels(enum isis_adj_usage usage)
|
||||
return IS_LEVEL_2;
|
||||
case ISIS_ADJ_LEVEL1AND2:
|
||||
return IS_LEVEL_1 | IS_LEVEL_2;
|
||||
default:
|
||||
break;
|
||||
case ISIS_ADJ_NONE:
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
|
||||
assert(!"Reached end of function where we are not expecting to");
|
||||
}
|
||||
|
@ -77,9 +77,11 @@ static const char *pdu_counter_index_to_name(enum pdu_counter_index index)
|
||||
return "L1 PSNP";
|
||||
case L2_PARTIAL_SEQ_NUM_INDEX:
|
||||
return "L2 PSNP";
|
||||
default:
|
||||
case PDU_COUNTER_SIZE:
|
||||
return "???????";
|
||||
}
|
||||
|
||||
assert(!"Reached end of function where we were not expecting to");
|
||||
}
|
||||
|
||||
void pdu_counter_count(pdu_counter_t counter, uint8_t pdu_type)
|
||||
|
@ -1587,8 +1587,8 @@ static void spf_path_process(struct isis_spftree *spftree,
|
||||
vertex->N.ip.priority = priority;
|
||||
if (vertex->depth == 1 || listcount(vertex->Adj_N) > 0) {
|
||||
struct isis_spftree *pre_spftree;
|
||||
struct route_table *route_table;
|
||||
bool allow_ecmp;
|
||||
struct route_table *route_table = NULL;
|
||||
bool allow_ecmp = false;
|
||||
|
||||
switch (spftree->type) {
|
||||
case SPF_TYPE_RLFA:
|
||||
@ -1606,7 +1606,8 @@ static void spf_path_process(struct isis_spftree *spftree,
|
||||
return;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
case SPF_TYPE_FORWARD:
|
||||
case SPF_TYPE_REVERSE:
|
||||
break;
|
||||
}
|
||||
|
||||
@ -1624,7 +1625,8 @@ static void spf_path_process(struct isis_spftree *spftree,
|
||||
pre_spftree->lfa.protection_counters
|
||||
.tilfa[vertex->N.ip.priority] += 1;
|
||||
break;
|
||||
default:
|
||||
case SPF_TYPE_FORWARD:
|
||||
case SPF_TYPE_REVERSE:
|
||||
route_table = spftree->route_table;
|
||||
allow_ecmp = true;
|
||||
|
||||
@ -1699,7 +1701,14 @@ static void isis_spf_loop(struct isis_spftree *spftree,
|
||||
VTYPE_IPREACH_TE))
|
||||
continue;
|
||||
break;
|
||||
default:
|
||||
case VTYPE_PSEUDO_IS:
|
||||
case VTYPE_PSEUDO_TE_IS:
|
||||
case VTYPE_NONPSEUDO_IS:
|
||||
case VTYPE_NONPSEUDO_TE_IS:
|
||||
case VTYPE_ES:
|
||||
case VTYPE_IPREACH_TE:
|
||||
case VTYPE_IP6REACH_INTERNAL:
|
||||
case VTYPE_IP6REACH_EXTERNAL:
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -1344,7 +1344,8 @@ void isis_te_lsp_event(struct isis_lsp *lsp, enum lsp_event event)
|
||||
case LSP_DEL:
|
||||
isis_te_delete_lsp(area->mta, lsp0);
|
||||
break;
|
||||
default:
|
||||
case LSP_UNKNOWN:
|
||||
case LSP_TICK:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -2340,9 +2340,11 @@ static const char *pdu_counter_index_to_name_json(enum pdu_counter_index index)
|
||||
return "l1-psnp";
|
||||
case L2_PARTIAL_SEQ_NUM_INDEX:
|
||||
return "l2-psnp";
|
||||
default:
|
||||
case PDU_COUNTER_SIZE:
|
||||
return "???????";
|
||||
}
|
||||
|
||||
assert(!"Reached end of function where we are not expecting to");
|
||||
}
|
||||
|
||||
static void common_isis_summary_json(struct json_object *json,
|
||||
|
10
ldpd/lde.c
10
ldpd/lde.c
@ -760,7 +760,7 @@ lde_update_label(struct fec_node *fn)
|
||||
fn->fec.u.ipv6.prefixlen) != FILTER_PERMIT)
|
||||
return (NO_LABEL);
|
||||
break;
|
||||
default:
|
||||
case FEC_TYPE_PWID:
|
||||
break;
|
||||
}
|
||||
|
||||
@ -790,7 +790,7 @@ lde_update_label(struct fec_node *fn)
|
||||
fn->fec.u.ipv6.prefixlen) != FILTER_PERMIT)
|
||||
return (MPLS_LABEL_IMPLICIT_NULL);
|
||||
return MPLS_LABEL_IPV6_EXPLICIT_NULL;
|
||||
default:
|
||||
case FEC_TYPE_PWID:
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -929,7 +929,7 @@ lde_fec2prefix(const struct fec *fec, struct prefix *prefix)
|
||||
prefix->u.prefix6 = fec->u.ipv6.prefix;
|
||||
prefix->prefixlen = fec->u.ipv6.prefixlen;
|
||||
break;
|
||||
default:
|
||||
case FEC_TYPE_PWID:
|
||||
prefix->family = AF_UNSPEC;
|
||||
break;
|
||||
}
|
||||
@ -1314,7 +1314,7 @@ lde_send_labelrequest(struct lde_nbr *ln, struct fec_node *fn,
|
||||
if (!ln->v6_enabled)
|
||||
return;
|
||||
break;
|
||||
default:
|
||||
case FEC_TYPE_PWID:
|
||||
fatalx("lde_send_labelrequest: unknown af");
|
||||
}
|
||||
} else
|
||||
@ -1595,7 +1595,7 @@ lde_nbr_addr_update(struct lde_nbr *ln, struct lde_addr *lde_addr, int removed)
|
||||
if (lde_addr->af != AF_INET6)
|
||||
continue;
|
||||
break;
|
||||
default:
|
||||
case FEC_TYPE_PWID:
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -178,7 +178,7 @@ rt_dump(pid_t pid)
|
||||
rtctl.prefix.v6 = fn->fec.u.ipv6.prefix;
|
||||
rtctl.prefixlen = fn->fec.u.ipv6.prefixlen;
|
||||
break;
|
||||
default:
|
||||
case FEC_TYPE_PWID:
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -505,7 +505,7 @@ lde_check_mapping(struct map *map, struct lde_nbr *ln, int rcvd_label_mapping)
|
||||
fec.u.ipv6.prefixlen) != FILTER_PERMIT)
|
||||
return;
|
||||
break;
|
||||
default:
|
||||
case FEC_TYPE_PWID:
|
||||
break;
|
||||
}
|
||||
|
||||
@ -665,7 +665,7 @@ lde_check_request(struct map *map, struct lde_nbr *ln)
|
||||
lde_send_notification(ln, S_LOOP_DETECTED, map->msg_id,
|
||||
htons(MSG_TYPE_LABELREQUEST));
|
||||
return;
|
||||
default:
|
||||
case FEC_TYPE_PWID:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -597,7 +597,7 @@ ldp_zebra_read_route(ZAPI_CALLBACK_ARGS)
|
||||
if (!(kr.flags & F_CONNECTED))
|
||||
continue;
|
||||
break;
|
||||
default:
|
||||
case NEXTHOP_TYPE_BLACKHOLE:
|
||||
continue;
|
||||
}
|
||||
|
||||
|
22
ldpd/pfkey.c
22
ldpd/pfkey.c
@ -421,35 +421,33 @@ pfkey_md5sig_remove(struct nbr *nbr)
|
||||
int
|
||||
pfkey_establish(struct nbr *nbr, struct nbr_params *nbrp)
|
||||
{
|
||||
if (nbrp->auth.method == AUTH_NONE)
|
||||
return (0);
|
||||
|
||||
switch (nbr->auth.method) {
|
||||
case AUTH_MD5SIG:
|
||||
strlcpy(nbr->auth.md5key, nbrp->auth.md5key,
|
||||
sizeof(nbr->auth.md5key));
|
||||
return (pfkey_md5sig_establish(nbr, nbrp));
|
||||
default:
|
||||
break;
|
||||
return pfkey_md5sig_establish(nbr, nbrp);
|
||||
case AUTH_NONE:
|
||||
return 0;
|
||||
}
|
||||
|
||||
return (0);
|
||||
assert(!"Reached end of function where we are not expecting to");
|
||||
}
|
||||
|
||||
int
|
||||
pfkey_remove(struct nbr *nbr)
|
||||
{
|
||||
if (nbr->auth.method == AUTH_NONE || !nbr->auth.established)
|
||||
return (0);
|
||||
if (!nbr->auth.established)
|
||||
return 0;
|
||||
|
||||
switch (nbr->auth.method) {
|
||||
case AUTH_MD5SIG:
|
||||
return (pfkey_md5sig_remove(nbr));
|
||||
default:
|
||||
return pfkey_md5sig_remove(nbr);
|
||||
case AUTH_NONE:
|
||||
return 0;
|
||||
break;
|
||||
}
|
||||
|
||||
return (0);
|
||||
assert(!"Reached end of function where we are not expecting to");
|
||||
}
|
||||
|
||||
int
|
||||
|
@ -949,7 +949,8 @@ static int cmd_execute_command_real(vector vline, enum cmd_filter_type filter,
|
||||
return CMD_ERR_INCOMPLETE;
|
||||
case MATCHER_AMBIGUOUS:
|
||||
return CMD_ERR_AMBIGUOUS;
|
||||
default:
|
||||
case MATCHER_NO_MATCH:
|
||||
case MATCHER_OK:
|
||||
return CMD_ERR_NO_MATCH;
|
||||
}
|
||||
}
|
||||
|
@ -267,9 +267,22 @@ static bool cmd_nodes_equal(struct graph_node *ga, struct graph_node *gb)
|
||||
return false;
|
||||
return cmd_subgraph_equal(ga, gb, a->forkjoin);
|
||||
|
||||
default:
|
||||
case VARIABLE_TKN:
|
||||
case IPV4_TKN:
|
||||
case IPV4_PREFIX_TKN:
|
||||
case IPV6_PREFIX_TKN:
|
||||
case IPV6_TKN:
|
||||
case MAC_TKN:
|
||||
case MAC_PREFIX_TKN:
|
||||
case JOIN_TKN:
|
||||
case START_TKN:
|
||||
case END_TKN:
|
||||
case NEG_ONLY_TKN:
|
||||
case WORD_TKN:
|
||||
return true;
|
||||
}
|
||||
|
||||
assert(!"Reached end of function we should never hit");
|
||||
}
|
||||
|
||||
static void cmd_fork_bump_attr(struct graph_node *gn, struct graph_node *join,
|
||||
@ -477,7 +490,7 @@ void cmd_graph_node_print_cb(struct graph_node *gn, struct buffer *buf)
|
||||
|
||||
char nbuf[512];
|
||||
struct cmd_token *tok = gn->data;
|
||||
const char *color;
|
||||
const char *color = NULL;
|
||||
|
||||
if (wasend) {
|
||||
wasend = false;
|
||||
@ -526,10 +539,23 @@ void cmd_graph_node_print_cb(struct graph_node *gn, struct buffer *buf)
|
||||
case WORD_TKN:
|
||||
color = "#ffffff";
|
||||
break;
|
||||
default:
|
||||
case RANGE_TKN:
|
||||
case IPV4_TKN:
|
||||
case IPV4_PREFIX_TKN:
|
||||
case IPV6_TKN:
|
||||
case IPV6_PREFIX_TKN:
|
||||
case MAC_TKN:
|
||||
case MAC_PREFIX_TKN:
|
||||
case END_TKN:
|
||||
case VARIABLE_TKN:
|
||||
color = "#ffffff";
|
||||
break;
|
||||
}
|
||||
|
||||
/*
|
||||
* Some compilers have the mistaken belief that we can
|
||||
* get here without initializing color.
|
||||
*/
|
||||
snprintf(nbuf, sizeof(nbuf),
|
||||
">, style = filled, fillcolor = \"%s\" ];\n", color);
|
||||
buffer_putstr(buf, nbuf);
|
||||
|
@ -437,7 +437,7 @@ enum matcher_rv command_complete(struct graph *graph, vector vline,
|
||||
add_nexthops(next, gstack[0], gstack,
|
||||
idx + 1, neg);
|
||||
break;
|
||||
default:
|
||||
case no_match:
|
||||
trace_matcher("no_match\n");
|
||||
break;
|
||||
}
|
||||
@ -544,9 +544,22 @@ static enum match_type min_match_level(enum cmd_token_type type)
|
||||
// allowing words to partly match enables command abbreviation
|
||||
case WORD_TKN:
|
||||
return partly_match;
|
||||
default:
|
||||
case RANGE_TKN:
|
||||
case IPV4_TKN:
|
||||
case IPV4_PREFIX_TKN:
|
||||
case IPV6_TKN:
|
||||
case IPV6_PREFIX_TKN:
|
||||
case MAC_TKN:
|
||||
case MAC_PREFIX_TKN:
|
||||
case FORK_TKN:
|
||||
case JOIN_TKN:
|
||||
case END_TKN:
|
||||
case NEG_ONLY_TKN:
|
||||
case VARIABLE_TKN:
|
||||
return exact_match;
|
||||
}
|
||||
|
||||
assert(!"Reached end of function we should never hit");
|
||||
}
|
||||
|
||||
/**
|
||||
@ -572,9 +585,15 @@ static int score_precedence(enum cmd_token_type type)
|
||||
return 3;
|
||||
case VARIABLE_TKN:
|
||||
return 4;
|
||||
default:
|
||||
case JOIN_TKN:
|
||||
case START_TKN:
|
||||
case END_TKN:
|
||||
case NEG_ONLY_TKN:
|
||||
case SPECIAL_TKN:
|
||||
return 10;
|
||||
}
|
||||
|
||||
assert(!"Reached end of function we should never hit");
|
||||
}
|
||||
|
||||
/**
|
||||
@ -695,9 +714,14 @@ static enum match_type match_token(struct cmd_token *token, char *input_token)
|
||||
case MAC_PREFIX_TKN:
|
||||
return match_mac(input_token, true);
|
||||
case END_TKN:
|
||||
default:
|
||||
case FORK_TKN:
|
||||
case JOIN_TKN:
|
||||
case START_TKN:
|
||||
case NEG_ONLY_TKN:
|
||||
return no_match;
|
||||
}
|
||||
|
||||
assert(!"Reached end of function we should never hit");
|
||||
}
|
||||
|
||||
#define IPV4_ADDR_STR "0123456789."
|
||||
|
@ -195,7 +195,7 @@ DEFUN (grammar_test_match,
|
||||
case MATCHER_AMBIGUOUS:
|
||||
vty_out(vty, "%% Ambiguous command\n");
|
||||
break;
|
||||
default:
|
||||
case MATCHER_OK:
|
||||
vty_out(vty, "%% Unknown error\n");
|
||||
break;
|
||||
}
|
||||
|
@ -61,9 +61,11 @@ static inline afi_t afi_iana2int(iana_afi_t afi)
|
||||
return AFI_IP6;
|
||||
case IANA_AFI_L2VPN:
|
||||
return AFI_L2VPN;
|
||||
default:
|
||||
case IANA_AFI_RESERVED:
|
||||
return AFI_MAX;
|
||||
}
|
||||
|
||||
return AFI_MAX;
|
||||
}
|
||||
|
||||
static inline iana_afi_t afi_int2iana(afi_t afi)
|
||||
@ -75,9 +77,12 @@ static inline iana_afi_t afi_int2iana(afi_t afi)
|
||||
return IANA_AFI_IPV6;
|
||||
case AFI_L2VPN:
|
||||
return IANA_AFI_L2VPN;
|
||||
default:
|
||||
case AFI_UNSPEC:
|
||||
case AFI_MAX:
|
||||
return IANA_AFI_RESERVED;
|
||||
}
|
||||
|
||||
return IANA_AFI_RESERVED;
|
||||
}
|
||||
|
||||
static inline const char *iana_afi2str(iana_afi_t afi)
|
||||
@ -102,9 +107,11 @@ static inline safi_t safi_iana2int(iana_safi_t safi)
|
||||
return SAFI_LABELED_UNICAST;
|
||||
case IANA_SAFI_FLOWSPEC:
|
||||
return SAFI_FLOWSPEC;
|
||||
default:
|
||||
case IANA_SAFI_RESERVED:
|
||||
return SAFI_MAX;
|
||||
}
|
||||
|
||||
return SAFI_MAX;
|
||||
}
|
||||
|
||||
static inline iana_safi_t safi_int2iana(safi_t safi)
|
||||
@ -124,9 +131,12 @@ static inline iana_safi_t safi_int2iana(safi_t safi)
|
||||
return IANA_SAFI_LABELED_UNICAST;
|
||||
case SAFI_FLOWSPEC:
|
||||
return IANA_SAFI_FLOWSPEC;
|
||||
default:
|
||||
case SAFI_UNSPEC:
|
||||
case SAFI_MAX:
|
||||
return IANA_SAFI_RESERVED;
|
||||
}
|
||||
|
||||
return IANA_SAFI_RESERVED;
|
||||
}
|
||||
|
||||
static inline const char *iana_safi2str(iana_safi_t safi)
|
||||
|
@ -70,9 +70,11 @@ static inline int ipaddr_family(const struct ipaddr *ip)
|
||||
return AF_INET;
|
||||
case IPADDR_V6:
|
||||
return AF_INET6;
|
||||
default:
|
||||
case IPADDR_NONE:
|
||||
return AF_UNSPEC;
|
||||
}
|
||||
|
||||
assert(!"Reached end of function where we should never hit");
|
||||
}
|
||||
|
||||
static inline int str2ipaddr(const char *str, struct ipaddr *ip)
|
||||
@ -158,9 +160,11 @@ static inline int ipaddr_cmp(const struct ipaddr *a, const struct ipaddr *b)
|
||||
case IPADDR_V6:
|
||||
return memcmp((void *)&a->ipaddr_v6, (void *)&b->ipaddr_v6,
|
||||
sizeof(a->ipaddr_v6));
|
||||
default:
|
||||
case IPADDR_NONE:
|
||||
return 0;
|
||||
}
|
||||
|
||||
assert(!"Reached end of function we should never hit");
|
||||
}
|
||||
|
||||
static inline bool ipaddr_is_zero(const struct ipaddr *ip)
|
||||
|
@ -443,7 +443,7 @@ struct ls_vertex *ls_vertex_add(struct ls_ted *ted, struct ls_node *node)
|
||||
case ISIS_L2:
|
||||
key = sysid_to_key(node->adv.id.iso.sys_id);
|
||||
break;
|
||||
default:
|
||||
case UNKNOWN:
|
||||
key = 0;
|
||||
break;
|
||||
}
|
||||
@ -565,7 +565,7 @@ struct ls_vertex *ls_find_vertex_by_id(struct ls_ted *ted,
|
||||
case ISIS_L2:
|
||||
vertex.key = sysid_to_key(nid.id.iso.sys_id);
|
||||
break;
|
||||
default:
|
||||
case UNKNOWN:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -1649,7 +1649,8 @@ struct ls_message *ls_vertex2msg(struct ls_message *msg,
|
||||
case SYNC:
|
||||
msg->event = LS_MSG_EVENT_SYNC;
|
||||
break;
|
||||
default:
|
||||
case UNSET:
|
||||
case ORPHAN:
|
||||
msg->event = LS_MSG_EVENT_UNDEF;
|
||||
break;
|
||||
}
|
||||
@ -1681,7 +1682,8 @@ struct ls_message *ls_edge2msg(struct ls_message *msg, struct ls_edge *edge)
|
||||
case SYNC:
|
||||
msg->event = LS_MSG_EVENT_SYNC;
|
||||
break;
|
||||
default:
|
||||
case UNSET:
|
||||
case ORPHAN:
|
||||
msg->event = LS_MSG_EVENT_UNDEF;
|
||||
break;
|
||||
}
|
||||
@ -1717,7 +1719,8 @@ struct ls_message *ls_subnet2msg(struct ls_message *msg,
|
||||
case SYNC:
|
||||
msg->event = LS_MSG_EVENT_SYNC;
|
||||
break;
|
||||
default:
|
||||
case UNSET:
|
||||
case ORPHAN:
|
||||
msg->event = LS_MSG_EVENT_UNDEF;
|
||||
break;
|
||||
}
|
||||
|
@ -73,7 +73,10 @@ char *mlag_lib_msgid_to_str(enum mlag_msg_type msg_type, char *buf, size_t size)
|
||||
case MLAG_PEER_FRR_STATUS:
|
||||
snprintf(buf, size, "Mlag Peer FRR Status");
|
||||
break;
|
||||
default:
|
||||
case MLAG_PIM_CFG_DUMP:
|
||||
snprintf(buf, size, "Mlag Pim Configuration Dump");
|
||||
break;
|
||||
case MLAG_MSG_NONE:
|
||||
snprintf(buf, size, "Unknown %d", msg_type);
|
||||
break;
|
||||
}
|
||||
|
@ -731,7 +731,13 @@ int nb_candidate_edit(struct nb_config *candidate,
|
||||
case NB_OP_MOVE:
|
||||
/* TODO: update configuration. */
|
||||
break;
|
||||
default:
|
||||
case NB_OP_PRE_VALIDATE:
|
||||
case NB_OP_APPLY_FINISH:
|
||||
case NB_OP_GET_ELEM:
|
||||
case NB_OP_GET_NEXT:
|
||||
case NB_OP_GET_KEYS:
|
||||
case NB_OP_LOOKUP_ENTRY:
|
||||
case NB_OP_RPC:
|
||||
flog_warn(EC_LIB_DEVELOPMENT,
|
||||
"%s: unknown operation (%u) [xpath %s]", __func__,
|
||||
operation, xpath_edit);
|
||||
@ -1360,7 +1366,13 @@ static int nb_callback_configuration(struct nb_context *context,
|
||||
ret = nb_callback_move(context, nb_node, event, dnode, errmsg,
|
||||
errmsg_len);
|
||||
break;
|
||||
default:
|
||||
case NB_OP_PRE_VALIDATE:
|
||||
case NB_OP_APPLY_FINISH:
|
||||
case NB_OP_GET_ELEM:
|
||||
case NB_OP_GET_NEXT:
|
||||
case NB_OP_GET_KEYS:
|
||||
case NB_OP_LOOKUP_ENTRY:
|
||||
case NB_OP_RPC:
|
||||
yang_dnode_get_path(dnode, xpath, sizeof(xpath));
|
||||
flog_err(EC_LIB_DEVELOPMENT,
|
||||
"%s: unknown operation (%u) [xpath %s]", __func__,
|
||||
@ -1489,7 +1501,7 @@ static int nb_transaction_process(enum nb_event event,
|
||||
* 'prepare' phase.
|
||||
*/
|
||||
break;
|
||||
default:
|
||||
case NB_EV_VALIDATE:
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -2319,9 +2331,9 @@ const char *nb_event_name(enum nb_event event)
|
||||
return "abort";
|
||||
case NB_EV_APPLY:
|
||||
return "apply";
|
||||
default:
|
||||
return "unknown";
|
||||
}
|
||||
|
||||
assert(!"Reached end of function we should never hit");
|
||||
}
|
||||
|
||||
const char *nb_operation_name(enum nb_operation operation)
|
||||
@ -2349,9 +2361,9 @@ const char *nb_operation_name(enum nb_operation operation)
|
||||
return "lookup_entry";
|
||||
case NB_OP_RPC:
|
||||
return "rpc";
|
||||
default:
|
||||
return "unknown";
|
||||
}
|
||||
|
||||
assert(!"Reached end of function we should never hit");
|
||||
}
|
||||
|
||||
const char *nb_err_name(enum nb_error error)
|
||||
@ -2373,9 +2385,9 @@ const char *nb_err_name(enum nb_error error)
|
||||
return "failed to allocate resource";
|
||||
case NB_ERR_INCONSISTENCY:
|
||||
return "internal inconsistency";
|
||||
default:
|
||||
return "unknown";
|
||||
}
|
||||
|
||||
assert(!"Reached end of function we should never hit");
|
||||
}
|
||||
|
||||
const char *nb_client_name(enum nb_client client)
|
||||
@ -2389,9 +2401,13 @@ const char *nb_client_name(enum nb_client client)
|
||||
return "Sysrepo";
|
||||
case NB_CLIENT_GRPC:
|
||||
return "gRPC";
|
||||
default:
|
||||
return "unknown";
|
||||
case NB_CLIENT_PCEP:
|
||||
return "Pcep";
|
||||
case NB_CLIENT_NONE:
|
||||
return "None";
|
||||
}
|
||||
|
||||
assert(!"Reached end of function we should never hit");
|
||||
}
|
||||
|
||||
static void nb_load_callbacks(const struct frr_yang_module_info *module)
|
||||
|
13
lib/prefix.c
13
lib/prefix.c
@ -148,11 +148,11 @@ const char *afi2str(afi_t afi)
|
||||
case AFI_L2VPN:
|
||||
return "l2vpn";
|
||||
case AFI_MAX:
|
||||
case AFI_UNSPEC:
|
||||
return "bad-value";
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return NULL;
|
||||
|
||||
assert(!"Reached end of function we should never reach");
|
||||
}
|
||||
|
||||
const char *safi2str(safi_t safi)
|
||||
@ -172,9 +172,12 @@ const char *safi2str(safi_t safi)
|
||||
return "labeled-unicast";
|
||||
case SAFI_FLOWSPEC:
|
||||
return "flowspec";
|
||||
default:
|
||||
case SAFI_UNSPEC:
|
||||
case SAFI_MAX:
|
||||
return "unknown";
|
||||
}
|
||||
|
||||
assert(!"Reached end of function we should never reach");
|
||||
}
|
||||
|
||||
/* If n includes p prefix then return 1 else return 0. */
|
||||
@ -1507,7 +1510,7 @@ static ssize_t printfrr_ia(struct fbuf *buf, struct printfrr_eargs *ea,
|
||||
return bputch(buf, '*');
|
||||
break;
|
||||
|
||||
default:
|
||||
case IPADDR_NONE:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -1754,7 +1754,8 @@ route_map_apply_match(struct route_map_rule_list *match_list,
|
||||
ret = RMAP_MATCH;
|
||||
break;
|
||||
|
||||
default:
|
||||
case RMAP_OKAY:
|
||||
case RMAP_ERROR:
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -635,7 +635,7 @@ uint32_t stream_get_ipv4(struct stream *s)
|
||||
|
||||
bool stream_get_ipaddr(struct stream *s, struct ipaddr *ip)
|
||||
{
|
||||
uint16_t ipa_len;
|
||||
uint16_t ipa_len = 0;
|
||||
|
||||
STREAM_VERIFY_SANE(s);
|
||||
|
||||
@ -654,7 +654,7 @@ bool stream_get_ipaddr(struct stream *s, struct ipaddr *ip)
|
||||
case IPADDR_V6:
|
||||
ipa_len = IPV6_MAX_BYTELEN;
|
||||
break;
|
||||
default:
|
||||
case IPADDR_NONE:
|
||||
flog_err(EC_LIB_DEVELOPMENT,
|
||||
"%s: unknown ip address-family: %u", __func__,
|
||||
ip->ipa_type);
|
||||
@ -947,7 +947,7 @@ bool stream_put_ipaddr(struct stream *s, struct ipaddr *ip)
|
||||
case IPADDR_V6:
|
||||
stream_write(s, (uint8_t *)&ip->ipaddr_v6, 16);
|
||||
break;
|
||||
default:
|
||||
case IPADDR_NONE:
|
||||
flog_err(EC_LIB_DEVELOPMENT,
|
||||
"%s: unknown ip address-family: %u", __func__,
|
||||
ip->ipa_type);
|
||||
|
@ -610,7 +610,7 @@ int vrf_configure_backend(enum vrf_backend_type backend)
|
||||
case VRF_BACKEND_NETNS:
|
||||
case VRF_BACKEND_VRF_LITE:
|
||||
break;
|
||||
default:
|
||||
case VRF_BACKEND_MAX:
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -2727,7 +2727,11 @@ static void vty_event_serv(enum vty_event event, struct vty_serv *vty_serv)
|
||||
vty_serv->sock, &vty_serv->t_accept);
|
||||
break;
|
||||
#endif /* VTYSH */
|
||||
default:
|
||||
case VTY_READ:
|
||||
case VTY_WRITE:
|
||||
case VTY_TIMEOUT_RESET:
|
||||
case VTYSH_READ:
|
||||
case VTYSH_WRITE:
|
||||
assert(!"vty_event_serv() called incorrectly");
|
||||
}
|
||||
}
|
||||
@ -2766,7 +2770,8 @@ static void vty_event(enum vty_event event, struct vty *vty)
|
||||
thread_add_timer(vty_master, vty_timeout, vty,
|
||||
vty->v_timeout, &vty->t_timeout);
|
||||
break;
|
||||
default:
|
||||
case VTY_SERV:
|
||||
case VTYSH_SERV:
|
||||
assert(!"vty_event() called incorrectly");
|
||||
}
|
||||
}
|
||||
|
@ -1682,7 +1682,8 @@ int zapi_tc_class_encode(uint8_t cmd, struct stream *s, struct tc_class *class)
|
||||
stream_putq(s, class->u.htb.rate);
|
||||
stream_putq(s, class->u.htb.ceil);
|
||||
break;
|
||||
default:
|
||||
case TC_QDISC_UNSPEC:
|
||||
case TC_QDISC_NOQUEUE:
|
||||
/* not implemented */
|
||||
break;
|
||||
}
|
||||
@ -1730,7 +1731,10 @@ int zapi_tc_filter_encode(uint8_t cmd, struct stream *s,
|
||||
}
|
||||
stream_putl(s, filter->u.flower.classid);
|
||||
break;
|
||||
default:
|
||||
case TC_FILTER_UNSPEC:
|
||||
case TC_FILTER_BPF:
|
||||
case TC_FILTER_FLOW:
|
||||
case TC_FILTER_U32:
|
||||
/* not implemented */
|
||||
break;
|
||||
}
|
||||
|
@ -877,7 +877,8 @@ static int log_5424_show(struct vty *vty)
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
case ZLOG_FMT_3164:
|
||||
case ZLOG_FMT_LOCAL:
|
||||
vty_out(vty,
|
||||
" structured data is not supported by the selected format\n");
|
||||
break;
|
||||
|
@ -330,7 +330,14 @@ static void nhrp_cache_update_timers(struct nhrp_cache *c)
|
||||
thread_add_timer_msec(master, nhrp_cache_do_free, c, 10,
|
||||
&c->t_timeout);
|
||||
break;
|
||||
default:
|
||||
case NHRP_CACHE_INCOMPLETE:
|
||||
case NHRP_CACHE_NEGATIVE:
|
||||
case NHRP_CACHE_CACHED:
|
||||
case NHRP_CACHE_DYNAMIC:
|
||||
case NHRP_CACHE_NHS:
|
||||
case NHRP_CACHE_STATIC:
|
||||
case NHRP_CACHE_LOCAL:
|
||||
case NHRP_CACHE_NUM_TYPES:
|
||||
if (c->cur.expires)
|
||||
thread_add_timer(master, nhrp_cache_do_timeout, c,
|
||||
c->cur.expires - monotime(NULL),
|
||||
|
@ -184,16 +184,17 @@ void nhrp_interface_update_nbma(struct interface *ifp,
|
||||
struct nhrp_interface *nifp = ifp->info, *nbmanifp = NULL;
|
||||
struct interface *nbmaifp = NULL;
|
||||
union sockunion nbma;
|
||||
struct in_addr saddr = {0};
|
||||
|
||||
sockunion_family(&nbma) = AF_UNSPEC;
|
||||
|
||||
if (nifp->source)
|
||||
nbmaifp = if_lookup_by_name(nifp->source, nifp->link_vrf_id);
|
||||
|
||||
switch (ifp->ll_type) {
|
||||
case ZEBRA_LLT_IPGRE: {
|
||||
struct in_addr saddr = {0};
|
||||
|
||||
if (ifp->ll_type != ZEBRA_LLT_IPGRE)
|
||||
debugf(NHRP_DEBUG_IF, "%s: Ignoring non GRE interface type %u",
|
||||
__func__, ifp->ll_type);
|
||||
else {
|
||||
if (!gre_info) {
|
||||
nhrp_send_zebra_gre_request(ifp);
|
||||
return;
|
||||
@ -214,9 +215,6 @@ void nhrp_interface_update_nbma(struct interface *ifp,
|
||||
nbmaifp =
|
||||
if_lookup_by_index(nifp->link_idx,
|
||||
nifp->link_vrf_id);
|
||||
} break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (nbmaifp)
|
||||
|
@ -139,7 +139,17 @@ void nhrp_route_announce(int add, enum nhrp_cache_type type,
|
||||
/* Regular route, so these are announced
|
||||
* to other routing daemons */
|
||||
break;
|
||||
default:
|
||||
case NHRP_CACHE_INVALID:
|
||||
case NHRP_CACHE_INCOMPLETE:
|
||||
/*
|
||||
* I cannot believe that we want to set a FIB_OVERRIDE
|
||||
* for invalid state or incomplete. But this matches
|
||||
* the original code. Someone will probably notice
|
||||
* the problem eventually
|
||||
*/
|
||||
case NHRP_CACHE_CACHED:
|
||||
case NHRP_CACHE_LOCAL:
|
||||
case NHRP_CACHE_NUM_TYPES:
|
||||
SET_FLAG(api.flags, ZEBRA_FLAG_FIB_OVERRIDE);
|
||||
break;
|
||||
}
|
||||
|
20
nhrpd/vici.c
20
nhrpd/vici.c
@ -135,11 +135,6 @@ static void vici_parse_message(struct vici_conn *vici, struct zbuf *msg,
|
||||
case VICI_LIST_END:
|
||||
debugf(NHRP_DEBUG_VICI, "VICI: List end");
|
||||
break;
|
||||
default:
|
||||
debugf(NHRP_DEBUG_VICI,
|
||||
"VICI: Unsupported message component type %d",
|
||||
*type);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -207,7 +202,12 @@ static void parse_sa_message(struct vici_message_ctx *ctx,
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
case VICI_START:
|
||||
case VICI_KEY_VALUE:
|
||||
case VICI_LIST_START:
|
||||
case VICI_LIST_ITEM:
|
||||
case VICI_LIST_END:
|
||||
case VICI_END:
|
||||
if (!key || !key->ptr)
|
||||
break;
|
||||
|
||||
@ -286,7 +286,13 @@ static void parse_cmd_response(struct vici_message_ctx *ctx,
|
||||
&& blob2buf(val, buf, sizeof(buf)))
|
||||
flog_err(EC_NHRP_SWAN, "VICI: strongSwan: %s", buf);
|
||||
break;
|
||||
default:
|
||||
case VICI_START:
|
||||
case VICI_SECTION_START:
|
||||
case VICI_SECTION_END:
|
||||
case VICI_LIST_START:
|
||||
case VICI_LIST_ITEM:
|
||||
case VICI_LIST_END:
|
||||
case VICI_END:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -539,7 +539,7 @@ void ospf_spf_remove_resource(struct vertex *vertex, struct list *vertex_list,
|
||||
vertex_list);
|
||||
|
||||
break;
|
||||
default:
|
||||
case OSPF_TI_LFA_UNDEFINED_PROTECTION:
|
||||
/* do nothing */
|
||||
break;
|
||||
}
|
||||
|
@ -1079,9 +1079,11 @@ static const char *objfun_type_name(enum objfun_type type)
|
||||
return "mss";
|
||||
case OBJFUN_MSN:
|
||||
return "msn";
|
||||
default:
|
||||
case OBJFUN_UNDEFINED:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
assert(!"Reached end of function we should never hit");
|
||||
}
|
||||
|
||||
DEFPY_NOSH(show_debugging_pathd, show_debugging_pathd_cmd,
|
||||
|
@ -239,7 +239,10 @@ void pathd_srte_segment_list_segment_nai_apply_finish(
|
||||
args->dnode, "./local-prefix-len");
|
||||
local_prefix_len = atoi(local_prefix_len_buf);
|
||||
break;
|
||||
default:
|
||||
case SRTE_SEGMENT_NAI_TYPE_NONE:
|
||||
case SRTE_SEGMENT_NAI_TYPE_IPV6_ADJACENCY_LINK_LOCAL_ADDRESSES:
|
||||
case SRTE_SEGMENT_NAI_TYPE_IPV6_LOCAL_IFACE:
|
||||
case SRTE_SEGMENT_NAI_TYPE_IPV6_ALGORITHM:
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -210,7 +210,7 @@ int pcep_main_event_handler(enum pcep_main_event_type type, int pcc_id,
|
||||
ret = pcep_main_event_remove_candidate_segments(
|
||||
(const char *)payload, true);
|
||||
break;
|
||||
default:
|
||||
case PCEP_MAIN_EVENT_UNDEFINED:
|
||||
flog_warn(EC_PATH_PCEP_RECOVERABLE_INTERNAL_ERROR,
|
||||
"Unexpected event received in the main thread: %u",
|
||||
type);
|
||||
|
@ -270,7 +270,8 @@ path_pcep_config_list_path_hops(struct srte_segment_list *segment_list)
|
||||
sizeof(struct ipaddr));
|
||||
hop->nai.remote_iface = segment->nai_remote_iface;
|
||||
break;
|
||||
default:
|
||||
case SRTE_SEGMENT_NAI_TYPE_NONE:
|
||||
case SRTE_SEGMENT_NAI_TYPE_IPV6_ADJACENCY_LINK_LOCAL_ADDRESSES:
|
||||
break;
|
||||
}
|
||||
last_hop = hop;
|
||||
@ -489,9 +490,12 @@ status_int_to_ext(enum srte_policy_status status)
|
||||
return PCEP_LSP_OPERATIONAL_GOING_UP;
|
||||
case SRTE_POLICY_STATUS_GOING_DOWN:
|
||||
return PCEP_LSP_OPERATIONAL_GOING_DOWN;
|
||||
default:
|
||||
case SRTE_POLICY_STATUS_DOWN:
|
||||
case SRTE_POLICY_STATUS_UNKNOWN:
|
||||
return PCEP_LSP_OPERATIONAL_DOWN;
|
||||
}
|
||||
|
||||
assert(!"Reached end of function where we are not expecting to");
|
||||
}
|
||||
|
||||
enum pcep_sr_subobj_nai pcep_nai_type(enum srte_segment_nai_type type)
|
||||
@ -539,7 +543,10 @@ enum srte_segment_nai_type srte_nai_type(enum pcep_sr_subobj_nai type)
|
||||
return SRTE_SEGMENT_NAI_TYPE_IPV6_ADJACENCY;
|
||||
case PCEP_SR_SUBOBJ_NAI_UNNUMBERED_IPV4_ADJACENCY:
|
||||
return SRTE_SEGMENT_NAI_TYPE_IPV4_UNNUMBERED_ADJACENCY;
|
||||
default:
|
||||
case PCEP_SR_SUBOBJ_NAI_LINK_LOCAL_IPV6_ADJACENCY:
|
||||
case PCEP_SR_SUBOBJ_NAI_UNKNOWN:
|
||||
return SRTE_SEGMENT_NAI_TYPE_NONE;
|
||||
}
|
||||
|
||||
assert(!"Reached end of function where we were not expecting to");
|
||||
}
|
||||
|
@ -603,7 +603,9 @@ void pcep_thread_timer_handler(struct thread *thread)
|
||||
pcep_thread_remove_candidate_path_segments(ctrl_state,
|
||||
pcc_state);
|
||||
break;
|
||||
default:
|
||||
case TM_PCEPLIB_TIMER:
|
||||
case TM_UNDEFINED:
|
||||
case TM_MAX:
|
||||
flog_warn(EC_PATH_PCEP_RECOVERABLE_INTERNAL_ERROR,
|
||||
"Unknown controller timer triggered: %u", timer_type);
|
||||
break;
|
||||
@ -823,7 +825,7 @@ void pcep_thread_event_handler(struct thread *thread)
|
||||
pcep_pcc_send_error(ctrl_state, pcc_state, error,
|
||||
(bool)sub_type);
|
||||
break;
|
||||
default:
|
||||
case EV_PCEPLIB_EVENT:
|
||||
flog_warn(EC_PATH_PCEP_RECOVERABLE_INTERNAL_ERROR,
|
||||
"Unexpected event received in controller thread: %u",
|
||||
type);
|
||||
@ -1074,10 +1076,16 @@ const char *timer_type_name(enum pcep_ctrl_timer_type type)
|
||||
return "PCEPLIB_TIMER";
|
||||
case TM_TIMEOUT:
|
||||
return "TIMEOUT";
|
||||
default:
|
||||
case TM_CALCULATE_BEST_PCE:
|
||||
return "BEST_PCE";
|
||||
case TM_SESSION_TIMEOUT_PCC:
|
||||
return "TIMEOUT_PCC";
|
||||
case TM_MAX:
|
||||
return "UNKNOWN";
|
||||
}
|
||||
};
|
||||
|
||||
assert(!"Reached end of function where we did not expect to");
|
||||
}
|
||||
|
||||
const char *timeout_type_name(enum pcep_ctrl_timeout_type type)
|
||||
{
|
||||
@ -1086,7 +1094,9 @@ const char *timeout_type_name(enum pcep_ctrl_timeout_type type)
|
||||
return "UNDEFINED";
|
||||
case TO_COMPUTATION_REQUEST:
|
||||
return "COMPUTATION_REQUEST";
|
||||
default:
|
||||
case TO_MAX:
|
||||
return "UNKNOWN";
|
||||
}
|
||||
|
||||
assert(!"Reached end of function where we did not expect to");
|
||||
}
|
||||
|
@ -90,9 +90,9 @@ const char *pcc_status_name(enum pcc_status status)
|
||||
return "SYNCHRONIZING";
|
||||
case PCEP_PCC_OPERATING:
|
||||
return "OPERATING";
|
||||
default:
|
||||
return "UNKNOWN";
|
||||
}
|
||||
|
||||
assert(!"Reached end of function where we do not expect to");
|
||||
}
|
||||
|
||||
const char *pcep_event_type_name(pcep_event_type event_type)
|
||||
@ -118,9 +118,13 @@ const char *pcep_event_type_name(pcep_event_type event_type)
|
||||
return "PCC_RCVD_MAX_INVALID_MSGS";
|
||||
case PCC_RCVD_MAX_UNKOWN_MSGS:
|
||||
return "PCC_RCVD_MAX_UNKOWN_MSGS";
|
||||
default:
|
||||
return "UNKNOWN";
|
||||
case PCC_CONNECTION_FAILURE:
|
||||
return "PCC_CONNECTION_FAILURE";
|
||||
case PCC_SENT_INVALID_OPEN:
|
||||
return "PCC_SENT_INVALID_OPEN";
|
||||
}
|
||||
|
||||
assert(!"Reached end of function where we do not expect to");
|
||||
}
|
||||
|
||||
const char *pcep_error_type_name(enum pcep_error_type error_type)
|
||||
@ -640,9 +644,11 @@ const char *pcep_message_type_name(enum pcep_message_types pcep_message_type)
|
||||
return "INITIATE";
|
||||
case PCEP_TYPE_START_TLS:
|
||||
return "START_TLS";
|
||||
default:
|
||||
case PCEP_TYPE_MAX:
|
||||
return "UNKNOWN";
|
||||
}
|
||||
|
||||
assert(!"Reached end of function where we are not expecting to");
|
||||
}
|
||||
|
||||
const char *pcep_object_class_name(enum pcep_object_classes obj_class)
|
||||
@ -694,9 +700,11 @@ const char *pcep_object_class_name(enum pcep_object_classes obj_class)
|
||||
return "SERVER_IND";
|
||||
case PCEP_OBJ_CLASS_ASSOCIATION:
|
||||
return "ASSOCIATION";
|
||||
default:
|
||||
case PCEP_OBJ_CLASS_MAX:
|
||||
return "UNKNOWN";
|
||||
}
|
||||
|
||||
assert(!"Reached end of function where we are not expecting to");
|
||||
}
|
||||
|
||||
const char *pcep_object_type_name(enum pcep_object_classes obj_class,
|
||||
@ -769,9 +777,9 @@ const char *pcep_lsp_status_name(enum pcep_lsp_operational_status status)
|
||||
return "GOING_DOWN";
|
||||
case PCEP_LSP_OPERATIONAL_GOING_UP:
|
||||
return "GOING_UP";
|
||||
default:
|
||||
return "UNKNOWN";
|
||||
}
|
||||
|
||||
assert(!"Reached end of function where we do not expect to");
|
||||
}
|
||||
|
||||
|
||||
@ -818,9 +826,11 @@ const char *pcep_tlv_type_name(enum pcep_object_tlv_types tlv_type)
|
||||
return "UNKNOWN";
|
||||
case PCEP_OBJ_TLV_TYPE_ARBITRARY:
|
||||
return "ARBITRARY";
|
||||
default:
|
||||
return "UNKNOWN";
|
||||
case PCEP_OBJ_TYPE_CISCO_BSID:
|
||||
return "CISCO_BSID";
|
||||
}
|
||||
|
||||
assert(!"Reached end of function where we do not expect to");
|
||||
}
|
||||
|
||||
const char *pcep_ro_type_name(enum pcep_ro_subobj_types ro_type)
|
||||
@ -839,9 +849,11 @@ const char *pcep_ro_type_name(enum pcep_ro_subobj_types ro_type)
|
||||
return "ASN";
|
||||
case RO_SUBOBJ_TYPE_SR:
|
||||
return "SR";
|
||||
default:
|
||||
case RO_SUBOBJ_UNKNOWN:
|
||||
return "UNKNOWN";
|
||||
}
|
||||
|
||||
assert(!"Reached end of function where we do not expect to");
|
||||
}
|
||||
|
||||
const char *pcep_nai_type_name(enum pcep_sr_subobj_nai nai_type)
|
||||
@ -861,9 +873,11 @@ const char *pcep_nai_type_name(enum pcep_sr_subobj_nai nai_type)
|
||||
return "UNNUMBERED_IPV4_ADJACENCY";
|
||||
case PCEP_SR_SUBOBJ_NAI_LINK_LOCAL_IPV6_ADJACENCY:
|
||||
return "LINK_LOCAL_IPV6_ADJACENCY";
|
||||
default:
|
||||
case PCEP_SR_SUBOBJ_NAI_UNKNOWN:
|
||||
return "UNKNOWN";
|
||||
}
|
||||
|
||||
assert(!"Reached end of function where we do not expect to");
|
||||
}
|
||||
|
||||
const char *pcep_metric_type_name(enum pcep_metric_types type)
|
||||
@ -1115,7 +1129,7 @@ void _format_path(int ps, struct path *path)
|
||||
PATHD_FORMAT("%*sendpoint: %pI6\n", ps3, "",
|
||||
&path->nbkey.endpoint.ipaddr_v6);
|
||||
break;
|
||||
default:
|
||||
case IPADDR_NONE:
|
||||
PATHD_FORMAT("%*sendpoint: NONE\n", ps3, "");
|
||||
break;
|
||||
}
|
||||
@ -1300,7 +1314,9 @@ void _format_path_hop(int ps, struct path_hop *hop)
|
||||
&hop->nai.remote_addr.ipaddr_v6,
|
||||
hop->nai.remote_iface);
|
||||
break;
|
||||
default:
|
||||
case PCEP_SR_SUBOBJ_NAI_ABSENT:
|
||||
case PCEP_SR_SUBOBJ_NAI_LINK_LOCAL_IPV6_ADJACENCY:
|
||||
case PCEP_SR_SUBOBJ_NAI_UNKNOWN:
|
||||
PATHD_FORMAT("%*sNAI: UNSUPPORTED\n", ps, "");
|
||||
break;
|
||||
}
|
||||
@ -1580,7 +1596,11 @@ void _format_pcep_object_ro_details(int ps, struct pcep_object_ro_subobj *ro)
|
||||
case RO_SUBOBJ_TYPE_SR:
|
||||
_format_pcep_object_ro_sr(ps, (struct pcep_ro_subobj_sr *)ro);
|
||||
break;
|
||||
default:
|
||||
case RO_SUBOBJ_TYPE_IPV6:
|
||||
case RO_SUBOBJ_TYPE_LABEL:
|
||||
case RO_SUBOBJ_TYPE_UNNUM:
|
||||
case RO_SUBOBJ_TYPE_ASN:
|
||||
case RO_SUBOBJ_UNKNOWN:
|
||||
PATHD_FORMAT("%*s...\n", ps, "");
|
||||
break;
|
||||
}
|
||||
@ -1668,7 +1688,9 @@ void _format_pcep_object_ro_sr(int ps, struct pcep_ro_subobj_sr *obj)
|
||||
PATHD_FORMAT("%*sNAI: %pI4(%u)/%pI4(%u)\n", ps, "",
|
||||
laddr4, *liface, raddr4, *riface);
|
||||
break;
|
||||
default:
|
||||
case PCEP_SR_SUBOBJ_NAI_ABSENT:
|
||||
case PCEP_SR_SUBOBJ_NAI_LINK_LOCAL_IPV6_ADJACENCY:
|
||||
case PCEP_SR_SUBOBJ_NAI_UNKNOWN:
|
||||
PATHD_FORMAT("%*sNAI: UNSUPPORTED\n", ps, "");
|
||||
break;
|
||||
}
|
||||
@ -1731,7 +1753,23 @@ void _format_pcep_object_tlv_details(int ps,
|
||||
ps,
|
||||
(struct pcep_object_tlv_path_setup_type *)tlv_header);
|
||||
break;
|
||||
default:
|
||||
case PCEP_OBJ_TLV_TYPE_NO_PATH_VECTOR:
|
||||
case PCEP_OBJ_TLV_TYPE_OBJECTIVE_FUNCTION_LIST:
|
||||
case PCEP_OBJ_TLV_TYPE_VENDOR_INFO:
|
||||
case PCEP_OBJ_TLV_TYPE_IPV4_LSP_IDENTIFIERS:
|
||||
case PCEP_OBJ_TLV_TYPE_IPV6_LSP_IDENTIFIERS:
|
||||
case PCEP_OBJ_TLV_TYPE_LSP_ERROR_CODE:
|
||||
case PCEP_OBJ_TLV_TYPE_RSVP_ERROR_SPEC:
|
||||
case PCEP_OBJ_TLV_TYPE_LSP_DB_VERSION:
|
||||
case PCEP_OBJ_TLV_TYPE_SPEAKER_ENTITY_ID:
|
||||
case PCEP_OBJ_TLV_TYPE_PATH_SETUP_TYPE_CAPABILITY:
|
||||
case PCEP_OBJ_TLV_TYPE_SRPOLICY_POL_ID:
|
||||
case PCEP_OBJ_TLV_TYPE_SRPOLICY_POL_NAME:
|
||||
case PCEP_OBJ_TLV_TYPE_SRPOLICY_CPATH_ID:
|
||||
case PCEP_OBJ_TLV_TYPE_SRPOLICY_CPATH_PREFERENCE:
|
||||
case PCEP_OBJ_TLV_TYPE_UNKNOWN:
|
||||
case PCEP_OBJ_TYPE_CISCO_BSID:
|
||||
case PCEP_OBJ_TLV_TYPE_ARBITRARY:
|
||||
PATHD_FORMAT("%*s...\n", ps, "");
|
||||
break;
|
||||
}
|
||||
|
@ -767,7 +767,9 @@ double_linked_list *pcep_lib_format_path(struct pcep_caps *caps,
|
||||
.s_addr,
|
||||
hop->nai.remote_iface);
|
||||
break;
|
||||
default:
|
||||
case PCEP_SR_SUBOBJ_NAI_ABSENT:
|
||||
case PCEP_SR_SUBOBJ_NAI_LINK_LOCAL_IPV6_ADJACENCY:
|
||||
case PCEP_SR_SUBOBJ_NAI_UNKNOWN:
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -854,7 +856,24 @@ void pcep_lib_parse_open(struct pcep_caps *caps, struct pcep_object_open *open)
|
||||
case PCEP_OBJ_TLV_TYPE_OBJECTIVE_FUNCTION_LIST:
|
||||
pcep_lib_parse_open_objfun_list(caps, tlv_header);
|
||||
break;
|
||||
default:
|
||||
case PCEP_OBJ_TLV_TYPE_NO_PATH_VECTOR:
|
||||
case PCEP_OBJ_TLV_TYPE_VENDOR_INFO:
|
||||
case PCEP_OBJ_TLV_TYPE_IPV4_LSP_IDENTIFIERS:
|
||||
case PCEP_OBJ_TLV_TYPE_IPV6_LSP_IDENTIFIERS:
|
||||
case PCEP_OBJ_TLV_TYPE_LSP_ERROR_CODE:
|
||||
case PCEP_OBJ_TLV_TYPE_RSVP_ERROR_SPEC:
|
||||
case PCEP_OBJ_TLV_TYPE_LSP_DB_VERSION:
|
||||
case PCEP_OBJ_TLV_TYPE_SPEAKER_ENTITY_ID:
|
||||
case PCEP_OBJ_TLV_TYPE_PATH_SETUP_TYPE:
|
||||
case PCEP_OBJ_TLV_TYPE_PATH_SETUP_TYPE_CAPABILITY:
|
||||
case PCEP_OBJ_TLV_TYPE_SRPOLICY_POL_ID:
|
||||
case PCEP_OBJ_TLV_TYPE_SRPOLICY_POL_NAME:
|
||||
case PCEP_OBJ_TLV_TYPE_SRPOLICY_CPATH_ID:
|
||||
case PCEP_OBJ_TLV_TYPE_SRPOLICY_CPATH_PREFERENCE:
|
||||
case PCEP_OBJ_TLV_TYPE_UNKNOWN:
|
||||
case PCEP_OBJ_TLV_TYPE_ARBITRARY:
|
||||
case PCEP_OBJ_TLV_TYPE_SYMBOLIC_PATH_NAME:
|
||||
case PCEP_OBJ_TYPE_CISCO_BSID:
|
||||
flog_warn(EC_PATH_PCEP_UNEXPECTED_PCEP_TLV,
|
||||
"Unexpected OPEN's TLV %s (%u)",
|
||||
pcep_tlv_type_name(tlv_header->type),
|
||||
@ -915,7 +934,26 @@ void pcep_lib_parse_rp(struct path *path, struct pcep_object_rp *rp)
|
||||
case PCEP_OBJ_TLV_TYPE_PATH_SETUP_TYPE:
|
||||
// TODO: enforce the path setup type is SR_TE_PST
|
||||
break;
|
||||
default:
|
||||
case PCEP_OBJ_TLV_TYPE_NO_PATH_VECTOR:
|
||||
case PCEP_OBJ_TLV_TYPE_OBJECTIVE_FUNCTION_LIST:
|
||||
case PCEP_OBJ_TLV_TYPE_VENDOR_INFO:
|
||||
case PCEP_OBJ_TLV_TYPE_IPV4_LSP_IDENTIFIERS:
|
||||
case PCEP_OBJ_TLV_TYPE_IPV6_LSP_IDENTIFIERS:
|
||||
case PCEP_OBJ_TLV_TYPE_LSP_ERROR_CODE:
|
||||
case PCEP_OBJ_TLV_TYPE_RSVP_ERROR_SPEC:
|
||||
case PCEP_OBJ_TLV_TYPE_LSP_DB_VERSION:
|
||||
case PCEP_OBJ_TLV_TYPE_SPEAKER_ENTITY_ID:
|
||||
case PCEP_OBJ_TLV_TYPE_SR_PCE_CAPABILITY:
|
||||
case PCEP_OBJ_TLV_TYPE_SRPOLICY_POL_ID:
|
||||
case PCEP_OBJ_TLV_TYPE_SRPOLICY_POL_NAME:
|
||||
case PCEP_OBJ_TLV_TYPE_SRPOLICY_CPATH_ID:
|
||||
case PCEP_OBJ_TLV_TYPE_SRPOLICY_CPATH_PREFERENCE:
|
||||
case PCEP_OBJ_TLV_TYPE_STATEFUL_PCE_CAPABILITY:
|
||||
case PCEP_OBJ_TLV_TYPE_UNKNOWN:
|
||||
case PCEP_OBJ_TLV_TYPE_ARBITRARY:
|
||||
case PCEP_OBJ_TLV_TYPE_SYMBOLIC_PATH_NAME:
|
||||
case PCEP_OBJ_TYPE_CISCO_BSID:
|
||||
case PCEP_OBJ_TLV_TYPE_PATH_SETUP_TYPE_CAPABILITY:
|
||||
flog_warn(EC_PATH_PCEP_UNEXPECTED_PCEP_TLV,
|
||||
"Unexpected RP's TLV %s (%u)",
|
||||
pcep_tlv_type_name(tlv->type), tlv->type);
|
||||
@ -945,7 +983,26 @@ void pcep_lib_parse_srp(struct path *path, struct pcep_object_srp *srp)
|
||||
case PCEP_OBJ_TLV_TYPE_PATH_SETUP_TYPE:
|
||||
// TODO: enforce the path setup type is SR_TE_PST
|
||||
break;
|
||||
default:
|
||||
case PCEP_OBJ_TLV_TYPE_NO_PATH_VECTOR:
|
||||
case PCEP_OBJ_TLV_TYPE_OBJECTIVE_FUNCTION_LIST:
|
||||
case PCEP_OBJ_TLV_TYPE_VENDOR_INFO:
|
||||
case PCEP_OBJ_TLV_TYPE_STATEFUL_PCE_CAPABILITY:
|
||||
case PCEP_OBJ_TLV_TYPE_SYMBOLIC_PATH_NAME:
|
||||
case PCEP_OBJ_TLV_TYPE_IPV4_LSP_IDENTIFIERS:
|
||||
case PCEP_OBJ_TLV_TYPE_IPV6_LSP_IDENTIFIERS:
|
||||
case PCEP_OBJ_TLV_TYPE_LSP_ERROR_CODE:
|
||||
case PCEP_OBJ_TLV_TYPE_RSVP_ERROR_SPEC:
|
||||
case PCEP_OBJ_TLV_TYPE_LSP_DB_VERSION:
|
||||
case PCEP_OBJ_TLV_TYPE_SPEAKER_ENTITY_ID:
|
||||
case PCEP_OBJ_TLV_TYPE_SR_PCE_CAPABILITY:
|
||||
case PCEP_OBJ_TLV_TYPE_PATH_SETUP_TYPE_CAPABILITY:
|
||||
case PCEP_OBJ_TLV_TYPE_SRPOLICY_POL_ID:
|
||||
case PCEP_OBJ_TLV_TYPE_SRPOLICY_POL_NAME:
|
||||
case PCEP_OBJ_TLV_TYPE_SRPOLICY_CPATH_ID:
|
||||
case PCEP_OBJ_TLV_TYPE_SRPOLICY_CPATH_PREFERENCE:
|
||||
case PCEP_OBJ_TLV_TYPE_UNKNOWN:
|
||||
case PCEP_OBJ_TYPE_CISCO_BSID:
|
||||
case PCEP_OBJ_TLV_TYPE_ARBITRARY:
|
||||
flog_warn(EC_PATH_PCEP_UNEXPECTED_PCEP_TLV,
|
||||
"Unexpected SRP's TLV %s (%u)",
|
||||
pcep_tlv_type_name(tlv->type), tlv->type);
|
||||
@ -991,7 +1048,25 @@ void pcep_lib_parse_lsp(struct path *path, struct pcep_object_lsp *lsp)
|
||||
path->binding_sid = ntohl(path->binding_sid);
|
||||
path->binding_sid = (path->binding_sid >> 12);
|
||||
break;
|
||||
default:
|
||||
case PCEP_OBJ_TLV_TYPE_NO_PATH_VECTOR:
|
||||
case PCEP_OBJ_TLV_TYPE_OBJECTIVE_FUNCTION_LIST:
|
||||
case PCEP_OBJ_TLV_TYPE_VENDOR_INFO:
|
||||
case PCEP_OBJ_TLV_TYPE_IPV4_LSP_IDENTIFIERS:
|
||||
case PCEP_OBJ_TLV_TYPE_IPV6_LSP_IDENTIFIERS:
|
||||
case PCEP_OBJ_TLV_TYPE_LSP_ERROR_CODE:
|
||||
case PCEP_OBJ_TLV_TYPE_RSVP_ERROR_SPEC:
|
||||
case PCEP_OBJ_TLV_TYPE_LSP_DB_VERSION:
|
||||
case PCEP_OBJ_TLV_TYPE_SPEAKER_ENTITY_ID:
|
||||
case PCEP_OBJ_TLV_TYPE_SR_PCE_CAPABILITY:
|
||||
case PCEP_OBJ_TLV_TYPE_PATH_SETUP_TYPE:
|
||||
case PCEP_OBJ_TLV_TYPE_PATH_SETUP_TYPE_CAPABILITY:
|
||||
case PCEP_OBJ_TLV_TYPE_SRPOLICY_POL_ID:
|
||||
case PCEP_OBJ_TLV_TYPE_SRPOLICY_POL_NAME:
|
||||
case PCEP_OBJ_TLV_TYPE_SRPOLICY_CPATH_ID:
|
||||
case PCEP_OBJ_TLV_TYPE_SRPOLICY_CPATH_PREFERENCE:
|
||||
case PCEP_OBJ_TLV_TYPE_STATEFUL_PCE_CAPABILITY:
|
||||
case PCEP_OBJ_TLV_TYPE_UNKNOWN:
|
||||
case PCEP_OBJ_TLV_TYPE_ARBITRARY:
|
||||
flog_warn(EC_PATH_PCEP_UNEXPECTED_PCEP_TLV,
|
||||
"Unexpected LSP TLV %s (%u)",
|
||||
pcep_tlv_type_name(tlv->type), tlv->type);
|
||||
@ -1082,7 +1157,12 @@ void pcep_lib_parse_ero(struct path *path, struct pcep_object_ro *ero)
|
||||
hop = pcep_lib_parse_ero_sr(
|
||||
hop, (struct pcep_ro_subobj_sr *)obj);
|
||||
break;
|
||||
default:
|
||||
case RO_SUBOBJ_TYPE_IPV4:
|
||||
case RO_SUBOBJ_TYPE_IPV6:
|
||||
case RO_SUBOBJ_TYPE_LABEL:
|
||||
case RO_SUBOBJ_TYPE_UNNUM:
|
||||
case RO_SUBOBJ_TYPE_ASN:
|
||||
case RO_SUBOBJ_UNKNOWN:
|
||||
flog_warn(EC_PATH_PCEP_UNEXPECTED_PCEP_ERO_SUBOBJ,
|
||||
"Unexpected ERO sub-object %s (%u)",
|
||||
pcep_ro_type_name(obj->ro_subobj_type),
|
||||
@ -1181,7 +1261,9 @@ struct path_hop *pcep_lib_parse_ero_sr(struct path_hop *next,
|
||||
assert(n->data != NULL);
|
||||
hop->nai.remote_iface = *(uint32_t *)n->data;
|
||||
break;
|
||||
default:
|
||||
case PCEP_SR_SUBOBJ_NAI_ABSENT:
|
||||
case PCEP_SR_SUBOBJ_NAI_LINK_LOCAL_IPV6_ADJACENCY:
|
||||
case PCEP_SR_SUBOBJ_NAI_UNKNOWN:
|
||||
hop->has_nai = false;
|
||||
flog_warn(EC_PATH_PCEP_UNEXPECTED_SR_NAI,
|
||||
"Unexpected SR segment NAI type %s (%u)",
|
||||
|
@ -450,9 +450,11 @@ int pcep_pcc_disable(struct ctrl_state *ctrl_state, struct pcc_state *pcc_state)
|
||||
pcc_state->sess = NULL;
|
||||
pcc_state->status = PCEP_PCC_DISCONNECTED;
|
||||
return 0;
|
||||
default:
|
||||
case PCEP_PCC_INITIALIZED:
|
||||
return 1;
|
||||
}
|
||||
|
||||
assert(!"Reached end of function where we are not expecting to");
|
||||
}
|
||||
|
||||
void pcep_pcc_sync_path(struct ctrl_state *ctrl_state,
|
||||
@ -614,7 +616,8 @@ void pcep_pcc_timeout_handler(struct ctrl_state *ctrl_state,
|
||||
free_req_entry(req);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
case TO_UNDEFINED:
|
||||
case TO_MAX:
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -674,7 +677,7 @@ void pcep_pcc_pathd_event_handler(struct ctrl_state *ctrl_state,
|
||||
if (pcc_state->caps.is_stateful)
|
||||
send_report(pcc_state, path);
|
||||
return;
|
||||
default:
|
||||
case PCEP_PATH_UNDEFINED:
|
||||
flog_warn(EC_PATH_PCEP_RECOVERABLE_INTERNAL_ERROR,
|
||||
"Unexpected pathd event received by pcc %s: %u",
|
||||
pcc_state->tag, type);
|
||||
@ -748,7 +751,7 @@ void pcep_pcc_pcep_event_handler(struct ctrl_state *ctrl_state,
|
||||
|| pcc_state->status == PCEP_PCC_OPERATING);
|
||||
handle_pcep_message(ctrl_state, pcc_state, event->message);
|
||||
break;
|
||||
default:
|
||||
case PCC_CONNECTION_FAILURE:
|
||||
flog_warn(EC_PATH_PCEP_UNEXPECTED_PCEPLIB_EVENT,
|
||||
"Unexpected event from pceplib: %s",
|
||||
format_pcep_event(event));
|
||||
@ -1179,7 +1182,15 @@ void handle_pcep_message(struct ctrl_state *ctrl_state,
|
||||
case PCEP_TYPE_PCREP:
|
||||
handle_pcep_comp_reply(ctrl_state, pcc_state, msg);
|
||||
break;
|
||||
default:
|
||||
case PCEP_TYPE_OPEN:
|
||||
case PCEP_TYPE_KEEPALIVE:
|
||||
case PCEP_TYPE_PCREQ:
|
||||
case PCEP_TYPE_PCNOTF:
|
||||
case PCEP_TYPE_ERROR:
|
||||
case PCEP_TYPE_CLOSE:
|
||||
case PCEP_TYPE_REPORT:
|
||||
case PCEP_TYPE_START_TLS:
|
||||
case PCEP_TYPE_MAX:
|
||||
flog_warn(EC_PATH_PCEP_UNEXPECTED_PCEP_MESSAGE,
|
||||
"Unexpected pcep message from pceplib: %s",
|
||||
format_pcep_message(msg));
|
||||
@ -1953,9 +1964,11 @@ static uint32_t hash_nbkey(const struct lsp_nb_key *nbkey)
|
||||
case IPADDR_V6:
|
||||
return jhash(&nbkey->endpoint.ipaddr_v6,
|
||||
sizeof(nbkey->endpoint.ipaddr_v6), hash);
|
||||
default:
|
||||
case IPADDR_NONE:
|
||||
return hash;
|
||||
}
|
||||
|
||||
assert(!"Reached end of function where we were not expecting to");
|
||||
}
|
||||
|
||||
static int cmp_nbkey(const struct lsp_nb_key *a, const struct lsp_nb_key *b)
|
||||
|
@ -527,7 +527,7 @@ uint32_t path_ted_config_write(struct vty *vty)
|
||||
case IMPORT_OSPFv3:
|
||||
vty_out(vty, " mpls-te import ospfv3\n");
|
||||
break;
|
||||
default:
|
||||
case IMPORT_UNKNOWN:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -281,7 +281,8 @@ int srte_segment_entry_set_nai(struct srte_segment_entry *segment,
|
||||
segment->nai_local_iface = local_iface;
|
||||
status = srte_ted_do_query_type_e(segment, &pre, local_iface);
|
||||
break;
|
||||
default:
|
||||
case SRTE_SEGMENT_NAI_TYPE_NONE:
|
||||
case SRTE_SEGMENT_NAI_TYPE_IPV6_ADJACENCY_LINK_LOCAL_ADDRESSES:
|
||||
segment->nai_local_addr.ipa_type = IPADDR_NONE;
|
||||
segment->nai_local_iface = 0;
|
||||
segment->nai_remote_addr.ipa_type = IPADDR_NONE;
|
||||
@ -472,7 +473,11 @@ int srte_policy_update_ted_sid(void)
|
||||
s_entry, &prefix_cli,
|
||||
s_entry->nai_algorithm);
|
||||
break;
|
||||
default:
|
||||
case SRTE_SEGMENT_NAI_TYPE_NONE:
|
||||
case SRTE_SEGMENT_NAI_TYPE_IPV4_NODE:
|
||||
case SRTE_SEGMENT_NAI_TYPE_IPV6_NODE:
|
||||
case SRTE_SEGMENT_NAI_TYPE_IPV4_UNNUMBERED_ADJACENCY:
|
||||
case SRTE_SEGMENT_NAI_TYPE_IPV6_ADJACENCY_LINK_LOCAL_ADDRESSES:
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -1025,9 +1030,11 @@ static uint32_t filter_type_to_flag(enum affinity_filter_type type)
|
||||
return F_CANDIDATE_HAS_INCLUDE_ANY;
|
||||
case AFFINITY_FILTER_INCLUDE_ALL:
|
||||
return F_CANDIDATE_HAS_INCLUDE_ALL;
|
||||
default:
|
||||
case AFFINITY_FILTER_UNDEFINED:
|
||||
return 0;
|
||||
}
|
||||
|
||||
assert(!"Reached end of function we should never hit");
|
||||
}
|
||||
|
||||
static const char *filter_type_name(enum affinity_filter_type type)
|
||||
@ -1039,9 +1046,11 @@ static const char *filter_type_name(enum affinity_filter_type type)
|
||||
return "include-any";
|
||||
case AFFINITY_FILTER_INCLUDE_ALL:
|
||||
return "include-all";
|
||||
default:
|
||||
case AFFINITY_FILTER_UNDEFINED:
|
||||
return "unknown";
|
||||
}
|
||||
|
||||
assert(!"Reached end of function we should never hit");
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1155,7 +1164,9 @@ void srte_candidate_status_update(struct srte_candidate *candidate, int status)
|
||||
case SRTE_POLICY_STATUS_GOING_UP:
|
||||
case SRTE_POLICY_STATUS_DOWN:
|
||||
return;
|
||||
default:
|
||||
case SRTE_POLICY_STATUS_UNKNOWN:
|
||||
case SRTE_POLICY_STATUS_UP:
|
||||
case SRTE_POLICY_STATUS_GOING_DOWN:
|
||||
policy->status = SRTE_POLICY_STATUS_DOWN;
|
||||
srte_policy_status_log(policy);
|
||||
break;
|
||||
@ -1165,7 +1176,10 @@ void srte_candidate_status_update(struct srte_candidate *candidate, int status)
|
||||
switch (policy->status) {
|
||||
case SRTE_POLICY_STATUS_UP:
|
||||
return;
|
||||
default:
|
||||
case SRTE_POLICY_STATUS_UNKNOWN:
|
||||
case SRTE_POLICY_STATUS_DOWN:
|
||||
case SRTE_POLICY_STATUS_GOING_DOWN:
|
||||
case SRTE_POLICY_STATUS_GOING_UP:
|
||||
policy->status = SRTE_POLICY_STATUS_UP;
|
||||
srte_policy_status_log(policy);
|
||||
break;
|
||||
@ -1263,9 +1277,11 @@ const char *srte_origin2str(enum srte_protocol_origin origin)
|
||||
return "BGP";
|
||||
case SRTE_ORIGIN_LOCAL:
|
||||
return "Local";
|
||||
default:
|
||||
case SRTE_ORIGIN_UNDEFINED:
|
||||
return "Unknown";
|
||||
}
|
||||
|
||||
assert(!"Reached end of function we should never hit");
|
||||
}
|
||||
|
||||
void path_policy_show_debugging(struct vty *vty)
|
||||
|
@ -547,7 +547,8 @@ void pbr_nht_set_seq_nhg_data(struct pbr_map_sequence *pbrms,
|
||||
case NEXTHOP_TYPE_IPV4:
|
||||
case NEXTHOP_TYPE_IPV4_IFINDEX:
|
||||
pbrms->family = AF_INET;
|
||||
default:
|
||||
case NEXTHOP_TYPE_IFINDEX:
|
||||
case NEXTHOP_TYPE_BLACKHOLE:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -923,12 +923,13 @@ uint16_t pcep_encode_obj_ro(struct pcep_object_header *hdr,
|
||||
index += LENGTH_10WORDS;
|
||||
break;
|
||||
|
||||
default:
|
||||
case PCEP_SR_SUBOBJ_NAI_ABSENT:
|
||||
case PCEP_SR_SUBOBJ_NAI_UNKNOWN:
|
||||
break;
|
||||
}
|
||||
} break;
|
||||
|
||||
default:
|
||||
case RO_SUBOBJ_UNKNOWN:
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -1712,7 +1713,7 @@ struct pcep_object_header *pcep_decode_obj_ro(struct pcep_object_header *hdr,
|
||||
} break;
|
||||
|
||||
case PCEP_SR_SUBOBJ_NAI_ABSENT:
|
||||
default:
|
||||
case PCEP_SR_SUBOBJ_NAI_UNKNOWN:
|
||||
break;
|
||||
}
|
||||
} break;
|
||||
|
@ -313,7 +313,25 @@ void pcep_obj_free_tlv(struct pcep_object_tlv_header *tlv)
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
case PCEP_OBJ_TLV_TYPE_NO_PATH_VECTOR:
|
||||
case PCEP_OBJ_TLV_TYPE_OBJECTIVE_FUNCTION_LIST:
|
||||
case PCEP_OBJ_TLV_TYPE_VENDOR_INFO:
|
||||
case PCEP_OBJ_TLV_TYPE_STATEFUL_PCE_CAPABILITY:
|
||||
case PCEP_OBJ_TLV_TYPE_SYMBOLIC_PATH_NAME:
|
||||
case PCEP_OBJ_TLV_TYPE_IPV4_LSP_IDENTIFIERS:
|
||||
case PCEP_OBJ_TLV_TYPE_IPV6_LSP_IDENTIFIERS:
|
||||
case PCEP_OBJ_TLV_TYPE_LSP_ERROR_CODE:
|
||||
case PCEP_OBJ_TLV_TYPE_RSVP_ERROR_SPEC:
|
||||
case PCEP_OBJ_TLV_TYPE_LSP_DB_VERSION:
|
||||
case PCEP_OBJ_TLV_TYPE_SR_PCE_CAPABILITY:
|
||||
case PCEP_OBJ_TLV_TYPE_PATH_SETUP_TYPE:
|
||||
case PCEP_OBJ_TLV_TYPE_SRPOLICY_POL_ID:
|
||||
case PCEP_OBJ_TLV_TYPE_SRPOLICY_POL_NAME:
|
||||
case PCEP_OBJ_TLV_TYPE_SRPOLICY_CPATH_ID:
|
||||
case PCEP_OBJ_TLV_TYPE_SRPOLICY_CPATH_PREFERENCE:
|
||||
case PCEP_OBJ_TLV_TYPE_UNKNOWN:
|
||||
case PCEP_OBJ_TYPE_CISCO_BSID:
|
||||
case PCEP_OBJ_TLV_TYPE_ARBITRARY:
|
||||
break;
|
||||
}
|
||||
|
||||
@ -387,7 +405,25 @@ void pcep_obj_free_object(struct pcep_object_header *obj)
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
case PCEP_OBJ_CLASS_OPEN:
|
||||
case PCEP_OBJ_CLASS_RP:
|
||||
case PCEP_OBJ_CLASS_NOPATH:
|
||||
case PCEP_OBJ_CLASS_ENDPOINTS:
|
||||
case PCEP_OBJ_CLASS_BANDWIDTH:
|
||||
case PCEP_OBJ_CLASS_METRIC:
|
||||
case PCEP_OBJ_CLASS_LSPA:
|
||||
case PCEP_OBJ_CLASS_NOTF:
|
||||
case PCEP_OBJ_CLASS_ERROR:
|
||||
case PCEP_OBJ_CLASS_CLOSE:
|
||||
case PCEP_OBJ_CLASS_OF:
|
||||
case PCEP_OBJ_CLASS_LSP:
|
||||
case PCEP_OBJ_CLASS_SRP:
|
||||
case PCEP_OBJ_CLASS_VENDOR_INFO:
|
||||
case PCEP_OBJ_CLASS_INTER_LAYER:
|
||||
case PCEP_OBJ_CLASS_REQ_ADAP_CAP:
|
||||
case PCEP_OBJ_CLASS_SERVER_IND:
|
||||
case PCEP_OBJ_CLASS_ASSOCIATION:
|
||||
case PCEP_OBJ_CLASS_MAX:
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -242,7 +242,22 @@ bool verify_pcep_open_object(pcep_session *session,
|
||||
case PCEP_OBJ_TLV_TYPE_SR_PCE_CAPABILITY:
|
||||
break;
|
||||
|
||||
default:
|
||||
case PCEP_OBJ_TLV_TYPE_NO_PATH_VECTOR:
|
||||
case PCEP_OBJ_TLV_TYPE_OBJECTIVE_FUNCTION_LIST:
|
||||
case PCEP_OBJ_TLV_TYPE_VENDOR_INFO:
|
||||
case PCEP_OBJ_TLV_TYPE_SYMBOLIC_PATH_NAME:
|
||||
case PCEP_OBJ_TLV_TYPE_IPV4_LSP_IDENTIFIERS:
|
||||
case PCEP_OBJ_TLV_TYPE_IPV6_LSP_IDENTIFIERS:
|
||||
case PCEP_OBJ_TLV_TYPE_LSP_ERROR_CODE:
|
||||
case PCEP_OBJ_TLV_TYPE_RSVP_ERROR_SPEC:
|
||||
case PCEP_OBJ_TLV_TYPE_PATH_SETUP_TYPE:
|
||||
case PCEP_OBJ_TLV_TYPE_SRPOLICY_POL_ID:
|
||||
case PCEP_OBJ_TLV_TYPE_SRPOLICY_POL_NAME:
|
||||
case PCEP_OBJ_TLV_TYPE_SRPOLICY_CPATH_ID:
|
||||
case PCEP_OBJ_TLV_TYPE_SRPOLICY_CPATH_PREFERENCE:
|
||||
case PCEP_OBJ_TLV_TYPE_UNKNOWN:
|
||||
case PCEP_OBJ_TYPE_CISCO_BSID:
|
||||
case PCEP_OBJ_TLV_TYPE_ARBITRARY:
|
||||
/* TODO how to handle unrecognized TLV ?? */
|
||||
pcep_log(
|
||||
LOG_INFO,
|
||||
@ -895,7 +910,7 @@ void handle_timer_event(pcep_session_event *event)
|
||||
|
||||
case SESSION_STATE_INITIALIZED:
|
||||
case SESSION_STATE_PCEP_CONNECTED:
|
||||
default:
|
||||
case SESSION_STATE_UNKNOWN:
|
||||
pcep_log(
|
||||
LOG_INFO,
|
||||
"%s: handle_timer_event unrecognized state transition, timer_id [%d] state [%d] session [%d]",
|
||||
@ -1120,7 +1135,8 @@ void handle_socket_comm_event(pcep_session_event *event)
|
||||
message_enqueued = true;
|
||||
break;
|
||||
|
||||
default:
|
||||
case PCEP_TYPE_START_TLS:
|
||||
case PCEP_TYPE_MAX:
|
||||
pcep_log(LOG_INFO, "%s: \t UnSupported message",
|
||||
__func__);
|
||||
send_pcep_error(session,
|
||||
|
@ -529,7 +529,7 @@ static void on_assert_timer(struct thread *t)
|
||||
case PIM_IFASSERT_I_AM_LOSER:
|
||||
assert_action_a5(ch);
|
||||
break;
|
||||
default: {
|
||||
case PIM_IFASSERT_NOINFO: {
|
||||
if (PIM_DEBUG_PIM_EVENTS)
|
||||
zlog_warn(
|
||||
"%s: (S,G)=%s invalid assert state %d on interface %s",
|
||||
|
@ -871,7 +871,11 @@ int pim_zebra_mlag_handle_msg(int cmd, struct zclient *zclient,
|
||||
pim_mlag_process_mroute_del(msg);
|
||||
}
|
||||
} break;
|
||||
default:
|
||||
case MLAG_MSG_NONE:
|
||||
case MLAG_REGISTER:
|
||||
case MLAG_DEREGISTER:
|
||||
case MLAG_DUMP:
|
||||
case MLAG_PIM_CFG_DUMP:
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
|
@ -281,7 +281,12 @@ void pim_msdp_write(struct thread *thread)
|
||||
case PIM_MSDP_V4_SOURCE_ACTIVE:
|
||||
mp->sa_tx_cnt++;
|
||||
break;
|
||||
default:;
|
||||
case PIM_MSDP_V4_SOURCE_ACTIVE_REQUEST:
|
||||
case PIM_MSDP_V4_SOURCE_ACTIVE_RESPONSE:
|
||||
case PIM_MSDP_RESERVED:
|
||||
case PIM_MSDP_TRACEROUTE_PROGRESS:
|
||||
case PIM_MSDP_TRACEROUTE_REPLY:
|
||||
break;
|
||||
}
|
||||
if (PIM_DEBUG_MSDP_PACKETS) {
|
||||
pim_msdp_pkt_dump(mp, type, len, false /*rx*/, s);
|
||||
@ -626,8 +631,13 @@ static void pim_msdp_pkt_rx(struct pim_msdp_peer *mp)
|
||||
mp->sa_rx_cnt++;
|
||||
pim_msdp_pkt_sa_rx(mp, len);
|
||||
break;
|
||||
default:
|
||||
case PIM_MSDP_V4_SOURCE_ACTIVE_REQUEST:
|
||||
case PIM_MSDP_V4_SOURCE_ACTIVE_RESPONSE:
|
||||
case PIM_MSDP_RESERVED:
|
||||
case PIM_MSDP_TRACEROUTE_PROGRESS:
|
||||
case PIM_MSDP_TRACEROUTE_REPLY:
|
||||
mp->unk_rx_cnt++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -354,6 +354,9 @@ bool pim_nht_bsr_rpf_check(struct pim_instance *pim, pim_addr bsr_addr,
|
||||
case NEXTHOP_TYPE_IPV4_IFINDEX:
|
||||
nhaddr = nh->gate.ipv4;
|
||||
break;
|
||||
case NEXTHOP_TYPE_IPV6:
|
||||
case NEXTHOP_TYPE_IPV6_IFINDEX:
|
||||
continue;
|
||||
#else
|
||||
case NEXTHOP_TYPE_IPV6:
|
||||
if (nh->ifindex == IFINDEX_INTERNAL)
|
||||
@ -363,12 +366,15 @@ bool pim_nht_bsr_rpf_check(struct pim_instance *pim, pim_addr bsr_addr,
|
||||
case NEXTHOP_TYPE_IPV6_IFINDEX:
|
||||
nhaddr = nh->gate.ipv6;
|
||||
break;
|
||||
case NEXTHOP_TYPE_IPV4:
|
||||
case NEXTHOP_TYPE_IPV4_IFINDEX:
|
||||
continue;
|
||||
#endif
|
||||
case NEXTHOP_TYPE_IFINDEX:
|
||||
nhaddr = bsr_addr;
|
||||
break;
|
||||
|
||||
default:
|
||||
case NEXTHOP_TYPE_BLACKHOLE:
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -263,6 +263,7 @@ static int zclient_read_nexthop(struct pim_instance *pim,
|
||||
&nh_ip4, nh_ifi, &addr);
|
||||
#endif
|
||||
break;
|
||||
case NEXTHOP_TYPE_IPV6:
|
||||
case NEXTHOP_TYPE_IPV6_IFINDEX:
|
||||
stream_get(&nh_ip6, s, sizeof(nh_ip6));
|
||||
nh_ifi = stream_getl(s);
|
||||
@ -307,7 +308,7 @@ static int zclient_read_nexthop(struct pim_instance *pim,
|
||||
++num_ifindex;
|
||||
#endif
|
||||
break;
|
||||
default:
|
||||
case NEXTHOP_TYPE_BLACKHOLE:
|
||||
/* do nothing */
|
||||
zlog_warn(
|
||||
"%s: found non-ifindex nexthop type=%d for address %pPAs(%s)",
|
||||
|
@ -35,7 +35,7 @@ int32_t mlag_bulk_cnt;
|
||||
static void pim_mlag_zebra_fill_header(enum mlag_msg_type msg_type)
|
||||
{
|
||||
uint32_t fill_msg_type = msg_type;
|
||||
uint16_t data_len;
|
||||
uint16_t data_len = 0;
|
||||
uint16_t msg_cnt = 1;
|
||||
|
||||
if (msg_type == MLAG_MSG_NONE)
|
||||
@ -54,7 +54,14 @@ static void pim_mlag_zebra_fill_header(enum mlag_msg_type msg_type)
|
||||
data_len = sizeof(struct mlag_mroute_del);
|
||||
fill_msg_type = MLAG_MROUTE_DEL_BULK;
|
||||
break;
|
||||
default:
|
||||
case MLAG_MSG_NONE:
|
||||
case MLAG_STATUS_UPDATE:
|
||||
case MLAG_DUMP:
|
||||
case MLAG_MROUTE_ADD_BULK:
|
||||
case MLAG_MROUTE_DEL_BULK:
|
||||
case MLAG_PIM_CFG_DUMP:
|
||||
case MLAG_VXLAN_UPDATE:
|
||||
case MLAG_PEER_FRR_STATUS:
|
||||
data_len = 0;
|
||||
break;
|
||||
}
|
||||
|
@ -77,7 +77,7 @@ static inline int qpb__address_family__get(Qpb__AddressFamily pb_family,
|
||||
|
||||
case QPB__ADDRESS_FAMILY__UNKNOWN_AF:
|
||||
return 0;
|
||||
default: /* protobuf "magic value" _QPB__ADDRESS_FAMILY_IS_INT_SIZE */
|
||||
case _QPB__ADDRESS_FAMILY_IS_INT_SIZE:
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -236,9 +236,14 @@ struct yang_data *ripd_instance_state_routes_route_next_hop_get_elem(
|
||||
case NEXTHOP_TYPE_IPV4:
|
||||
case NEXTHOP_TYPE_IPV4_IFINDEX:
|
||||
return yang_data_new_ipv4(args->xpath, &rinfo->nh.gate.ipv4);
|
||||
default:
|
||||
case NEXTHOP_TYPE_IFINDEX:
|
||||
case NEXTHOP_TYPE_IPV6:
|
||||
case NEXTHOP_TYPE_IPV6_IFINDEX:
|
||||
case NEXTHOP_TYPE_BLACKHOLE:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
assert(!"Reached end of function where we do not expect to reach");
|
||||
}
|
||||
|
||||
/*
|
||||
@ -257,9 +262,14 @@ struct yang_data *ripd_instance_state_routes_route_interface_get_elem(
|
||||
return yang_data_new_string(
|
||||
args->xpath,
|
||||
ifindex2ifname(rinfo->nh.ifindex, rip->vrf->vrf_id));
|
||||
default:
|
||||
case NEXTHOP_TYPE_IPV4:
|
||||
case NEXTHOP_TYPE_IPV6:
|
||||
case NEXTHOP_TYPE_IPV6_IFINDEX:
|
||||
case NEXTHOP_TYPE_BLACKHOLE:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
assert(!"Reached end of function where we do not expect to reach");
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -1933,7 +1933,8 @@ void ripng_event(struct ripng *ripng, enum ripng_event event, int sock)
|
||||
thread_add_event(master, ripng_triggered_update, ripng,
|
||||
0, &ripng->t_triggered_update);
|
||||
break;
|
||||
default:
|
||||
case RIPNG_ZEBRA:
|
||||
case RIPNG_REQUEST_EVENT:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -209,7 +209,8 @@ bool static_add_nexthop_validate(const char *nh_vrf_name,
|
||||
vrf->vrf_id))
|
||||
return false;
|
||||
break;
|
||||
default:
|
||||
case STATIC_IFNAME:
|
||||
case STATIC_BLACKHOLE:
|
||||
break;
|
||||
}
|
||||
|
||||
@ -302,7 +303,8 @@ struct static_nexthop *static_add_nexthop(struct static_path *pn,
|
||||
case STATIC_IPV6_GATEWAY_IFNAME:
|
||||
nh->addr.ipv6 = ipaddr->ipaddr_v6;
|
||||
break;
|
||||
default:
|
||||
case STATIC_IFNAME:
|
||||
case STATIC_BLACKHOLE:
|
||||
break;
|
||||
}
|
||||
/*
|
||||
|
@ -135,7 +135,9 @@ static int static_route_nb_run(struct vty *vty, struct static_route_args *args)
|
||||
if (args->source)
|
||||
assert(!!str2prefix(args->source, &src));
|
||||
break;
|
||||
default:
|
||||
case AFI_L2VPN:
|
||||
case AFI_UNSPEC:
|
||||
case AFI_MAX:
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -885,7 +885,7 @@ static int run_stop_schedule(void)
|
||||
strerror(errno));
|
||||
}
|
||||
|
||||
default:
|
||||
case sched_forever:
|
||||
assert(!"schedule[].type value must be valid");
|
||||
}
|
||||
|
||||
|
@ -247,7 +247,9 @@ void connected_up(struct interface *ifp, struct connected *ifc)
|
||||
return;
|
||||
#endif
|
||||
break;
|
||||
default:
|
||||
case AFI_UNSPEC:
|
||||
case AFI_L2VPN:
|
||||
case AFI_MAX:
|
||||
flog_warn(EC_ZEBRA_CONNECTED_AFI_UNKNOWN,
|
||||
"Received unknown AFI: %s", afi2str(afi));
|
||||
return;
|
||||
@ -435,7 +437,9 @@ void connected_down(struct interface *ifp, struct connected *ifc)
|
||||
if (IN6_IS_ADDR_UNSPECIFIED(&p.u.prefix6))
|
||||
return;
|
||||
break;
|
||||
default:
|
||||
case AFI_UNSPEC:
|
||||
case AFI_L2VPN:
|
||||
case AFI_MAX:
|
||||
zlog_warn("Unknown AFI: %s", afi2str(afi));
|
||||
break;
|
||||
}
|
||||
|
@ -1362,7 +1362,57 @@ static ssize_t netlink_intf_msg_encoder(struct zebra_dplane_ctx *ctx, void *buf,
|
||||
case DPLANE_OP_INTF_DELETE:
|
||||
cmd = RTM_DELLINK;
|
||||
break;
|
||||
default:
|
||||
case DPLANE_OP_NONE:
|
||||
case DPLANE_OP_ROUTE_INSTALL:
|
||||
case DPLANE_OP_ROUTE_UPDATE:
|
||||
case DPLANE_OP_ROUTE_DELETE:
|
||||
case DPLANE_OP_ROUTE_NOTIFY:
|
||||
case DPLANE_OP_NH_INSTALL:
|
||||
case DPLANE_OP_NH_UPDATE:
|
||||
case DPLANE_OP_NH_DELETE:
|
||||
case DPLANE_OP_LSP_INSTALL:
|
||||
case DPLANE_OP_LSP_DELETE:
|
||||
case DPLANE_OP_LSP_NOTIFY:
|
||||
case DPLANE_OP_LSP_UPDATE:
|
||||
case DPLANE_OP_PW_INSTALL:
|
||||
case DPLANE_OP_PW_UNINSTALL:
|
||||
case DPLANE_OP_SYS_ROUTE_ADD:
|
||||
case DPLANE_OP_SYS_ROUTE_DELETE:
|
||||
case DPLANE_OP_ADDR_INSTALL:
|
||||
case DPLANE_OP_ADDR_UNINSTALL:
|
||||
case DPLANE_OP_MAC_INSTALL:
|
||||
case DPLANE_OP_MAC_DELETE:
|
||||
case DPLANE_OP_NEIGH_INSTALL:
|
||||
case DPLANE_OP_NEIGH_UPDATE:
|
||||
case DPLANE_OP_NEIGH_DELETE:
|
||||
case DPLANE_OP_NEIGH_DISCOVER:
|
||||
case DPLANE_OP_VTEP_ADD:
|
||||
case DPLANE_OP_VTEP_DELETE:
|
||||
case DPLANE_OP_RULE_ADD:
|
||||
case DPLANE_OP_RULE_DELETE:
|
||||
case DPLANE_OP_RULE_UPDATE:
|
||||
case DPLANE_OP_BR_PORT_UPDATE:
|
||||
case DPLANE_OP_IPTABLE_ADD:
|
||||
case DPLANE_OP_IPTABLE_DELETE:
|
||||
case DPLANE_OP_IPSET_ADD:
|
||||
case DPLANE_OP_IPSET_ENTRY_ADD:
|
||||
case DPLANE_OP_IPSET_ENTRY_DELETE:
|
||||
case DPLANE_OP_IPSET_DELETE:
|
||||
case DPLANE_OP_NEIGH_IP_INSTALL:
|
||||
case DPLANE_OP_NEIGH_IP_DELETE:
|
||||
case DPLANE_OP_NEIGH_TABLE_UPDATE:
|
||||
case DPLANE_OP_GRE_SET:
|
||||
case DPLANE_OP_INTF_ADDR_ADD:
|
||||
case DPLANE_OP_INTF_ADDR_DEL:
|
||||
case DPLANE_OP_INTF_NETCONFIG:
|
||||
case DPLANE_OP_TC_QDISC_INSTALL:
|
||||
case DPLANE_OP_TC_QDISC_UNINSTALL:
|
||||
case DPLANE_OP_TC_CLASS_ADD:
|
||||
case DPLANE_OP_TC_CLASS_DELETE:
|
||||
case DPLANE_OP_TC_CLASS_UPDATE:
|
||||
case DPLANE_OP_TC_FILTER_ADD:
|
||||
case DPLANE_OP_TC_FILTER_DELETE:
|
||||
case DPLANE_OP_TC_FILTER_UPDATE:
|
||||
flog_err(
|
||||
EC_ZEBRA_NHG_FIB_UPDATE,
|
||||
"Context received for kernel interface update with incorrect OP code (%u)",
|
||||
|
@ -1226,7 +1226,8 @@ int rtm_write(int message, union sockunion *dest, union sockunion *mask,
|
||||
case BLACKHOLE_REJECT:
|
||||
msg.rtm.rtm_flags |= RTF_REJECT;
|
||||
break;
|
||||
default:
|
||||
case BLACKHOLE_NULL:
|
||||
case BLACKHOLE_ADMINPROHIB:
|
||||
msg.rtm.rtm_flags |= RTF_BLACKHOLE;
|
||||
break;
|
||||
}
|
||||
|
@ -113,9 +113,13 @@ int router_id_get(afi_t afi, struct prefix *p, struct zebra_vrf *zvrf)
|
||||
if (addr)
|
||||
memcpy(&p->u.prefix6, addr, sizeof(struct in6_addr));
|
||||
return 0;
|
||||
default:
|
||||
case AFI_UNSPEC:
|
||||
case AFI_L2VPN:
|
||||
case AFI_MAX:
|
||||
return -1;
|
||||
}
|
||||
|
||||
assert(!"Reached end of function we should never hit");
|
||||
}
|
||||
|
||||
static int router_id_set(afi_t afi, struct prefix *p, struct zebra_vrf *zvrf)
|
||||
@ -133,7 +137,9 @@ static int router_id_set(afi_t afi, struct prefix *p, struct zebra_vrf *zvrf)
|
||||
case AFI_IP6:
|
||||
zvrf->rid6_user_assigned.u.prefix6 = p->u.prefix6;
|
||||
break;
|
||||
default:
|
||||
case AFI_UNSPEC:
|
||||
case AFI_L2VPN:
|
||||
case AFI_MAX:
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -1569,7 +1569,16 @@ static bool _netlink_route_build_singlepath(const struct prefix *p,
|
||||
ctx->table))
|
||||
return false;
|
||||
break;
|
||||
default:
|
||||
case ZEBRA_SEG6_LOCAL_ACTION_END_DX2:
|
||||
case ZEBRA_SEG6_LOCAL_ACTION_END_DX6:
|
||||
case ZEBRA_SEG6_LOCAL_ACTION_END_B6:
|
||||
case ZEBRA_SEG6_LOCAL_ACTION_END_B6_ENCAP:
|
||||
case ZEBRA_SEG6_LOCAL_ACTION_END_BM:
|
||||
case ZEBRA_SEG6_LOCAL_ACTION_END_S:
|
||||
case ZEBRA_SEG6_LOCAL_ACTION_END_AS:
|
||||
case ZEBRA_SEG6_LOCAL_ACTION_END_AM:
|
||||
case ZEBRA_SEG6_LOCAL_ACTION_END_BPF:
|
||||
case ZEBRA_SEG6_LOCAL_ACTION_UNSPEC:
|
||||
zlog_err("%s: unsupport seg6local behaviour action=%u",
|
||||
__func__,
|
||||
nexthop->nh_srv6->seg6local_action);
|
||||
@ -2151,7 +2160,8 @@ ssize_t netlink_route_multipath_msg_encode(int cmd,
|
||||
case BLACKHOLE_REJECT:
|
||||
req->r.rtm_type = RTN_UNREACHABLE;
|
||||
break;
|
||||
default:
|
||||
case BLACKHOLE_UNSPEC:
|
||||
case BLACKHOLE_NULL:
|
||||
req->r.rtm_type = RTN_BLACKHOLE;
|
||||
break;
|
||||
}
|
||||
@ -4448,7 +4458,7 @@ static int netlink_neigh_table_update_ctx(const struct zebra_dplane_ctx *ctx,
|
||||
static ssize_t netlink_neigh_msg_encoder(struct zebra_dplane_ctx *ctx,
|
||||
void *buf, size_t buflen)
|
||||
{
|
||||
ssize_t ret;
|
||||
ssize_t ret = 0;
|
||||
|
||||
switch (dplane_ctx_get_op(ctx)) {
|
||||
case DPLANE_OP_NEIGH_INSTALL:
|
||||
@ -4472,7 +4482,51 @@ static ssize_t netlink_neigh_msg_encoder(struct zebra_dplane_ctx *ctx,
|
||||
case DPLANE_OP_NEIGH_TABLE_UPDATE:
|
||||
ret = netlink_neigh_table_update_ctx(ctx, buf, buflen);
|
||||
break;
|
||||
default:
|
||||
case DPLANE_OP_ROUTE_INSTALL:
|
||||
case DPLANE_OP_ROUTE_UPDATE:
|
||||
case DPLANE_OP_ROUTE_DELETE:
|
||||
case DPLANE_OP_ROUTE_NOTIFY:
|
||||
case DPLANE_OP_NH_INSTALL:
|
||||
case DPLANE_OP_NH_UPDATE:
|
||||
case DPLANE_OP_NH_DELETE:
|
||||
case DPLANE_OP_LSP_INSTALL:
|
||||
case DPLANE_OP_LSP_UPDATE:
|
||||
case DPLANE_OP_LSP_DELETE:
|
||||
case DPLANE_OP_LSP_NOTIFY:
|
||||
case DPLANE_OP_PW_INSTALL:
|
||||
case DPLANE_OP_PW_UNINSTALL:
|
||||
case DPLANE_OP_SYS_ROUTE_ADD:
|
||||
case DPLANE_OP_SYS_ROUTE_DELETE:
|
||||
case DPLANE_OP_ADDR_INSTALL:
|
||||
case DPLANE_OP_ADDR_UNINSTALL:
|
||||
case DPLANE_OP_MAC_INSTALL:
|
||||
case DPLANE_OP_MAC_DELETE:
|
||||
case DPLANE_OP_RULE_ADD:
|
||||
case DPLANE_OP_RULE_DELETE:
|
||||
case DPLANE_OP_RULE_UPDATE:
|
||||
case DPLANE_OP_BR_PORT_UPDATE:
|
||||
case DPLANE_OP_IPTABLE_ADD:
|
||||
case DPLANE_OP_IPTABLE_DELETE:
|
||||
case DPLANE_OP_IPSET_ADD:
|
||||
case DPLANE_OP_IPSET_DELETE:
|
||||
case DPLANE_OP_IPSET_ENTRY_ADD:
|
||||
case DPLANE_OP_IPSET_ENTRY_DELETE:
|
||||
case DPLANE_OP_GRE_SET:
|
||||
case DPLANE_OP_INTF_ADDR_ADD:
|
||||
case DPLANE_OP_INTF_ADDR_DEL:
|
||||
case DPLANE_OP_INTF_NETCONFIG:
|
||||
case DPLANE_OP_INTF_INSTALL:
|
||||
case DPLANE_OP_INTF_UPDATE:
|
||||
case DPLANE_OP_INTF_DELETE:
|
||||
case DPLANE_OP_TC_QDISC_INSTALL:
|
||||
case DPLANE_OP_TC_QDISC_UNINSTALL:
|
||||
case DPLANE_OP_TC_CLASS_ADD:
|
||||
case DPLANE_OP_TC_CLASS_DELETE:
|
||||
case DPLANE_OP_TC_CLASS_UPDATE:
|
||||
case DPLANE_OP_TC_FILTER_ADD:
|
||||
case DPLANE_OP_TC_FILTER_DELETE:
|
||||
case DPLANE_OP_TC_FILTER_UPDATE:
|
||||
case DPLANE_OP_NONE:
|
||||
ret = -1;
|
||||
}
|
||||
|
||||
|
@ -745,7 +745,8 @@ int netlink_qdisc_change(struct nlmsghdr *h, ns_id_t ns_id, int startup)
|
||||
case TC_QDISC_NOQUEUE:
|
||||
/* "noqueue" is the default qdisc */
|
||||
break;
|
||||
default:
|
||||
case TC_QDISC_HTB:
|
||||
case TC_QDISC_UNSPEC:
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -143,7 +143,7 @@ static int zserv_encode_nexthop(struct stream *s, struct nexthop *nexthop)
|
||||
case NEXTHOP_TYPE_IFINDEX:
|
||||
stream_putl(s, nexthop->ifindex);
|
||||
break;
|
||||
default:
|
||||
case NEXTHOP_TYPE_BLACKHOLE:
|
||||
/* do nothing */
|
||||
break;
|
||||
}
|
||||
@ -576,7 +576,9 @@ int zsend_redistribute_route(int cmd, struct zserv *client,
|
||||
else
|
||||
client->redist_v6_del_cnt++;
|
||||
break;
|
||||
default:
|
||||
case AFI_L2VPN:
|
||||
case AFI_MAX:
|
||||
case AFI_UNSPEC:
|
||||
break;
|
||||
}
|
||||
|
||||
@ -3424,7 +3426,10 @@ static inline void zread_tc_filter(ZAPI_HANDLER_ARGS)
|
||||
STREAM_GETL(s, filter.filter.u.flower.classid);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
case TC_FILTER_BPF:
|
||||
case TC_FILTER_FLOW:
|
||||
case TC_FILTER_U32:
|
||||
case TC_FILTER_UNSPEC:
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -902,7 +902,7 @@ static inline int zfpm_encode_route(rib_dest_t *dest, struct route_entry *re,
|
||||
#endif /* HAVE_NETLINK */
|
||||
break;
|
||||
|
||||
default:
|
||||
case ZFPM_MSG_FORMAT_NONE:
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -315,7 +315,7 @@ static int netlink_route_info_fill(struct netlink_route_info *ri, int cmd,
|
||||
ri->rtm_type = RTN_UNREACHABLE;
|
||||
break;
|
||||
case BLACKHOLE_NULL:
|
||||
default:
|
||||
case BLACKHOLE_UNSPEC:
|
||||
ri->rtm_type = RTN_BLACKHOLE;
|
||||
break;
|
||||
}
|
||||
|
@ -186,7 +186,8 @@ static Fpm__AddRoute *create_add_route_message(qpb_allocator_t *allocator,
|
||||
msg->route_type = FPM__ROUTE_TYPE__UNREACHABLE;
|
||||
break;
|
||||
case BLACKHOLE_NULL:
|
||||
default:
|
||||
case BLACKHOLE_UNSPEC:
|
||||
case BLACKHOLE_ADMINPROHIB:
|
||||
msg->route_type = FPM__ROUTE_TYPE__BLACKHOLE;
|
||||
break;
|
||||
}
|
||||
|
@ -888,7 +888,14 @@ int zebra_mlag_protobuf_encode_client_data(struct stream *s, uint32_t *msg_type)
|
||||
if (cleanup)
|
||||
return -1;
|
||||
} break;
|
||||
default:
|
||||
case MLAG_REGISTER:
|
||||
case MLAG_DEREGISTER:
|
||||
case MLAG_STATUS_UPDATE:
|
||||
case MLAG_DUMP:
|
||||
case MLAG_PIM_CFG_DUMP:
|
||||
case MLAG_VXLAN_UPDATE:
|
||||
case MLAG_PEER_FRR_STATUS:
|
||||
case MLAG_MSG_NONE:
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -1848,7 +1848,57 @@ void zebra_mpls_lsp_dplane_result(struct zebra_dplane_ctx *ctx)
|
||||
ZEBRA_SR_POLICY_LABEL_REMOVED);
|
||||
break;
|
||||
|
||||
default:
|
||||
case DPLANE_OP_LSP_NOTIFY:
|
||||
case DPLANE_OP_NONE:
|
||||
case DPLANE_OP_ROUTE_INSTALL:
|
||||
case DPLANE_OP_ROUTE_UPDATE:
|
||||
case DPLANE_OP_ROUTE_DELETE:
|
||||
case DPLANE_OP_ROUTE_NOTIFY:
|
||||
case DPLANE_OP_NH_INSTALL:
|
||||
case DPLANE_OP_NH_UPDATE:
|
||||
case DPLANE_OP_NH_DELETE:
|
||||
case DPLANE_OP_PW_INSTALL:
|
||||
case DPLANE_OP_PW_UNINSTALL:
|
||||
case DPLANE_OP_SYS_ROUTE_ADD:
|
||||
case DPLANE_OP_SYS_ROUTE_DELETE:
|
||||
case DPLANE_OP_ADDR_INSTALL:
|
||||
case DPLANE_OP_ADDR_UNINSTALL:
|
||||
case DPLANE_OP_MAC_INSTALL:
|
||||
case DPLANE_OP_MAC_DELETE:
|
||||
case DPLANE_OP_NEIGH_INSTALL:
|
||||
case DPLANE_OP_NEIGH_UPDATE:
|
||||
case DPLANE_OP_NEIGH_DELETE:
|
||||
case DPLANE_OP_VTEP_ADD:
|
||||
case DPLANE_OP_VTEP_DELETE:
|
||||
case DPLANE_OP_RULE_ADD:
|
||||
case DPLANE_OP_RULE_DELETE:
|
||||
case DPLANE_OP_RULE_UPDATE:
|
||||
case DPLANE_OP_NEIGH_DISCOVER:
|
||||
case DPLANE_OP_BR_PORT_UPDATE:
|
||||
case DPLANE_OP_IPTABLE_ADD:
|
||||
case DPLANE_OP_IPTABLE_DELETE:
|
||||
case DPLANE_OP_IPSET_ADD:
|
||||
case DPLANE_OP_IPSET_DELETE:
|
||||
case DPLANE_OP_IPSET_ENTRY_ADD:
|
||||
case DPLANE_OP_IPSET_ENTRY_DELETE:
|
||||
case DPLANE_OP_NEIGH_IP_INSTALL:
|
||||
case DPLANE_OP_NEIGH_IP_DELETE:
|
||||
case DPLANE_OP_NEIGH_TABLE_UPDATE:
|
||||
case DPLANE_OP_GRE_SET:
|
||||
case DPLANE_OP_INTF_ADDR_ADD:
|
||||
case DPLANE_OP_INTF_ADDR_DEL:
|
||||
case DPLANE_OP_INTF_NETCONFIG:
|
||||
case DPLANE_OP_INTF_INSTALL:
|
||||
case DPLANE_OP_INTF_UPDATE:
|
||||
case DPLANE_OP_INTF_DELETE:
|
||||
case DPLANE_OP_TC_QDISC_INSTALL:
|
||||
case DPLANE_OP_TC_QDISC_UNINSTALL:
|
||||
case DPLANE_OP_TC_CLASS_ADD:
|
||||
case DPLANE_OP_TC_CLASS_DELETE:
|
||||
case DPLANE_OP_TC_CLASS_UPDATE:
|
||||
case DPLANE_OP_TC_FILTER_ADD:
|
||||
case DPLANE_OP_TC_FILTER_DELETE:
|
||||
case DPLANE_OP_TC_FILTER_UPDATE:
|
||||
break;
|
||||
|
||||
} /* Switch */
|
||||
|
@ -255,7 +255,57 @@ static int kernel_lsp_cmd(struct zebra_dplane_ctx *ctx)
|
||||
case DPLANE_OP_LSP_UPDATE:
|
||||
action = RTM_CHANGE;
|
||||
break;
|
||||
default:
|
||||
case DPLANE_OP_NONE:
|
||||
case DPLANE_OP_ROUTE_INSTALL:
|
||||
case DPLANE_OP_ROUTE_UPDATE:
|
||||
case DPLANE_OP_ROUTE_DELETE:
|
||||
case DPLANE_OP_ROUTE_NOTIFY:
|
||||
case DPLANE_OP_NH_INSTALL:
|
||||
case DPLANE_OP_NH_UPDATE:
|
||||
case DPLANE_OP_NH_DELETE:
|
||||
case DPLANE_OP_LSP_NOTIFY:
|
||||
case DPLANE_OP_PW_INSTALL:
|
||||
case DPLANE_OP_PW_UNINSTALL:
|
||||
case DPLANE_OP_SYS_ROUTE_ADD:
|
||||
case DPLANE_OP_SYS_ROUTE_DELETE:
|
||||
case DPLANE_OP_ADDR_INSTALL:
|
||||
case DPLANE_OP_ADDR_UNINSTALL:
|
||||
case DPLANE_OP_MAC_INSTALL:
|
||||
case DPLANE_OP_MAC_DELETE:
|
||||
case DPLANE_OP_NEIGH_INSTALL:
|
||||
case DPLANE_OP_NEIGH_UPDATE:
|
||||
case DPLANE_OP_NEIGH_DELETE:
|
||||
case DPLANE_OP_VTEP_ADD:
|
||||
case DPLANE_OP_VTEP_DELETE:
|
||||
case DPLANE_OP_RULE_ADD:
|
||||
case DPLANE_OP_RULE_DELETE:
|
||||
case DPLANE_OP_RULE_UPDATE:
|
||||
case DPLANE_OP_NEIGH_DISCOVER:
|
||||
case DPLANE_OP_BR_PORT_UPDATE:
|
||||
case DPLANE_OP_IPTABLE_ADD:
|
||||
case DPLANE_OP_IPTABLE_DELETE:
|
||||
case DPLANE_OP_IPSET_ADD:
|
||||
case DPLANE_OP_IPSET_DELETE:
|
||||
case DPLANE_OP_IPSET_ENTRY_ADD:
|
||||
case DPLANE_OP_IPSET_ENTRY_DELETE:
|
||||
case DPLANE_OP_NEIGH_IP_INSTALL:
|
||||
case DPLANE_OP_NEIGH_IP_DELETE:
|
||||
case DPLANE_OP_NEIGH_TABLE_UPDATE:
|
||||
case DPLANE_OP_GRE_SET:
|
||||
case DPLANE_OP_INTF_ADDR_ADD:
|
||||
case DPLANE_OP_INTF_ADDR_DEL:
|
||||
case DPLANE_OP_INTF_NETCONFIG:
|
||||
case DPLANE_OP_INTF_INSTALL:
|
||||
case DPLANE_OP_INTF_UPDATE:
|
||||
case DPLANE_OP_INTF_DELETE:
|
||||
case DPLANE_OP_TC_QDISC_INSTALL:
|
||||
case DPLANE_OP_TC_QDISC_UNINSTALL:
|
||||
case DPLANE_OP_TC_CLASS_ADD:
|
||||
case DPLANE_OP_TC_CLASS_DELETE:
|
||||
case DPLANE_OP_TC_CLASS_UPDATE:
|
||||
case DPLANE_OP_TC_FILTER_ADD:
|
||||
case DPLANE_OP_TC_FILTER_DELETE:
|
||||
case DPLANE_OP_TC_FILTER_UPDATE:
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -415,7 +465,58 @@ enum zebra_dplane_result kernel_pw_update(struct zebra_dplane_ctx *ctx)
|
||||
case DPLANE_OP_PW_UNINSTALL:
|
||||
result = kmpw_uninstall(ctx);
|
||||
break;
|
||||
default:
|
||||
case DPLANE_OP_NONE:
|
||||
case DPLANE_OP_ROUTE_INSTALL:
|
||||
case DPLANE_OP_ROUTE_UPDATE:
|
||||
case DPLANE_OP_ROUTE_DELETE:
|
||||
case DPLANE_OP_ROUTE_NOTIFY:
|
||||
case DPLANE_OP_NH_INSTALL:
|
||||
case DPLANE_OP_NH_UPDATE:
|
||||
case DPLANE_OP_NH_DELETE:
|
||||
case DPLANE_OP_LSP_INSTALL:
|
||||
case DPLANE_OP_LSP_UPDATE:
|
||||
case DPLANE_OP_LSP_DELETE:
|
||||
case DPLANE_OP_LSP_NOTIFY:
|
||||
case DPLANE_OP_SYS_ROUTE_ADD:
|
||||
case DPLANE_OP_SYS_ROUTE_DELETE:
|
||||
case DPLANE_OP_ADDR_INSTALL:
|
||||
case DPLANE_OP_ADDR_UNINSTALL:
|
||||
case DPLANE_OP_MAC_INSTALL:
|
||||
case DPLANE_OP_MAC_DELETE:
|
||||
case DPLANE_OP_NEIGH_INSTALL:
|
||||
case DPLANE_OP_NEIGH_UPDATE:
|
||||
case DPLANE_OP_NEIGH_DELETE:
|
||||
case DPLANE_OP_VTEP_ADD:
|
||||
case DPLANE_OP_VTEP_DELETE:
|
||||
case DPLANE_OP_RULE_ADD:
|
||||
case DPLANE_OP_RULE_DELETE:
|
||||
case DPLANE_OP_RULE_UPDATE:
|
||||
case DPLANE_OP_NEIGH_DISCOVER:
|
||||
case DPLANE_OP_BR_PORT_UPDATE:
|
||||
case DPLANE_OP_IPTABLE_ADD:
|
||||
case DPLANE_OP_IPTABLE_DELETE:
|
||||
case DPLANE_OP_IPSET_ADD:
|
||||
case DPLANE_OP_IPSET_DELETE:
|
||||
case DPLANE_OP_IPSET_ENTRY_ADD:
|
||||
case DPLANE_OP_IPSET_ENTRY_DELETE:
|
||||
case DPLANE_OP_NEIGH_IP_INSTALL:
|
||||
case DPLANE_OP_NEIGH_IP_DELETE:
|
||||
case DPLANE_OP_NEIGH_TABLE_UPDATE:
|
||||
case DPLANE_OP_GRE_SET:
|
||||
case DPLANE_OP_INTF_ADDR_ADD:
|
||||
case DPLANE_OP_INTF_ADDR_DEL:
|
||||
case DPLANE_OP_INTF_NETCONFIG:
|
||||
case DPLANE_OP_INTF_INSTALL:
|
||||
case DPLANE_OP_INTF_UPDATE:
|
||||
case DPLANE_OP_INTF_DELETE:
|
||||
case DPLANE_OP_TC_QDISC_INSTALL:
|
||||
case DPLANE_OP_TC_QDISC_UNINSTALL:
|
||||
case DPLANE_OP_TC_CLASS_ADD:
|
||||
case DPLANE_OP_TC_CLASS_DELETE:
|
||||
case DPLANE_OP_TC_CLASS_UPDATE:
|
||||
case DPLANE_OP_TC_FILTER_ADD:
|
||||
case DPLANE_OP_TC_FILTER_DELETE:
|
||||
case DPLANE_OP_TC_FILTER_UPDATE:
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -706,7 +706,7 @@ lib_vrf_zebra_ribs_rib_route_route_entry_nexthop_group_nexthop_nh_type_get_elem(
|
||||
case NEXTHOP_TYPE_IPV6_IFINDEX:
|
||||
return yang_data_new_string(args->xpath, "ip6-ifindex");
|
||||
break;
|
||||
default:
|
||||
case NEXTHOP_TYPE_BLACKHOLE:
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -2250,7 +2250,9 @@ static int nexthop_active(struct nexthop *nexthop, struct nhg_hash_entry *nhe,
|
||||
endpoint.ipa_type = IPADDR_V6;
|
||||
endpoint.ipaddr_v6 = nexthop->gate.ipv6;
|
||||
break;
|
||||
default:
|
||||
case AFI_UNSPEC:
|
||||
case AFI_L2VPN:
|
||||
case AFI_MAX:
|
||||
flog_err(EC_LIB_DEVELOPMENT,
|
||||
"%s: unknown address-family: %u", __func__,
|
||||
afi);
|
||||
@ -2291,7 +2293,9 @@ static int nexthop_active(struct nexthop *nexthop, struct nhg_hash_entry *nhe,
|
||||
p.prefixlen = IPV6_MAX_BITLEN;
|
||||
p.u.prefix6 = nexthop->gate.ipv6;
|
||||
break;
|
||||
default:
|
||||
case AFI_UNSPEC:
|
||||
case AFI_L2VPN:
|
||||
case AFI_MAX:
|
||||
assert(afi != AFI_IP && afi != AFI_IP6);
|
||||
break;
|
||||
}
|
||||
|
@ -648,7 +648,8 @@ static void zebra_pbr_expand_rule(struct zebra_pbr_rule *rule)
|
||||
zebra_neigh_ref(action->ifindex, &ip, rule);
|
||||
break;
|
||||
|
||||
default:
|
||||
case NEXTHOP_TYPE_BLACKHOLE:
|
||||
case NEXTHOP_TYPE_IFINDEX:
|
||||
action->afi = AFI_UNSPEC;
|
||||
}
|
||||
}
|
||||
|
@ -2158,7 +2158,58 @@ static void rib_process_result(struct zebra_dplane_ctx *ctx)
|
||||
(old_re && RIB_SYSTEM_ROUTE(old_re)))
|
||||
zebra_rib_fixup_system(rn);
|
||||
break;
|
||||
default:
|
||||
|
||||
case DPLANE_OP_NONE:
|
||||
case DPLANE_OP_ROUTE_NOTIFY:
|
||||
case DPLANE_OP_NH_INSTALL:
|
||||
case DPLANE_OP_NH_UPDATE:
|
||||
case DPLANE_OP_NH_DELETE:
|
||||
case DPLANE_OP_LSP_INSTALL:
|
||||
case DPLANE_OP_LSP_UPDATE:
|
||||
case DPLANE_OP_LSP_DELETE:
|
||||
case DPLANE_OP_LSP_NOTIFY:
|
||||
case DPLANE_OP_PW_INSTALL:
|
||||
case DPLANE_OP_PW_UNINSTALL:
|
||||
case DPLANE_OP_SYS_ROUTE_ADD:
|
||||
case DPLANE_OP_SYS_ROUTE_DELETE:
|
||||
case DPLANE_OP_ADDR_INSTALL:
|
||||
case DPLANE_OP_ADDR_UNINSTALL:
|
||||
case DPLANE_OP_MAC_INSTALL:
|
||||
case DPLANE_OP_MAC_DELETE:
|
||||
case DPLANE_OP_NEIGH_INSTALL:
|
||||
case DPLANE_OP_NEIGH_UPDATE:
|
||||
case DPLANE_OP_NEIGH_DELETE:
|
||||
case DPLANE_OP_VTEP_ADD:
|
||||
case DPLANE_OP_VTEP_DELETE:
|
||||
case DPLANE_OP_RULE_ADD:
|
||||
case DPLANE_OP_RULE_DELETE:
|
||||
case DPLANE_OP_RULE_UPDATE:
|
||||
case DPLANE_OP_NEIGH_DISCOVER:
|
||||
case DPLANE_OP_BR_PORT_UPDATE:
|
||||
case DPLANE_OP_IPTABLE_ADD:
|
||||
case DPLANE_OP_IPTABLE_DELETE:
|
||||
case DPLANE_OP_IPSET_ADD:
|
||||
case DPLANE_OP_IPSET_DELETE:
|
||||
case DPLANE_OP_IPSET_ENTRY_ADD:
|
||||
case DPLANE_OP_IPSET_ENTRY_DELETE:
|
||||
case DPLANE_OP_NEIGH_IP_INSTALL:
|
||||
case DPLANE_OP_NEIGH_IP_DELETE:
|
||||
case DPLANE_OP_NEIGH_TABLE_UPDATE:
|
||||
case DPLANE_OP_GRE_SET:
|
||||
case DPLANE_OP_INTF_ADDR_ADD:
|
||||
case DPLANE_OP_INTF_ADDR_DEL:
|
||||
case DPLANE_OP_INTF_NETCONFIG:
|
||||
case DPLANE_OP_INTF_INSTALL:
|
||||
case DPLANE_OP_INTF_UPDATE:
|
||||
case DPLANE_OP_INTF_DELETE:
|
||||
case DPLANE_OP_TC_QDISC_INSTALL:
|
||||
case DPLANE_OP_TC_QDISC_UNINSTALL:
|
||||
case DPLANE_OP_TC_CLASS_ADD:
|
||||
case DPLANE_OP_TC_CLASS_DELETE:
|
||||
case DPLANE_OP_TC_CLASS_UPDATE:
|
||||
case DPLANE_OP_TC_FILTER_ADD:
|
||||
case DPLANE_OP_TC_FILTER_DELETE:
|
||||
case DPLANE_OP_TC_FILTER_UPDATE:
|
||||
break;
|
||||
}
|
||||
|
||||
@ -4334,7 +4385,7 @@ void rib_update_table(struct route_table *table, enum rib_update_event event,
|
||||
case RIB_UPDATE_OTHER:
|
||||
rib_update_route_node(rn, rtype);
|
||||
break;
|
||||
default:
|
||||
case RIB_UPDATE_MAX:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -1401,7 +1401,8 @@ void show_nexthop_json_helper(json_object *json_nexthop,
|
||||
json_object_string_addf(json_nexthop, "source", "%pI6",
|
||||
&nexthop->src.ipv6);
|
||||
break;
|
||||
default:
|
||||
case NEXTHOP_TYPE_IFINDEX:
|
||||
case NEXTHOP_TYPE_BLACKHOLE:
|
||||
break;
|
||||
}
|
||||
|
||||
@ -1523,7 +1524,8 @@ void show_route_nexthop_helper(struct vty *vty, const struct route_entry *re,
|
||||
if (!IPV6_ADDR_SAME(&nexthop->src.ipv6, &in6addr_any))
|
||||
vty_out(vty, ", src %pI6", &nexthop->src.ipv6);
|
||||
break;
|
||||
default:
|
||||
case NEXTHOP_TYPE_IFINDEX:
|
||||
case NEXTHOP_TYPE_BLACKHOLE:
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -1049,7 +1049,9 @@ route_match_ip_next_hop(void *rule, const struct prefix *prefix, void *object)
|
||||
p.prefix = nh_data->nexthop->gate.ipv4;
|
||||
p.prefixlen = IPV4_MAX_BITLEN;
|
||||
break;
|
||||
default:
|
||||
case NEXTHOP_TYPE_IPV6:
|
||||
case NEXTHOP_TYPE_IPV6_IFINDEX:
|
||||
case NEXTHOP_TYPE_BLACKHOLE:
|
||||
return RMAP_NOMATCH;
|
||||
}
|
||||
alist = access_list_lookup(AFI_IP, (char *)rule);
|
||||
@ -1105,7 +1107,9 @@ route_match_ip_next_hop_prefix_list(void *rule, const struct prefix *prefix,
|
||||
p.prefix = nh_data->nexthop->gate.ipv4;
|
||||
p.prefixlen = IPV4_MAX_BITLEN;
|
||||
break;
|
||||
default:
|
||||
case NEXTHOP_TYPE_IPV6:
|
||||
case NEXTHOP_TYPE_IPV6_IFINDEX:
|
||||
case NEXTHOP_TYPE_BLACKHOLE:
|
||||
return RMAP_NOMATCH;
|
||||
}
|
||||
plist = prefix_list_lookup(AFI_IP, (char *)rule);
|
||||
@ -1364,7 +1368,9 @@ route_match_ip_nexthop_prefix_len(void *rule, const struct prefix *prefix,
|
||||
p.prefix = nh_data->nexthop->gate.ipv4;
|
||||
p.prefixlen = IPV4_MAX_BITLEN;
|
||||
break;
|
||||
default:
|
||||
case NEXTHOP_TYPE_IPV6:
|
||||
case NEXTHOP_TYPE_IPV6_IFINDEX:
|
||||
case NEXTHOP_TYPE_BLACKHOLE:
|
||||
return RMAP_NOMATCH;
|
||||
}
|
||||
return ((p.prefixlen == *prefixlen) ? RMAP_MATCH : RMAP_NOMATCH);
|
||||
|
@ -140,7 +140,7 @@ static int zebra_sr_policy_notify_update_client(struct zebra_sr_policy *policy,
|
||||
stream_putc(s, IPV6_MAX_BITLEN);
|
||||
stream_put(s, &policy->endpoint.ipaddr_v6, IPV6_MAX_BYTELEN);
|
||||
break;
|
||||
default:
|
||||
case IPADDR_NONE:
|
||||
flog_warn(EC_LIB_DEVELOPMENT,
|
||||
"%s: unknown policy endpoint address family: %u",
|
||||
__func__, policy->endpoint.ipa_type);
|
||||
@ -202,7 +202,7 @@ static void zebra_sr_policy_notify_update(struct zebra_sr_policy *policy)
|
||||
p.prefixlen = IPV6_MAX_BITLEN;
|
||||
p.u.prefix6 = policy->endpoint.ipaddr_v6;
|
||||
break;
|
||||
default:
|
||||
case IPADDR_NONE:
|
||||
flog_warn(EC_LIB_DEVELOPMENT,
|
||||
"%s: unknown policy endpoint address family: %u",
|
||||
__func__, policy->endpoint.ipa_type);
|
||||
|
@ -405,7 +405,8 @@ static void show_nexthop_detail_helper(struct vty *vty,
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
case NEXTHOP_TYPE_IFINDEX:
|
||||
case NEXTHOP_TYPE_BLACKHOLE:
|
||||
break;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user