]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bfdd: add vtysh commands for sbfd
authorwumu.zsl <wumu.zsl@alibaba-inc.com>
Tue, 21 Jan 2025 02:44:13 +0000 (02:44 +0000)
committerwumu.zsl <wumu.zsl@alibaba-inc.com>
Thu, 23 Jan 2025 01:27:55 +0000 (01:27 +0000)
config examples:
    SBFD Initiator: peer 200::D bfd-mode sbfd-init bfd-name a-b-d multihop local-address 200::A remote-discr 456 srv6-source-ipv6 200::A srv6-encap-data 100::B 100::D
    SBFD Reflector: sbfd reflector source-address 200::D discriminator 456
    Echo SBFD: peer 200::A bfd-mode sbfd-echo bfd-name a-b-d local-address 200::A srv6-source-ipv6 200::A srv6-encap-data 100::B 100::D

Signed-off-by: wumu.zsl <wumu.zsl@alibaba-inc.com>
vtysh/vtysh.c

index c460dea70cda545a95235b1d3595efa7daee5cbb..c2eb9159c22b4de2e79db229ffbf5d9d37606c29 100644 (file)
@@ -2385,6 +2385,79 @@ DEFUNSH(VTYSH_BFDD, bfd_peer_enter, bfd_peer_enter_cmd,
        return CMD_SUCCESS;
 }
 
+DEFUNSH(VTYSH_BFDD, sbfd_echo_peer_enter, sbfd_echo_peer_enter_cmd,
+       "peer <A.B.C.D|X:X::X:X> bfd-mode sbfd-echo bfd-name BFDNAME [multihop$multihop] local-address <A.B.C.D|X:X::X:X> [vrf NAME] srv6-source-ipv6 X:X::X:X srv6-encap-data X:X::X:X...",
+       "Configure peer\n"
+       "IPv4 peer address\n"
+       "IPv6 peer address\n"
+       "Specify bfd session mode\n"
+       "Enable sbfd-echo mode\n"
+       "Specify bfd session name\n"
+       "bfd session name\n"
+       "Configure multihop\n"
+       "Configure local\n"
+       "IPv4 local address\n"
+       "IPv6 local address\n"
+       "Configure VRF\n"
+       "Configure VRF name\n"
+       "Configure source ipv6 address for srv6 encap\n"
+       "IPv6 local address\n"
+       "Configure sidlist data for srv6 encap\n"
+       "X:X::X:X IPv6 sid address\n")
+{
+       vty->node = BFD_PEER_NODE;
+       return CMD_SUCCESS;
+}
+
+DEFUNSH(VTYSH_BFDD, sbfd_init_peer_enter, sbfd_init_peer_enter_cmd,
+       "peer <A.B.C.D|X:X::X:X> bfd-mode sbfd-init bfd-name BFDNAME [multihop$multihop] local-address <A.B.C.D|X:X::X:X> [vrf NAME] remote-discr (1-4294967295) srv6-source-ipv6 X:X::X:X srv6-encap-data X:X::X:X...",
+       "Configure peer\n"
+       "IPv4 peer address\n"
+       "IPv6 peer address\n"
+       "Specify bfd session mode\n"
+       "Enable sbfd-init mode\n"
+       "Specify bfd session name\n"
+       "bfd session name\n"
+       "Configure multihop\n"
+       "Configure local\n"
+       "IPv4 local address\n"
+       "IPv6 local address\n"
+       "Configure VRF\n"
+       "Configure VRF name\n"
+       "Configure bfd session remote discriminator\n"
+       "Configure remote discriminator\n"
+       "Configure source ipv6 address for srv6 encap\n"
+       "IPv6 local address\n"
+       "Configure sidlist data for srv6 encap\n"
+       "X:X::X:X IPv6 sid address\n"
+       )
+{
+       vty->node = BFD_PEER_NODE;
+       return CMD_SUCCESS;
+}
+
+DEFUNSH(VTYSH_BFDD, sbfd_init_peer_raw_enter, sbfd_init_peer_raw_enter_cmd,
+       "peer <A.B.C.D|X:X::X:X> bfd-mode sbfd-init bfd-name BFDNAME [multihop$multihop] local-address <A.B.C.D|X:X::X:X> [vrf NAME] remote-discr (1-4294967295)",
+       "Configure peer\n"
+       "IPv4 peer address\n"
+       "IPv6 peer address\n"
+       "Specify bfd session mode\n"
+       "Enable sbfd-init mode\n"
+       "Specify bfd session name\n"
+       "bfd session name\n"
+       "Configure multihop\n"
+       "Configure local\n"
+       "IPv4 local address\n"
+       "IPv6 local address\n"
+       "Configure VRF\n"
+       "Configure VRF name\n"
+       "Configure bfd session remote discriminator\n"
+       "Configure remote discriminator\n")
+{
+       vty->node = BFD_PEER_NODE;
+       return CMD_SUCCESS;
+}
+
 DEFUNSH(VTYSH_BFDD, bfd_profile_enter, bfd_profile_enter_cmd,
        "profile BFDPROF",
        BFD_PROFILE_STR
@@ -5272,6 +5345,9 @@ void vtysh_init_vty(void)
        install_element(BFD_NODE, &vtysh_end_all_cmd);
 
        install_element(BFD_NODE, &bfd_peer_enter_cmd);
+       install_element(BFD_NODE, &sbfd_init_peer_enter_cmd);
+       install_element(BFD_NODE, &sbfd_init_peer_raw_enter_cmd);
+       install_element(BFD_NODE, &sbfd_echo_peer_enter_cmd);
        install_element(BFD_PEER_NODE, &vtysh_exit_bfdd_cmd);
        install_element(BFD_PEER_NODE, &vtysh_quit_bfdd_cmd);
        install_element(BFD_PEER_NODE, &vtysh_end_all_cmd);