summaryrefslogtreecommitdiff
path: root/interface-definitions/interfaces-macsec.xml.in
blob: 13448e758f235b72dbbc804ab0f75b1114f1acaf (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
47
48
49
50
51
52
53
<?xml version="1.0"?>
<interfaceDefinition>
  <node name="interfaces">
    <children>
      <tagNode name="macsec" owner="${vyos_conf_scripts_dir}/interfaces-macsec.py">
        <properties>
          <help>MACsec Interface (802.1ae)</help>
          <priority>319</priority>
          <constraint>
            <regex>^macsec[0-9]+$</regex>
          </constraint>
          <constraintErrorMessage>MACsec interface must be named macsecN</constraintErrorMessage>
          <valueHelp>
            <format>macsecN</format>
            <description>MACsec interface name</description>
          </valueHelp>
        </properties>
        <children>
          #include <include/address-ipv4-ipv6.xml.i>
          <leafNode name="cipher">
            <properties>
              <help>Cipher suite used (default: gcm-aes-128)</help>
              <completionHelp>
                <list>gcm-aes-128 gcm-aes-256</list>
              </completionHelp>
              <valueHelp>
                <format>gcm-aes-128</format>
                <description>Galois/Counter Mode of AES cipher with 128-bit key (default)</description>
              </valueHelp>
              <valueHelp>
                <format>gcm-aes-256</format>
                <description>Galois/Counter Mode of AES cipher with 256-bit key</description>
              </valueHelp>
              <constraint>
                <regex>(gcm-aes-128|gcm-aes-256)</regex>
              </constraint>
            </properties>
          </leafNode>
          <leafNode name="encrypt">
            <properties>
              <help>Enable optional MACsec encryption</help>
              <valueless/>
            </properties>
          </leafNode>
          #include <include/interface-description.xml.i>
          #include <include/interface-disable.xml.i>
          #include <include/interface-vrf.xml.i>
          #include <include/source-interface-ethernet.xml.i>
        </children>
      </tagNode>
    </children>
  </node>
</interfaceDefinition>