summaryrefslogtreecommitdiff
path: root/interface-definitions/dhcp-server.xml.in
AgeCommit message (Collapse)Author
2023-12-21dhcp: T3316: Support hostname, DUID and MAC address in reservationIndrajit Raychaudhuri
Reinstate support for hostname in DHCP reservation. Having `hostname` in allows for server-side assignment of hostname. This is useful for static lookup of hostname. Ensure that hostname is a valid FQDN (doesn't have underscore, etc.) Additionally, support using either of DUID or MAC address for reservation. While MAC address is typically used for IPv4, and DUID is typically used for IPv6, either of them can be used in IPv4 and IPv6 reservations in Kea.
2023-12-08dhcp: T3316: Add time-zone node for options 100 and 101sarthurdev
2023-12-08dhcp: T3316: Add captive portal v4/v6 optionssarthurdev
2023-12-08dhcp: T3316: Migrate dhcp/dhcpv6 server to Keasarthurdev
2023-08-02dhcp: T5414: improve bootfile-name constraintxChristian Breunig
Extend list of allowed characters for the bootfile-option.
2022-11-21T4832: dhcp: Add IPv6-only dhcp option support (RFC 8925)Yuxiang Zhu
Clients supporting this DHCP option (DHCP option 108, RFC 8925) will disable its IPv4 network stack for configured number of seconds and operate in IPv6-only mode. This option is known to work on iOS 15+ and macOS 12.0.1+. Example command: ```sh set service dhcp-server shared-network-name LAN6 subnet 192.168.64.0/24 ipv6-only-preferred 0 ```
2022-06-20xml: T1748: cleanup <help> and </help> nodes not closing on the same lineChristian Poessinger
Commit a6f82bb484 ("T1748: vbash: beautify tab completion output/line breaks") added a method to split the help string and insert newlines and leading tabs in a deterministic way. This commit cleans up the legacy implementations where leading whitespaces got counted and added by humans in a try/error method.
2022-06-20T778: T782: dhcp-server: add missing bootfile-size and bootfile-name constraintsChristian Poessinger
2022-06-20dhcp: T4156: bootfile-option: add missing constraints and valueHelpChristian Poessinger
2022-06-10xml: drop not always applicable REQUIRED suffix from completion help stringChristian Poessinger
If a parameter is required is determined from the Python string on commit. This "indicator" is not used consistently and sometimes missing, or added where it is not required anymore due to Python script improvement/rewrite.
2022-04-29xml: T4047: use full string match in the regex validatorChristian Poessinger
2022-04-26dhcp: T4389: use lowercase vendor name in CLIChristian Poessinger
2022-04-26dhcp: T4389: fix vendor name, it is ubiquiti with an i, not yxChristian Poessinger
2022-04-22dhcp: T4389: add vendor option support for Ubiquity Unifi controllerChristian Poessinger
vyos@vyos# show service dhcp-server shared-network-name LAN { subnet 172.18.201.0/24 { default-router 172.18.201.1 name-server 172.18.201.2 range 0 { start 172.18.201.101 stop 172.18.201.109 } vendor-option { ubiquity { unifi-controller 172.16.100.1 } } } }
2022-04-22dhcp: T4388: missing constraint on tftp-server-name optionChristian Poessinger
2022-04-08Merge branch 'current' into dhcpdGeorg
2022-02-24scripts: T4269: node.def generator should automatically add default valuesChristian Poessinger
Since introducing the XML <defaultValue> node it was common, but redundant, practice to also add a help string indicating which value would be used as default if the node is unset. This makes no sense b/c it's duplicated code/value/characters and prone to error. The node.def scripts should be extended to automatically render the appropriate default value into the CLI help string. For e.g. SSH the current PoC renders: $ cat templates-cfg/service/ssh/port/node.def multi: type: txt help: Port for SSH service (default: 22) val_help: u32:1-65535; Numeric IP port ... Not all subsystems are already migrated to get_config_dict() and make use of the defaults() call - those subsystems need to be migrated, first before the new default is added to the CLI help.
2022-02-01T4156: Add bootfile-size optionGeorg
Signed-off-by: Georg <georg@lysergic.dev>
2021-11-14dhcp-server: T3982: dot (.) is an allowed static-mapping characterChristian Poessinger
This reverts a part of commit c45e4beadf30accb1838b3bad1f21c2146469bf8.
2021-11-10dhcp-server: T3982: remove support for invalid characters . and +Christian Poessinger
2021-09-21dhcp-server: T3839: support domain-search and ntp-server config per ↵Christian Poessinger
shared-network
2021-09-19dhcp-server: T3672: re-add missing "name" CLI optionChristian Poessinger
This option is mandatory and must be user configurable as it needs to match on both sides.
2021-09-19xml: dhcp-server: move building blocks to dhcp subdirectoryChristian Poessinger
2021-09-19dhcp-server: T3841: add option to perform ICMP check before address assignmentChristian Poessinger
2021-09-19dhcp-server: T3672: only one failover peer is supportedChristian Poessinger
2021-09-18dhcp-server: T3839: support name-servers and domain config per shared-networkChristian Poessinger
DHCP servers "shared-network" level only makes sense if one can specify configuration items that can be inherited by individual subnets. This is now possible for name-servers and the domain-name. set service dhcp-server shared-network-name LAN domain-name 'vyos.net' set service dhcp-server shared-network-name LAN name-server '192.0.2.1'
2021-09-18dhcp-server: xml: use description building blockChristian Poessinger
2021-09-18dhcp-server: T3838: rename dns-server to name-server nodeChristian Poessinger
IPv4 DHCP uses "dns-server" to specify one or more name-servers for a given pool. In order to use the same CLI syntax this should be renamed to name-server, which is already the case for DHCPv6.
2021-09-18dhcp-server: T1968: allow multiple static-routes to be configuredChristian Poessinger
vyos@vyos# show service dhcp-server shared-network-name LAN { subnet 10.0.0.0/24 { default-router 10.0.0.1 dns-server 194.145.150.1 lease 88 range 0 { start 10.0.0.100 stop 10.0.0.200 } static-route 192.168.10.0/24 { next-hop 10.0.0.2 } static-route 192.168.20.0/24 { router 10.0.0.2 } } }
2021-08-29xml: add missing "u32:" value declarator on integer rangesChristian Poessinger
2021-04-20xml: T3488: when using regex one must use ^ and $ when checking string literalsChristian Poessinger
2021-01-23xml: use "macaddr" key over individual "h:h:h:h:h:h" notationChristian Poessinger
2021-01-21dhcp: T3237: add constraint to static-mapping mac-address nodeChristian Poessinger
The format of the CLI specified MAC address was not validated as only addresses with a colon as seperator are supported. Constraint has been added.
2021-01-07xml: include: provide generic include for disable nodeChristian Poessinger
2020-12-28xml: completion-help: add helper for all local assigned IP addressesChristian Poessinger
This replaces the Python script by a bash variant which is much faster as the Python interpreter does not need to be launched on invocation.
2020-12-27xml: fix valueHelp format stringsChristian Poessinger
A pre-defined list of common format strings to be used inside the <format> node of <valueHelp> is available from [1]. Adjust all currently in use <format> nodes to re-use the predefined strings over writing them on their own by even encapsulating the <> signs as &lt; and &gt;. [1]: https://github.com/vyos/vyatta-cfg/blob/5aec1a0429f2f/etc/bash_completion.d/vyatta-cfg#L515-L566
2020-12-06dhcp: T2562: add "listen-address" CLI node for better DHCP relay supportChristian Poessinger
Running ISC DHCP server as backend server for multiple pools served to relay agents requires DHCPd to explicitly listen on give interfaces or a "transit" subnet declaration facing the network where we receive the DHCPREQ messages on. This implements a new "listen-address" CLI node, the given address is validated if it is assigned to the system and upon success, a proper "subnet { }" statement is added into dhcpd.conf
2020-12-04dhcp: T3100: migrate server configuration to get_config_dict()Christian Poessinger
2020-10-26dhcp-server: xml: T3016: use constraintErrorMessage for subnet definitionChristian Poessinger
2020-10-05dhcp(v6)-server: T2961: use fqdn validator wnd move to include snippedChristian Poessinger
Migrate the domain-search node (which occurs three times) to an includable snippet. Also re-use the fqdn validator to keep the regex patterns to as few locations as possible.
2019-12-06T1843: run interface-definitions though GCC preprocessorChristian Poessinger
A lot of XML code is duplicated (VLAN, interface address) for instance. Such XML definitions should be moved to feature.xml.i files and then just pulled in via GCC preprocessor #include definition in e.g. bond or ethernet definitions. This will give us the ability to single-source repeating node definitions as: * Interface Address * Interface Description * Interface Disable * VLAN (both vif-s and vif-c) The .in suffix of the interface-definitions is a marker that those files are input files to the GCC preprocessor. They will be rendered into proper XML files in the build directory. Some node definitions have been reworder to remove escaped double quote occurances which would have been warned about by the GCC preprocessor.