和 openstack ovn 一样,这个点,openstack ovn 那边的文档已经十分清楚了。所以拿来直接解释了:
OVN 支持 DHCP options
DHCP options 包含如下配置:
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 NB 数据库
查看 DHCP_Options 表
给 neutron port 添加 DHCP option :
$ openstack port set --extra-dhcp-option name='server-ip-address',value='10.0.0.1' b4c3f265-369e-4bf5-8789-7caa9a1efb9c
查看设置后的详情:
$ ovn-nbctl find Logical_Switch_Port name=b4c3f265-369e-4bf5-8789-7caa9a1efb9c
...
dhcpv4_options : 5f00d1a2-c57d-4d1f-83ea-09bf8be13288
dhcpv6_options : []
...
下面看到的是 dhcpv4_options
$ 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 就是 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.