схема базы данных OVN_Northbound (OVN_Northbound database schema)
DHCP_Options TABLE
OVN implements native DHCPv4 support which caters to the common
use case of providing an IPv4 address to a booting instance by
providing stateless replies to DHCPv4 requests based on
statically configured address mappings. To do this it allows a
short list of DHCPv4 options to be configured and applied at each
compute host running ovn-controller
.
OVN also implements native DHCPv6 support which provides
stateless replies to DHCPv6 requests.
Summary:
cidr
string
DHCPv4 options:
Mandatory DHCPv4 options:
options : server_id
optional string
options : server_mac
optional string
options : lease_time
optional string, containing an
integer, in range 0 to
4,294,967,295
IPv4 DHCP Options:
options : router
optional string
options : netmask
optional string
options : dns_server
optional string
options : log_server
optional string
options : lpr_server
optional string
options : swap_server
optional string
options : policy_filter
optional string
options : router_solicitation
optional string
options : nis_server
optional string
options : ntp_server
optional string
options : tftp_server
optional string
options : classless_static_route
optional string
options : ms_classless_static_route
optional string
Boolean DHCP Options:
options : ip_forward_enable
optional string, either 0
or 1
options : router_discovery
optional string, either 0
or 1
options : ethernet_encap
optional string, either 0
or 1
Integer DHCP Options:
options : default_ttl
optional string, containing an
integer, in range 0 to 255
options : tcp_ttl
optional string, containing an
integer, in range 0 to 255
options : mtu
optional string, containing an
integer, in range 68 to 65,535
options : T1
optional string, containing an
integer, in range 68 to
4,294,967,295
options : T2
optional string, containing an
integer, in range 68 to
4,294,967,295
String DHCP Options:
options : wpad
optional string
options : bootfile_name
optional string
options : path_prefix
optional string
options : tftp_server_address
optional string
options : domain_name
optional string
DHCPv6 options:
Mandatory DHCPv6 options:
options : server_id
optional string
IPv6 DHCPv6 options:
options : dns_server
optional string
String DHCPv6 options:
options : domain_search
optional string
options : dhcpv6_stateless
optional string
Common Columns:
external_ids
map of string-string pairs
Details:
cidr
: string
The DHCPv4/DHCPv6 options will be included if the logical
port has its IP address in this cidr
.
DHCPv4 options:
The CMS should define the set of DHCPv4 options as key/value
pairs in the options
column of this table. For ovn-controller
to
include these DHCPv4 options, the dhcpv4_options
of
Logical_Switch_Port
should refer to an entry in this table.
Mandatory DHCPv4 options:
The following options must be defined.
options : server_id
: optional string
The IP address for the DHCP server to use. This should be
in the subnet of the offered IP. This is also included in
the DHCP offer as option 54, ``server identifier.''
options : server_mac
: optional string
The Ethernet address for the DHCP server to use.
options : lease_time
: optional string, containing an integer, in
range 0 to 4,294,967,295
The offered lease time in seconds,
The DHCPv4 option code for this option is 51.
IPv4 DHCP Options:
Below are the supported DHCPv4 options whose values are an IPv4
address, e.g. 192.168.1.1
. Some options accept multiple IPv4
addresses enclosed within curly braces, e.g. {192.168.1.2,
192.168.1.3}
. Please refer to RFC 2132 for more details on DHCPv4
options and their codes.
options : router
: optional string
The IP address of a gateway for the client to use. This
should be in the subnet of the offered IP. The DHCPv4
option code for this option is 3.
options : netmask
: optional string
The DHCPv4 option code for this option is 1.
options : dns_server
: optional string
The DHCPv4 option code for this option is 6.
options : log_server
: optional string
The DHCPv4 option code for this option is 7.
options : lpr_server
: optional string
The DHCPv4 option code for this option is 9.
options : swap_server
: optional string
The DHCPv4 option code for this option is 16.
options : policy_filter
: optional string
The DHCPv4 option code for this option is 21.
options : router_solicitation
: optional string
The DHCPv4 option code for this option is 32.
options : nis_server
: optional string
The DHCPv4 option code for this option is 41.
options : ntp_server
: optional string
The DHCPv4 option code for this option is 42.
options : tftp_server
: optional string
The DHCPv4 option code for this option is 66.
options : classless_static_route
: optional string
The DHCPv4 option code for this option is 121.
This option can contain one or more static routes, each of
which consists of a destination descriptor and the IP
address of the router that should be used to reach that
destination. Please see RFC 3442 for more details.
Example: {30.0.0.0/24,10.0.0.10, 0.0.0.0/0,10.0.0.1}
options : ms_classless_static_route
: optional string
The DHCPv4 option code for this option is 249. This option
is similar to classless_static_route
supported by
Microsoft Windows DHCPv4 clients.
Boolean DHCP Options:
These options accept a Boolean value, expressed as 0
for false or
1
for true.
options : ip_forward_enable
: optional string, either 0
or 1
The DHCPv4 option code for this option is 19.
options : router_discovery
: optional string, either 0
or 1
The DHCPv4 option code for this option is 31.
options : ethernet_encap
: optional string, either 0
or 1
The DHCPv4 option code for this option is 36.
Integer DHCP Options:
These options accept a nonnegative integer value.
options : default_ttl
: optional string, containing an integer, in
range 0 to 255
The DHCPv4 option code for this option is 23.
options : tcp_ttl
: optional string, containing an integer, in
range 0 to 255
The DHCPv4 option code for this option is 37.
options : mtu
: optional string, containing an integer, in range
68 to 65,535
The DHCPv4 option code for this option is 26.
options : T1
: optional string, containing an integer, in range 68
to 4,294,967,295
This specifies the time interval from address assignment
until the client begins trying to renew its address. The
DHCPv4 option code for this option is 58.
options : T2
: optional string, containing an integer, in range 68
to 4,294,967,295
This specifies the time interval from address assignment
until the client begins trying to rebind its address. The
DHCPv4 option code for this option is 59.
String DHCP Options:
These options accept a string value.
options : wpad
: optional string
The DHCPv4 option code for this option is 252. This option
is used as part of web proxy auto discovery to provide a
URL for a web proxy.
options : bootfile_name
: optional string
The DHCPv4 option code for this option is 67. This option
is used to identify a bootfile.
options : path_prefix
: optional string
The DHCPv4 option code for this option is 210. In
PXELINUX' case this option is used to set a common path
prefix, instead of deriving it from the bootfile name.
options : tftp_server_address
: optional string
The DHCPv4 option code for this option is 150. The option
contains one or more IPv4 addresses that the client MAY
use. This option is Cisco proprietary, the IEEE standard
that matches with this requirement is option 66
(tftp_server).
options : domain_name
: optional string
The DHCPv4 option code for this option is 15. This option
specifies the domain name that client should use when
resolving hostnames via the Domain Name System.
DHCPv6 options:
OVN also implements native DHCPv6 support. The CMS should define
the set of DHCPv6 options as key/value pairs. The define DHCPv6
options will be included in the DHCPv6 response to the DHCPv6
Solicit/Request/Confirm packet from the logical ports having the
IPv6 addresses in the cidr
.
Mandatory DHCPv6 options:
The following options must be defined.
options : server_id
: optional string
The Ethernet address for the DHCP server to use. This is
also included in the DHCPv6 reply as option 2, ``Server
Identifier'' to carry a DUID identifying a server between
a client and a server. ovn-controller
defines DUID based
on Link-layer Address [DUID-LL].
IPv6 DHCPv6 options:
Below are the supported DHCPv6 options whose values are an IPv6
address, e.g. aef0::4
. Some options accept multiple IPv6
addresses enclosed within curly braces, e.g. {aef0::4, aef0::5}
.
Please refer to RFC 3315 for more details on DHCPv6 options and
their codes.
options : dns_server
: optional string
The DHCPv6 option code for this option is 23. This option
specifies the DNS servers that the VM should use.
String DHCPv6 options:
These options accept string values.
options : domain_search
: optional string
The DHCPv6 option code for this option is 24. This option
specifies the domain search list the client should use to
resolve hostnames with DNS.
Example: "ovn.org"
.
options : dhcpv6_stateless
: optional string
This option specifies the OVN native DHCPv6 will work in
stateless mode, which means OVN native DHCPv6 will not
offer IPv6 addresses for VM/VIF ports, but only reply
other configurations, such as DNS and domain search list.
When setting this option with string value "true", VM/VIF
will configure IPv6 addresses by stateless way. Default
value for this option is false.
Common Columns:
external_ids
: map of string-string pairs
See External IDs
at the beginning of this document.