bgpd: encap: add encap SAFI (RFC5512)
Adds RFC5512 and Encapsulation Attribute.
Signed-off-by: Lou Berger <lberger@labn.net>
diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c
index 041a6a1..e0f1c2b 100644
--- a/bgpd/bgp_vty.c
+++ b/bgpd/bgp_vty.c
@@ -4802,6 +4802,33 @@
"Address Family Modifier\n"
"Soft reconfig outbound update\n")
+DEFUN (clear_ip_bgp_all_encap_soft_out,
+ clear_ip_bgp_all_encap_soft_out_cmd,
+ "clear ip bgp * encap unicast soft out",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ "Clear all peers\n"
+ "Address family\n"
+ "Address Family Modifier\n"
+ "Soft reconfig\n"
+ "Soft reconfig outbound update\n")
+{
+ return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_ENCAP, clear_all,
+ BGP_CLEAR_SOFT_OUT, NULL);
+}
+
+ALIAS (clear_ip_bgp_all_encap_soft_out,
+ clear_ip_bgp_all_encap_out_cmd,
+ "clear ip bgp * encap unicast out",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ "Clear all peers\n"
+ "Address family\n"
+ "Address Family Modifier\n"
+ "Soft reconfig outbound update\n")
+
DEFUN (clear_bgp_all_soft_out,
clear_bgp_all_soft_out_cmd,
"clear bgp * soft out",
@@ -4940,6 +4967,33 @@
"Address Family Modifier\n"
"Soft reconfig outbound update\n")
+DEFUN (clear_ip_bgp_peer_encap_soft_out,
+ clear_ip_bgp_peer_encap_soft_out_cmd,
+ "clear ip bgp A.B.C.D encap unicast soft out",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ "BGP neighbor address to clear\n"
+ "Address family\n"
+ "Address Family Modifier\n"
+ "Soft reconfig\n"
+ "Soft reconfig outbound update\n")
+{
+ return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_ENCAP, clear_peer,
+ BGP_CLEAR_SOFT_OUT, argv[0]);
+}
+
+ALIAS (clear_ip_bgp_peer_encap_soft_out,
+ clear_ip_bgp_peer_encap_out_cmd,
+ "clear ip bgp A.B.C.D encap unicast out",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ "BGP neighbor address to clear\n"
+ "Address family\n"
+ "Address Family Modifier\n"
+ "Soft reconfig outbound update\n")
+
DEFUN (clear_bgp_peer_soft_out,
clear_bgp_peer_soft_out_cmd,
"clear bgp (A.B.C.D|X:X::X:X) soft out",
@@ -5267,6 +5321,33 @@
"Address Family modifier\n"
"Soft reconfig outbound update\n")
+DEFUN (clear_ip_bgp_as_encap_soft_out,
+ clear_ip_bgp_as_encap_soft_out_cmd,
+ "clear ip bgp " CMD_AS_RANGE " encap unicast soft out",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ "Clear peers with the AS number\n"
+ "Address family\n"
+ "Address Family modifier\n"
+ "Soft reconfig\n"
+ "Soft reconfig outbound update\n")
+{
+ return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_ENCAP, clear_as,
+ BGP_CLEAR_SOFT_OUT, argv[0]);
+}
+
+ALIAS (clear_ip_bgp_as_encap_soft_out,
+ clear_ip_bgp_as_encap_out_cmd,
+ "clear ip bgp " CMD_AS_RANGE " encap unicast out",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ "Clear peers with the AS number\n"
+ "Address family\n"
+ "Address Family modifier\n"
+ "Soft reconfig outbound update\n")
+
DEFUN (clear_bgp_as_soft_out,
clear_bgp_as_soft_out_cmd,
"clear bgp " CMD_AS_RANGE " soft out",
@@ -5503,6 +5584,33 @@
"Address Family Modifier\n"
"Soft reconfig inbound update\n")
+DEFUN (clear_ip_bgp_all_encap_soft_in,
+ clear_ip_bgp_all_encap_soft_in_cmd,
+ "clear ip bgp * encap unicast soft in",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ "Clear all peers\n"
+ "Address family\n"
+ "Address Family Modifier\n"
+ "Soft reconfig\n"
+ "Soft reconfig inbound update\n")
+{
+ return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_ENCAP, clear_all,
+ BGP_CLEAR_SOFT_IN, NULL);
+}
+
+ALIAS (clear_ip_bgp_all_encap_soft_in,
+ clear_ip_bgp_all_encap_in_cmd,
+ "clear ip bgp * encap unicast in",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ "Clear all peers\n"
+ "Address family\n"
+ "Address Family Modifier\n"
+ "Soft reconfig inbound update\n")
+
DEFUN (clear_bgp_all_soft_in,
clear_bgp_all_soft_in_cmd,
"clear bgp * soft in",
@@ -5699,6 +5807,33 @@
"Address Family Modifier\n"
"Soft reconfig inbound update\n")
+DEFUN (clear_ip_bgp_peer_encap_soft_in,
+ clear_ip_bgp_peer_encap_soft_in_cmd,
+ "clear ip bgp A.B.C.D encap unicast soft in",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ "BGP neighbor address to clear\n"
+ "Address family\n"
+ "Address Family Modifier\n"
+ "Soft reconfig\n"
+ "Soft reconfig inbound update\n")
+{
+ return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_ENCAP, clear_peer,
+ BGP_CLEAR_SOFT_IN, argv[0]);
+}
+
+ALIAS (clear_ip_bgp_peer_encap_soft_in,
+ clear_ip_bgp_peer_encap_in_cmd,
+ "clear ip bgp A.B.C.D encap unicast in",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ "BGP neighbor address to clear\n"
+ "Address family\n"
+ "Address Family Modifier\n"
+ "Soft reconfig inbound update\n")
+
DEFUN (clear_bgp_peer_soft_in,
clear_bgp_peer_soft_in_cmd,
"clear bgp (A.B.C.D|X:X::X:X) soft in",
@@ -6206,6 +6341,33 @@
"Address Family modifier\n"
"Soft reconfig inbound update\n")
+DEFUN (clear_ip_bgp_as_encap_soft_in,
+ clear_ip_bgp_as_encap_soft_in_cmd,
+ "clear ip bgp " CMD_AS_RANGE " encap unicast soft in",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ "Clear peers with the AS number\n"
+ "Address family\n"
+ "Address Family modifier\n"
+ "Soft reconfig\n"
+ "Soft reconfig inbound update\n")
+{
+ return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_ENCAP, clear_as,
+ BGP_CLEAR_SOFT_IN, argv[0]);
+}
+
+ALIAS (clear_ip_bgp_as_encap_soft_in,
+ clear_ip_bgp_as_encap_in_cmd,
+ "clear ip bgp " CMD_AS_RANGE " encap unicast in",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ "Clear peers with the AS number\n"
+ "Address family\n"
+ "Address Family modifier\n"
+ "Soft reconfig inbound update\n")
+
DEFUN (clear_bgp_as_soft_in,
clear_bgp_as_soft_in_cmd,
"clear bgp " CMD_AS_RANGE " soft in",
@@ -6356,6 +6518,21 @@
BGP_CLEAR_SOFT_BOTH, argv[0]);
}
+DEFUN (clear_ip_bgp_all_encap_soft,
+ clear_ip_bgp_all_encap_soft_cmd,
+ "clear ip bgp * encap unicast soft",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ "Clear all peers\n"
+ "Address family\n"
+ "Address Family Modifier\n"
+ "Soft reconfig\n")
+{
+ return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_ENCAP, clear_all,
+ BGP_CLEAR_SOFT_BOTH, argv[0]);
+}
+
DEFUN (clear_bgp_all_soft,
clear_bgp_all_soft_cmd,
"clear bgp * soft",
@@ -6439,6 +6616,21 @@
BGP_CLEAR_SOFT_BOTH, argv[0]);
}
+DEFUN (clear_ip_bgp_peer_encap_soft,
+ clear_ip_bgp_peer_encap_soft_cmd,
+ "clear ip bgp A.B.C.D encap unicast soft",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ "BGP neighbor address to clear\n"
+ "Address family\n"
+ "Address Family Modifier\n"
+ "Soft reconfig\n")
+{
+ return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_ENCAP, clear_peer,
+ BGP_CLEAR_SOFT_BOTH, argv[0]);
+}
+
DEFUN (clear_bgp_peer_soft,
clear_bgp_peer_soft_cmd,
"clear bgp (A.B.C.D|X:X::X:X) soft",
@@ -6622,6 +6814,21 @@
BGP_CLEAR_SOFT_BOTH, argv[0]);
}
+DEFUN (clear_ip_bgp_as_encap_soft,
+ clear_ip_bgp_as_encap_soft_cmd,
+ "clear ip bgp " CMD_AS_RANGE " encap unicast soft",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ "Clear peers with the AS number\n"
+ "Address family\n"
+ "Address Family Modifier\n"
+ "Soft reconfig\n")
+{
+ return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_ENCAP, clear_as,
+ BGP_CLEAR_SOFT_BOTH, argv[0]);
+}
+
DEFUN (clear_bgp_as_soft,
clear_bgp_as_soft_cmd,
"clear bgp " CMD_AS_RANGE " soft",
@@ -10029,6 +10236,12 @@
install_element (ENABLE_NODE, &clear_ip_bgp_peer_vpnv4_in_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_as_vpnv4_soft_in_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_as_vpnv4_in_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_all_encap_soft_in_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_all_encap_in_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_peer_encap_soft_in_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_peer_encap_in_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_as_encap_soft_in_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_as_encap_in_cmd);
#ifdef HAVE_IPV6
install_element (ENABLE_NODE, &clear_bgp_all_soft_in_cmd);
install_element (ENABLE_NODE, &clear_bgp_instance_all_soft_in_cmd);
@@ -10092,6 +10305,12 @@
install_element (ENABLE_NODE, &clear_ip_bgp_peer_vpnv4_out_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_as_vpnv4_soft_out_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_as_vpnv4_out_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_all_encap_soft_out_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_all_encap_out_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_peer_encap_soft_out_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_peer_encap_out_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_as_encap_soft_out_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_as_encap_out_cmd);
#ifdef HAVE_IPV6
install_element (ENABLE_NODE, &clear_bgp_all_soft_out_cmd);
install_element (ENABLE_NODE, &clear_bgp_instance_all_soft_out_cmd);
@@ -10132,6 +10351,9 @@
install_element (ENABLE_NODE, &clear_ip_bgp_all_vpnv4_soft_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_peer_vpnv4_soft_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_as_vpnv4_soft_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_all_encap_soft_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_peer_encap_soft_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_as_encap_soft_cmd);
#ifdef HAVE_IPV6
install_element (ENABLE_NODE, &clear_bgp_all_soft_cmd);
install_element (ENABLE_NODE, &clear_bgp_instance_all_soft_cmd);