<?xml version="1.0"?>
<interfaceDefinition>
  <node name="show">
    <properties>
      <help>Show system information</help>
    </properties>
    <children>
      <node name="ipv6">
        <properties>
          <help>Show IPv6 networking information</help>
        </properties>
        <children>
          <leafNode name="groups">
            <properties>
              <help>Show IPv6 multicast group membership</help>
            </properties>
            <command>netstat -gn6</command>
          </leafNode>
          <node name="neighbors">
            <properties>
              <help>Show IPv6 neighbor (NDP) table</help>
            </properties>
            <command>${vyos_op_scripts_dir}/neighbor.py show --family inet6</command>
            <children>
              <tagNode name="interface">
                <properties>
                  <help>Show IPv6 neighbor table for specified interface</help>
                  <completionHelp>
                    <script>${vyos_completion_dir}/list_interfaces --broadcast</script>
                  </completionHelp>
                </properties>
                <command>${vyos_op_scripts_dir}/neighbor.py show --family inet6 --interface "$5"</command>
              </tagNode>
              <tagNode name="state">
                <properties>
                  <help>Show IPv6 neighbors with specified state</help>
                  <completionHelp>
                    <list>reachable stale failed permanent</list>
                  </completionHelp>
                </properties>
                <command>${vyos_op_scripts_dir}/neighbor.py show --family inet6 --state "$5"</command>
              </tagNode>
            </children>
          </node>
        </children>
      </node>
    </children>
  </node>
  <node name="reset">
    <children>
      <node name="ipv6">
        <properties>
          <help>Reset Internet Protocol version 6 (IPv6) parameters</help>
        </properties>
        <children>
          <node name="neighbors">
            <properties>
              <help>Reset IPv6 Neighbor Discovery (ND) cache</help>
            </properties>
            <children>
              <tagNode name="address">
                <properties>
                  <help>Reset ND cache for an IPv6 address</help>
                  <completionHelp>
                    <list>&lt;h:h:h:h:h:h:h:h&gt;</list>
                  </completionHelp>
                </properties>
                <command>sudo ip -f inet6 neigh flush to "$5"</command>
              </tagNode>
              <tagNode name="interface">
                <properties>
                  <help>Reset IPv6 ND cache for interface</help>
                  <completionHelp>
                    <script>${vyos_completion_dir}/list_interfaces</script>
                  </completionHelp>
                </properties>
                <command>sudo ip -f inet6 neigh flush dev "$5"</command>
              </tagNode>
            </children>
          </node>
          <node name="route">
            <properties>
              <help>Reset IPv6 route</help>
            </properties>
            <children>
              <leafNode name= "cache">
                <properties>
                  <help>Flush the kernel IPv6 route cache</help>
                </properties>
                <command>sudo ip -f inet6 route flush cache</command>
              </leafNode>
              <tagNode name="cache">
                <properties>
                  <help>Flush the kernel IPv6 route cache for a given route</help>
                  <completionHelp>
                    <list>&lt;h:h:h:h:h:h:h:h&gt; &lt;h:h:h:h:h:h:h:h/x&gt;</list>
                  </completionHelp>
                </properties>
                <command>sudo ip -f inet6 route flush cache "$5"</command>
              </tagNode>
            </children>
          </node>
        </children>
      </node>
    </children>
  </node>
</interfaceDefinition>