OVN 支持的 DHCP 选项

这是 ML2/OVN 中当前支持的 DHCP 选项列表

IPv4 版本

选项名称 / 代码

OVN 值

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

IPv6 版本

选项名称 / 代码

OVN 值

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 数据库信息

在 OVN 中,DHCP 选项存储在 OVN 北向数据库中的名为 DHCP_Options 的表中。

让我们向 Neutron 端口添加一个 DHCP 选项

$ openstack port set --extra-dhcp-option name='server-ip-address',value='10.0.0.1' b4c3f265-369e-4bf5-8789-7caa9a1efb9c

要找到 OVN 中的该端口,我们可以使用以下命令

$ ovn-nbctl find Logical_Switch_Port name=b4c3f265-369e-4bf5-8789-7caa9a1efb9c
...
dhcpv4_options      : 5f00d1a2-c57d-4d1f-83ea-09bf8be13288
dhcpv6_options      : []
...

对于 DHCP,我们关心的列是 dhcpv4_optionsdhcpv6_options。这些列包含 DHCP_Options 表中条目的 UUID,其中包含此端口的 DHCP 信息。

$ 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"}

在这里,您可以看到选项 tftp_server_address 已在 options 列中设置。请注意,tftp_server_address 选项是 OVN 转换后的 server-ip-address (选项 150) 的名称。请查看本文档中的表格,以了解有关受支持的选项及其在 OVN 中的对应名称的更多信息。