summaryrefslogtreecommitdiff
path: root/interface-definitions/service_ndp-proxy.xml.in
blob: aabba3f4eeeb45fc4f298beb5a85f94345dea344 (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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<?xml version="1.0"?>
<interfaceDefinition>
  <node name="service">
    <children>
      <node name="ndp-proxy" owner="${vyos_conf_scripts_dir}/service_ndp-proxy.py">
        <properties>
          <help>Neighbor Discovery Protocol (NDP) Proxy</help>
          <priority>600</priority>
        </properties>
        <children>
          <leafNode name="route-refresh">
            <properties>
              <help>Refresh interval for IPv6 routes</help>
              <valueHelp>
                <format>u32:10000-120000</format>
                <description>Time in milliseconds</description>
              </valueHelp>
              <constraint>
                <validator name="numeric" argument="--range 10000-120000"/>
              </constraint>
              <constraintErrorMessage>Route-refresh must be between 10000 and 120000 milliseconds</constraintErrorMessage>
            </properties>
            <defaultValue>30000</defaultValue>
          </leafNode>
          <tagNode name="interface">
            <properties>
              <help>NDP proxy listener interface</help>
              <completionHelp>
                <script>${vyos_completion_dir}/list_interfaces</script>
              </completionHelp>
              <constraint>
                #include <include/constraint/interface-name.xml.i>
              </constraint>
            </properties>
            <children>
              #include <include/generic-disable-node.xml.i>
              <leafNode name="enable-router-bit">
                <properties>
                  <help>Enable router bit in Neighbor Advertisement messages</help>
                  <valueless/>
                  </properties>
                </leafNode>
              <leafNode name="timeout">
                <properties>
                  <help>Timeout for Neighbor Advertisement after Neighbor Solicitation message</help>
                  <valueHelp>
                    <format>u32:500-120000</format>
                    <description>Timeout in milliseconds</description>
                  </valueHelp>
                  <constraint>
                    <validator name="numeric" argument="--range 500-120000"/>
                  </constraint>
                  <constraintErrorMessage>Timeout must be between 500 and 120000 milliseconds</constraintErrorMessage>
                </properties>
                <defaultValue>500</defaultValue>
              </leafNode>
              <leafNode name="ttl">
                <properties>
                  <help>Proxy entry cache Time-To-Live</help>
                  <valueHelp>
                    <format>u32:10000-120000</format>
                    <description>Time in milliseconds</description>
                  </valueHelp>
                  <constraint>
                    <validator name="numeric" argument="--range 10000-120000"/>
                  </constraint>
                  <constraintErrorMessage>TTL must be between 10000 and 120000 milliseconds</constraintErrorMessage>
                </properties>
                <defaultValue>30000</defaultValue>
              </leafNode>
              <tagNode name="prefix">
                <properties>
                  <help>Prefix target addresses are matched against</help>
                  <valueHelp>
                    <format>ipv6net</format>
                    <description>IPv6 network prefix</description>
                  </valueHelp>
                  <valueHelp>
                    <format>ipv6</format>
                    <description>IPv6 address</description>
                  </valueHelp>
                  <constraint>
                    <validator name="ipv6-prefix"/>
                    <validator name="ipv6-address"/>
                  </constraint>
                </properties>
                <children>
                  #include <include/generic-disable-node.xml.i>
                  <leafNode name="mode">
                    <properties>
                      <help>Specify the running mode of the rule</help>
                      <completionHelp>
                        <list>static auto interface</list>
                      </completionHelp>
                      <valueHelp>
                        <format>static</format>
                        <description>Immediately answer any Neighbor Solicitation Messages</description>
                      </valueHelp>
                      <valueHelp>
                        <format>auto</format>
                        <description>Check for a matching route in /proc/net/ipv6_route</description>
                      </valueHelp>
                      <valueHelp>
                        <format>interface</format>
                        <description>Forward Neighbor Solicitation message through specified interface</description>
                      </valueHelp>
                      <constraint>
                        <regex>(static|auto|interface)</regex>
                      </constraint>
                      <constraintErrorMessage>Mode must be either one of: static, auto or interface</constraintErrorMessage>
                    </properties>
                    <defaultValue>static</defaultValue>
                  </leafNode>
                  <leafNode name="interface">
                    <properties>
                      <help>Interface to forward Neighbor Solicitation message through. Required for "iface" mode</help>
                      <completionHelp>
                        <script>${vyos_completion_dir}/list_interfaces</script>
                      </completionHelp>
                      <constraint>
                        #include <include/constraint/interface-name.xml.i>
                      </constraint>
                    </properties>
                  </leafNode>
                </children>
              </tagNode>
            </children>
          </tagNode>
        </children>
      </node>
    </children>
  </node>
</interfaceDefinition>