summaryrefslogtreecommitdiff
path: root/op-mode-definitions/show-protocols-bfd.xml
blob: 4b8abd99d60ac1c2e35269aefebdac78af008d5b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?xml version="1.0"?>
<interfaceDefinition>
  <node name="show">
    <children>
      <node name="protocols">
        <children>
          <node name="bfd">
            <children>
              <node name="peer">
                <properties>
                  <help>Show all Bidirectional Forwarding Detection (BFD) peer status</help>
                </properties>
                <command>/usr/bin/vtysh -c "show bfd peers"</command>
                <children>
                  <leafNode name="counters">
                    <properties>
                      <help>Show Bidirectional Forwarding Detection (BFD) peer counters</help>
                    </properties>
                    <command>/usr/bin/vtysh -c "show bfd peers counters"</command>
                  </leafNode>
                </children>
              </node>
              <tagNode name="peer">
                <properties>
                  <help>Show Bidirectional Forwarding Detection (BFD) peer status</help>
                  <completionHelp>
                    <script>/usr/bin/vtysh -c "show bfd peers" | awk '/[:blank:]*peer/ { printf "%s\n", $2 }'</script>
                  </completionHelp>
                </properties>
                <command>/usr/bin/vtysh -c "show bfd peers" | awk -v BFD_PEER=$5 'BEGIN { regex = sprintf("(peer %s.*)vrf", BFD_PEER) } { if (match($0, regex, bfd_peer_value)) peer=bfd_peer_value[1] } END { if (peer) system("/usr/bin/vtysh -c \"show bfd " peer "\"") }'</command>
                <children>
                  <leafNode name="counters">
                    <properties>
                      <help>Show Bidirectional Forwarding Detection (BFD) peer counters</help>
                    </properties>
                    <command>/usr/bin/vtysh -c "show bfd peers" | awk -v BFD_PEER=$5 'BEGIN { regex = sprintf("(peer %s.*)vrf", BFD_PEER) } { if (match($0, regex, bfd_peer_value)) peer=bfd_peer_value[1] } END { if (peer) system("/usr/bin/vtysh -c \"show bfd " peer " counters\"") }'</command>
                  </leafNode>
                </children>
              </tagNode>
            </children>
          </node>
        </children>
      </node>
    </children>
  </node>
</interfaceDefinition>