OVN supported DHCP options¶
This is a list of the current supported DHCP options in ML2/OVN:
IP version 4¶
Option name / code |
OVN value |
---|---|
arp-timeout |
arp_cache_timeout |
bootfile-name |
bootfile_name |
classless-static-route |
classless_static_route |
default-ttl |
default_ttl |
dns-server |
dns_server |
domain-name |
domain_name |
domain-search |
domain_search_list |
ethernet-encap |
ethernet_encap |
ip-forward-enable |
ip_forward_enable |
lease-time |
lease_time |
log-server |
log_server |
lpr-server |
lpr_server |
ms-classless-static-route |
ms_classless_static_route |
mtu |
mtu |
netmask |
netmask |
nis-server |
nis_server |
ntp-server |
ntp_server |
path-prefix |
path_prefix |
policy-filter |
policy_filter |
router-discovery |
router_discovery |
router |
router |
router-solicitation |
router_solicitation |
server-id |
server_id |
server-ip-address |
tftp_server_address |
swap-server |
swap_server |
T1 |
T1 |
T2 |
T2 |
tcp-ttl |
tcp_ttl |
tcp-keepalive |
tcp_keepalive_interval |
tftp-server-address |
tftp_server_address |
tftp-server |
tftp_server |
wpad |
wpad |
1 |
netmask |
3 |
router |
6 |
dns_server |
7 |
log_server |
9 |
lpr_server |
15 |
domain_name |
16 |
swap_server |
19 |
ip_forward_enable |
21 |
policy_filter |
23 |
default_ttl |
26 |
mtu |
31 |
router_discovery |
32 |
router_solicitation |
35 |
arp_cache_timeout |
36 |
ethernet_encap |
37 |
tcp_ttl |
38 |
tcp_keepalive_interval |
41 |
nis_server |
42 |
ntp_server |
51 |
lease_time |
54 |
server_id |
58 |
T1 |
59 |
T2 |
66 |
tftp_server |
67 |
bootfile_name |
119 |
domain_search_list |
121 |
classless_static_route |
150 |
tftp_server_address |
210 |
path_prefix |
249 |
ms_classless_static_route |
252 |
wpad |
IP version 6¶
Option name / code |
OVN value |
---|---|
dns-server |
dns_server |
domain-search |
domain_search |
ia-addr |
ia_addr |
server-id |
server_id |
2 |
server_id |
5 |
ia_addr |
23 |
dns_server |
24 |
domain_search |
OVN Database information¶
In OVN the DHCP options are stored on a table called DHCP_Options
in the OVN Northbound database.
Let’s add a DHCP option to a Neutron port:
$ neutron port-update --extra-dhcp-opt opt_name='server-ip-address',opt_value='10.0.0.1' b4c3f265-369e-4bf5-8789-7caa9a1efb9c
Updated port: b4c3f265-369e-4bf5-8789-7caa9a1efb9c
To find that port in OVN we can use command below:
$ ovn-nbctl find Logical_Switch_Port name=b4c3f265-369e-4bf5-8789-7caa9a1efb9c
...
dhcpv4_options : 5f00d1a2-c57d-4d1f-83ea-09bf8be13288
dhcpv6_options : []
...
For DHCP, the columns that we care about are the dhcpv4_options
and dhcpv6_options
. These columns has the uuids of entries in the
DHCP_Options
table with the DHCP information for this port.
$ ovn-nbctl list DHCP_Options 5f00d1a2-c57d-4d1f-83ea-09bf8be13288
_uuid : 5f00d1a2-c57d-4d1f-83ea-09bf8be13288
cidr : "10.0.0.0/26"
external_ids : {"neutron:revision_number"="0", port_id="b4c3f265-369e-4bf5-8789-7caa9a1efb9c", subnet_id="5157ed8b-e7f1-4c56-b789-fa420098a687"}
options : {classless_static_route="{169.254.169.254/32,10.0.0.2, 0.0.0.0/0,10.0.0.1}", dns_server="{8.8.8.8}", domain_name="\"openstackgate.local\"", lease_time="43200", log_server="127.0.0.3", mtu="1442", router="10.0.0.1", server_id="10.0.0.1", server_mac="fa:16:3e:dc:57:22", tftp_server_address="10.0.0.1"}
Here you can see that the option tftp_server_address
has been set in
the options column. Note that, the tftp_server_address
option is
the OVN translated name for server-ip-address
(option 150). Take a
look at the table in this document to find out more about the supported
options and their counterpart names in OVN.