Closes-Bug: #1938569 Change-Id: I10e0834594f68e06244c393c00d0b3d840c45fc5
5.0 KiB
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 |
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 |
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.