summaryrefslogtreecommitdiff
path: root/interface-definitions
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2018-10-17 20:16:37 +0200
committerChristian Poessinger <christian@poessinger.com>2018-10-17 21:37:48 +0200
commit8cf83c6ca8cf9cfda0179765effc2696f99dbc94 (patch)
treef71c735769142f6167923fe6c46aa9d4248223b0 /interface-definitions
parent71237a31c41ce0cf9aa2c1b13a976dcc8906079f (diff)
downloadvyos-1x-8cf83c6ca8cf9cfda0179765effc2696f99dbc94.tar.gz
vyos-1x-8cf83c6ca8cf9cfda0179765effc2696f99dbc94.zip
T913: DHCP relay service XML/Python rewrite for IPv4
Diffstat (limited to 'interface-definitions')
-rw-r--r--interface-definitions/dhcp-relay.xml108
1 files changed, 108 insertions, 0 deletions
diff --git a/interface-definitions/dhcp-relay.xml b/interface-definitions/dhcp-relay.xml
new file mode 100644
index 000000000..c918d25a3
--- /dev/null
+++ b/interface-definitions/dhcp-relay.xml
@@ -0,0 +1,108 @@
+<?xml version="1.0"?>
+<!-- DHCP relay configuration -->
+<interfaceDefinition>
+ <node name="service">
+ <children>
+ <node name="dhcp-relay" owner="${vyos_conf_scripts_dir}/dhcp_relay.py">
+ <properties>
+ <help>Host Configuration Protocol (DHCP) relay agent</help>
+ <priority>910</priority>
+ </properties>
+ <children>
+ <leafNode name="interface">
+ <properties>
+ <help>DHCP relay interface [REQUIRED]</help>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_interfaces.py -b</script>
+ </completionHelp>
+ <multi/>
+ </properties>
+ </leafNode>
+ <node name="relay-options">
+ <properties>
+ <help>Relay options</help>
+ </properties>
+ <children>
+ <leafNode name="hop-count">
+ <properties>
+ <help>Policy to discard packets that have reached specified hop-count</help>
+ <valueHelp>
+ <format>1-255</format>
+ <description>Hop count (default: 10)</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-255"/>
+ </constraint>
+ <constraintErrorMessage>hop-count must be a value between 1 and 255</constraintErrorMessage>
+ </properties>
+ </leafNode>
+ <leafNode name="max-size">
+ <properties>
+ <help>Maximum packet size to send to a DHCPv4/BOOTP server</help>
+ <valueHelp>
+ <format>64-1400</format>
+ <description>Maximum packet size (default: 576)</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 64-1400"/>
+ </constraint>
+ <constraintErrorMessage>max-size must be a value between 64 and 1400</constraintErrorMessage>
+ </properties>
+ </leafNode>
+ <leafNode name="port">
+ <properties>
+ <help>Port number to listen on</help>
+ <valueHelp>
+ <format>1-65535</format>
+ <description>Port to listen on</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-65535"/>
+ </constraint>
+ <constraintErrorMessage>port must be a value between 1 and 65535</constraintErrorMessage>
+ </properties>
+ </leafNode>
+ <leafNode name="relay-agents-packets">
+ <properties>
+ <help>Policy to handle incoming DHCPv4 packets which already contain relay agent options (default: forward)</help>
+ <valueHelp>
+ <format>append</format>
+ <description>append own relay options to packet</description>
+ </valueHelp>
+ <valueHelp>
+ <format>replace</format>
+ <description>replace existing agent option field</description>
+ </valueHelp>
+ <valueHelp>
+ <format>forward</format>
+ <description>forward packet unchanged</description>
+ </valueHelp>
+ <valueHelp>
+ <format>discard</format>
+ <description>discard packet (default action if giaddr not set in packet)</description>
+ </valueHelp>
+ <constraint>
+ <regex>(append|replace|forward|discard)</regex>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ <leafNode name="server">
+ <properties>
+ <help>DHCP server address</help>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>DHCP server IPv4 address</description>
+ </valueHelp>
+ <multi/>
+ <constraint>
+ <validator name="ipv4-address"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ </children>
+ </node>
+</interfaceDefinition>