OVN supported DHCP options

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.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.