From: Donald Sharp Date: Tue, 2 May 2017 19:52:09 +0000 (-0400) Subject: Merge remote-tracking branch 'origin/stable/3.0' X-Git-Tag: reindent-master-before~203 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=05ba625af7cbeb08322a1ea761732521816245bd;p=matthieu%2Ffrr.git Merge remote-tracking branch 'origin/stable/3.0' --- 05ba625af7cbeb08322a1ea761732521816245bd diff --cc bgpd/bgp_vty.c index 44389b99c2,6197b6107a..361ab33962 --- a/bgpd/bgp_vty.c +++ b/bgpd/bgp_vty.c @@@ -6950,27 -6913,23 +6970,27 @@@ const char afi_safi_json (afi_t afi, safi_t safi) { if (afi == AFI_IP && safi == SAFI_UNICAST) - return "IPv4Unicast"; + return "ipv4Unicast"; else if (afi == AFI_IP && safi == SAFI_MULTICAST) - return "IPv4Multicast"; + return "ipv4Multicast"; + else if (afi == AFI_IP && safi == SAFI_LABELED_UNICAST) - return "IPv4LabeledUnicast"; ++ return "ipv4LabeledUnicast"; else if (afi == AFI_IP && safi == SAFI_MPLS_VPN) - return "IPv4VPN"; + return "ipv4Vpn"; else if (afi == AFI_IP && safi == SAFI_ENCAP) - return "IPv4Encap"; + return "ipv4Encap"; else if (afi == AFI_IP6 && safi == SAFI_UNICAST) - return "IPv6Unicast"; + return "ipv6Unicast"; else if (afi == AFI_IP6 && safi == SAFI_MULTICAST) - return "IPv6Multicast"; + return "ipv6Multicast"; + else if (afi == AFI_IP6 && safi == SAFI_LABELED_UNICAST) - return "IPv6LabeledUnicast"; ++ return "ipv6LabeledUnicast"; else if (afi == AFI_IP6 && safi == SAFI_MPLS_VPN) - return "IPv6VPN"; + return "ipv6Vpn"; else if (afi == AFI_IP6 && safi == SAFI_ENCAP) - return "IPv6Encap"; + return "ipv6Encap"; else if (afi == AFI_L2VPN && safi == SAFI_EVPN) - return "L2VPN EVPN"; + return "l2VpnEvpn"; else return "Unknown"; } diff --cc ldpd/interface.c index 7678152470,7be8be755e..440bb2dca0 --- a/ldpd/interface.c +++ b/ldpd/interface.c @@@ -366,15 -363,18 +366,16 @@@ if_update_af(struct iface_af *ia rtr_id_ok = 0; if (ia->state == IF_STA_DOWN) { - if (!ia->enabled || !link_ok || !addr_ok || !socket_ok || - !rtr_id_ok) + if (!ia->enabled || !ia->iface->operative || !addr_ok || + !socket_ok || !rtr_id_ok) return; - ia->state = IF_STA_ACTIVE; if_start(ia->iface, ia->af); } else if (ia->state == IF_STA_ACTIVE) { - if (ia->enabled && link_ok && addr_ok && socket_ok && rtr_id_ok) + if (ia->enabled && ia->iface->operative && addr_ok && + socket_ok && rtr_id_ok) return; - ia->state = IF_STA_DOWN; if_reset(ia->iface, ia->af); } } diff --cc pimd/pimd.h index 0db7a7ad16,693cce7e9f..e10155c209 --- a/pimd/pimd.h +++ b/pimd/pimd.h @@@ -251,13 -251,13 +251,16 @@@ struct pim_instanc afi_t afi; vrf_id_t vrf_id; - enum pim_spt_switchover spt_switchover; + struct { + enum pim_spt_switchover switchover; + char *plist; + } spt; struct hash *rpf_hash; + void *ssm_info; /* per-vrf SSM configuration */ + + int send_v6_secondary; }; extern struct pim_instance *pimg; //Pim Global Instance diff --cc vtysh/vtysh.c index 3374f4d852,682cd99c23..e90228b424 --- a/vtysh/vtysh.c +++ b/vtysh/vtysh.c @@@ -1172,67 -1161,75 +1174,99 @@@ DEFUNSH (VTYSH_BGPD DEFUNSH (VTYSH_BGPD, address_family_ipv4, address_family_ipv4_cmd, - "address-family ipv4 []", + "address-family ipv4 [unicast]", "Enter Address Family command mode\n" "Address Family\n" - "Address Family modifier\n" - "Address Family modifier\n" - "Address Family modifier\n" - "Address Family modifier\n" - "Address Family modifier\n") + "Address Family Modifier\n") { - int idx = 0; - - if (argv_find (argv, argc, "multicast", &idx)) - vty->node = BGP_IPV4M_NODE; - - else if (argv_find (argv, argc, "encap", &idx)) - vty->node = BGP_ENCAP_NODE; - - else if (argv_find (argv, argc, "vpn", &idx)) - vty->node = BGP_VPNV4_NODE; + vty->node = BGP_IPV4_NODE; + return CMD_SUCCESS; + } - else if (argv_find (argv, argc, "labeled-unicast", &idx)) - vty->node = BGP_IPV4L_NODE; + DEFUNSH (VTYSH_BGPD, + address_family_ipv4_multicast, + address_family_ipv4_multicast_cmd, + "address-family ipv4 multicast", + "Enter Address Family command mode\n" + "Address Family\n" + "Address Family modifier\n") + { + vty->node = BGP_IPV4M_NODE; + return CMD_SUCCESS; + } - else - vty->node = BGP_IPV4_NODE; + DEFUNSH (VTYSH_BGPD, + address_family_ipv4_vpn, + address_family_ipv4_vpn_cmd, + "address-family ipv4 vpn", + "Enter Address Family command mode\n" + "Address Family\n" + "Address Family modifier\n") + { + vty->node = BGP_VPNV4_NODE; + return CMD_SUCCESS; + } ++DEFUNSH (VTYSH_BGPD, ++ address_family_ipv4_labeled_unicast, ++ address_family_ipv4_labeled_unicast_cmd, ++ "address-family ipv4 labeled_unicast", ++ "Enter Address Family command mode\n" ++ "Address Family\n" ++ "Address Family modifier\n") ++{ ++ vty->node = BGP_IPV4L_NODE; + return CMD_SUCCESS; +} + DEFUNSH (VTYSH_BGPD, address_family_ipv6, address_family_ipv6_cmd, - "address-family ipv6 []", + "address-family ipv6 [unicast]", "Enter Address Family command mode\n" "Address Family\n" - "Address Family modifier\n" - "Address Family modifier\n" - "Address Family modifier\n" - "Address Family modifier\n" "Address Family modifier\n") { - int idx = 0; - - if (argv_find (argv, argc, "multicast", &idx)) - vty->node = BGP_IPV6M_NODE; - - else if (argv_find (argv, argc, "encap", &idx)) - vty->node = BGP_ENCAPV6_NODE; - - else if (argv_find (argv, argc, "vpn", &idx)) - vty->node = BGP_VPNV6_NODE; + vty->node = BGP_IPV6_NODE; + return CMD_SUCCESS; + } - else if (argv_find (argv, argc, "labeled-unicast", &idx)) - vty->node = BGP_IPV6L_NODE; + DEFUNSH (VTYSH_BGPD, + address_family_ipv6_multicast, + address_family_ipv6_multicast_cmd, + "address-family ipv6 multicast", + "Enter Address Family command mode\n" + "Address Family\n" + "Address Family modifier\n") + { + vty->node = BGP_IPV6M_NODE; + return CMD_SUCCESS; + } - else - vty->node = BGP_IPV6_NODE; + DEFUNSH (VTYSH_BGPD, + address_family_ipv6_vpn, + address_family_ipv6_vpn_cmd, + "address-family ipv6 vpn", + "Enter Address Family command mode\n" + "Address Family\n" + "Address Family modifier\n") + { + vty->node = BGP_VPNV6_NODE; + return CMD_SUCCESS; + } ++DEFUNSH (VTYSH_BGPD, ++ address_family_ipv6_labeled_unicast, ++ address_family_ipv6_labeled_unicast_cmd, ++ "address-family ipv6 labeled_unicast", ++ "Enter Address Family command mode\n" ++ "Address Family\n" ++ "Address Family modifier\n") ++{ ++ vty->node = BGP_IPV6L_NODE; + return CMD_SUCCESS; +} + DEFUNSH (VTYSH_BGPD, address_family_evpn, address_family_evpn_cmd, @@@ -3371,7 -3354,11 +3405,13 @@@ vtysh_init_vty (void install_element (BGP_NODE, &vnc_l2_group_cmd); #endif install_element (BGP_NODE, &address_family_ipv4_cmd); + install_element (BGP_NODE, &address_family_ipv4_multicast_cmd); + install_element (BGP_NODE, &address_family_ipv4_vpn_cmd); ++ install_element (BGP_NODE, &address_family_ipv4_labeled_unicast_cmd); install_element (BGP_NODE, &address_family_ipv6_cmd); + install_element (BGP_NODE, &address_family_ipv6_multicast_cmd); + install_element (BGP_NODE, &address_family_ipv6_vpn_cmd); ++ install_element (BGP_NODE, &address_family_ipv6_labeled_unicast_cmd); install_element (BGP_NODE, &address_family_evpn_cmd); install_element (BGP_VPNV4_NODE, &exit_address_family_cmd); install_element (BGP_VPNV6_NODE, &exit_address_family_cmd);