<?xml version="1.0"?>
<interfaceDefinition>
  <node name="show">
    <children>
      <node name="interfaces">
        <children>
          <tagNode name="ethernet">
            <properties>
              <help>Show ethernet interface information</help>
              <completionHelp>
                <path>interfaces ethernet</path>
              </completionHelp>
            </properties>
            <command>${vyos_op_scripts_dir}/show_interfaces.py --intf="$4"</command>
            <children>
              <leafNode name="brief">
                <properties>
                  <help>Show summary of the specified ethernet interface information</help>
                </properties>
                <command>${vyos_op_scripts_dir}/show_interfaces.py --intf="$4" --action=show-brief</command>
              </leafNode>
              <leafNode name="identify">
                <properties>
                  <help>Visually identify specified ethernet interface</help>
                </properties>
                <command>echo "Blinking interface $4 for 30 seconds."; /sbin/ethtool --identify "$4" 30</command>
              </leafNode>
              <node name="physical">
                <properties>
                  <help>Show physical device information for specified ethernet interface</help>
                </properties>
                <command>/sbin/ethtool "$4"; /sbin/ethtool -i "$4"</command>
                <children>
                  <leafNode name="offload">
                    <properties>
                      <help>Show physical device offloading capabilities</help>
                    </properties>
                    <command>/sbin/ethtool -k "$4" | sed -e 1d -e '/fixed/d' -e 's/^\t*//g' -e 's/://' | column -t -s' '</command>
                  </leafNode>
                </children>
              </node>
              <leafNode name="statistics">
                <properties>
                  <help>Show physical device statistics for specified ethernet interface</help>
                </properties>
                <command>/sbin/ethtool -S "$4"</command>
              </leafNode>
              <leafNode name="transceiver">
                <properties>
                  <help>Show transceiver information from modules (e.g SFP+, QSFP)</help>
                </properties>
                <command>/sbin/ethtool -m "$4"</command>
              </leafNode>
              <tagNode name="vif">
                <properties>
                  <help>Show specified virtual network interface (vif) information</help>
                  <completionHelp>
                    <path>interfaces ethernet ${COMP_WORDS[3]} vif</path>
                  </completionHelp>
                </properties>
                <command>${vyos_op_scripts_dir}/show_interfaces.py --intf="$4.$6"</command>
                <children>
                  <leafNode name="brief">
                    <properties>
                      <help>Show summary of specified virtual network interface (vif) information</help>
                    </properties>
                    <command>${vyos_op_scripts_dir}/show_interfaces.py --intf="$4.$6" --action=show-brief</command>
                  </leafNode>
                </children>
              </tagNode>
            </children>
          </tagNode>
          <node name="ethernet">
            <properties>
              <help>Show ethernet interface information</help>
            </properties>
            <command>${vyos_op_scripts_dir}/show_interfaces.py --intf-type=ethernet --action=show-brief</command>
            <children>
              <leafNode name="detail">
                <properties>
                  <help>Show detailed ethernet interface information</help>
                </properties>
                <command>${vyos_op_scripts_dir}/show_interfaces.py --intf-type=ethernet --action=show</command>
              </leafNode>
            </children>
          </node>
        </children>
      </node>
    </children>
  </node>
</interfaceDefinition>