1ovn-nb(5) Open vSwitch Manual ovn-nb(5)
2
3
4
6 ovn-nb - OVN_Northbound database schema
7
8 This database is the interface between OVN and the cloud management
9 system (CMS), such as OpenStack, running above it. The CMS produces al‐
10 most all of the contents of the database. The ovn-northd program moni‐
11 tors the database contents, transforms it, and stores it into the
12 OVN_Southbound database.
13
14 We generally speak of ``the’’ CMS, but one can imagine scenarios in
15 which multiple CMSes manage different parts of an OVN deployment.
16
17 External IDs
18 Each of the tables in this database contains a special column, named
19 external_ids. This column has the same form and purpose each place it
20 appears.
21
22 external_ids: map of string-string pairs
23 Key-value pairs for use by the CMS. The CMS might use
24 certain pairs, for example, to identify entities in its
25 own configuration that correspond to those in this data‐
26 base.
27
29 The following list summarizes the purpose of each of the tables in the
30 OVN_Northbound database. Each table is described in more detail on a
31 later page.
32
33 Table Purpose
34 NB_Global Northbound configuration
35 Copp Control plane protection
36 Logical_Switch
37 L2 logical switch
38 Logical_Switch_Port
39 L2 logical switch port
40 Forwarding_Group
41 forwarding group
42 Address_Set
43 Address Sets
44 Port_Group
45 Port Groups
46 Load_Balancer
47 load balancer
48 Load_Balancer_Group
49 load balancer group
50 Load_Balancer_Health_Check
51 load balancer
52 ACL Access Control List (ACL) rule
53 Logical_Router
54 L3 logical router
55 QoS QoS rule
56 Meter Meter entry
57 Meter_Band
58 Band for meter entries
59 Logical_Router_Port
60 L3 logical router port
61 Logical_Router_Static_Route
62 Logical router static routes
63 Logical_Router_Policy
64 Logical router policies
65 NAT NAT rules
66 DHCP_Options
67 DHCP options
68 Connection
69 OVSDB client connections.
70 DNS Native DNS resolution
71 SSL SSL configuration.
72 Gateway_Chassis
73 Gateway_Chassis configuration.
74 HA_Chassis_Group
75 HA_Chassis_Group configuration.
76 HA_Chassis
77 HA_Chassis configuration.
78 BFD BFD configuration.
79
81 Northbound configuration for an OVN system. This table must have ex‐
82 actly one row.
83
84 Summary:
85 Identity:
86 name string
87 Status:
88 nb_cfg integer
89 nb_cfg_timestamp integer
90 sb_cfg integer
91 sb_cfg_timestamp integer
92 hv_cfg integer
93 hv_cfg_timestamp integer
94 Common Columns:
95 external_ids map of string-string pairs
96 Common options:
97 options map of string-string pairs
98 Options for configuring OVS BFD:
99 options : bfd-min-rx optional string
100 options : bfd-decay-min-rx
101 optional string
102 options : bfd-min-tx optional string
103 options : bfd-mult optional string
104 options : mac_prefix optional string
105 options : controller_event optional string, either true or false
106 options : northd_probe_interval
107 optional string
108 options : use_logical_dp_groups
109 optional string
110 options : use_parallel_build
111 optional string
112 options : ignore_lsp_down optional string
113 options : use_ct_inv_match optional string
114 Options for configuring interconnection route advertisement:
115 options : ic-route-adv optional string
116 options : ic-route-learn optional string
117 options : ic-route-adv-default
118 optional string
119 options : ic-route-learn-default
120 optional string
121 options : ic-route-blacklist
122 optional string
123 Connection Options:
124 connections set of Connections
125 ssl optional SSL
126 Security Configurations:
127 ipsec boolean
128 Read-only Options:
129 options : max_tunid optional string
130
131 Details:
132 Identity:
133
134 name: string
135 The name of the OVN cluster, which uniquely identifies the OVN
136 cluster throughout all OVN clusters supposed to interconnect
137 with each other.
138
139 Status:
140
141 These columns allow a client to track the overall configuration state
142 of the system.
143
144 nb_cfg: integer
145 Sequence number for client to increment. When a client modifies
146 any part of the northbound database configuration and wishes to
147 wait for ovn-northd and possibly all of the hypervisors to fin‐
148 ish applying the changes, it may increment this sequence number.
149
150 nb_cfg_timestamp: integer
151 The timestamp, in milliseconds since the epoch, when ovn-northd
152 sees the latest nb_cfg and starts processing.
153
154 To print the timestamp as a human-readable date:
155
156 date -d "@$(ovn-nbctl get NB_Global . nb_cfg_timestamp | sed ’s/...$//’)"
157
158
159 sb_cfg: integer
160 Sequence number that ovn-northd sets to the value of nb_cfg af‐
161 ter it finishes applying the corresponding configuration changes
162 to the OVN_Southbound database.
163
164 sb_cfg_timestamp: integer
165 The timestamp, in milliseconds since the epoch, when ovn-northd
166 finishes applying the corresponding configuration changes to the
167 OVN_Southbound database successfully.
168
169 hv_cfg: integer
170 Sequence number that ovn-northd sets to the smallest sequence
171 number of all the chassis in the system, as reported in the
172 Chassis_Private table in the southbound database. Thus, hv_cfg
173 equals nb_cfg if all chassis are caught up with the northbound
174 configuration (which may never happen, if any chassis is down).
175 This value can regress, if a chassis was removed from the system
176 and rejoins before catching up.
177
178 If there are no chassis, then ovn-northd copies nb_cfg to
179 hv_cfg. Thus, in this case, the (nonexistent) hypervisors are
180 always considered to be caught up. This means that hypervisors
181 can be "caught up" even in cases where sb_cfg would show that
182 the southbound database is not. To detect when both the hypervi‐
183 sors and the southbound database are caught up, a client should
184 take the smaller of sb_cfg and hv_cfg.
185
186 hv_cfg_timestamp: integer
187 The largest timestamp, in milliseconds since the epoch, of the
188 smallest sequence number of all the chassis in the system, as
189 reported in the Chassis_Private table in the southbound data‐
190 base. In other words, this timestamp reflects the time when the
191 slowest chassis catches up with the northbound configuration,
192 which is useful for end-to-end control plane latency measure‐
193 ment.
194
195 Common Columns:
196
197 external_ids: map of string-string pairs
198 See External IDs at the beginning of this document.
199
200 Common options:
201
202 options: map of string-string pairs
203 This column provides general key/value settings. The supported
204 options are described individually below.
205
206 Options for configuring OVS BFD:
207
208 These options apply when ovn-controller configures OVS BFD on tunnels
209 interfaces. Please note these parameters refer to legacy OVS BFD imple‐
210 mentation and not to OVN BFD one.
211
212 options : bfd-min-rx: optional string
213 BFD option min-rx value to use when configuring BFD on tunnel
214 interfaces.
215
216 options : bfd-decay-min-rx: optional string
217 BFD option decay-min-rx value to use when configuring BFD on
218 tunnel interfaces.
219
220 options : bfd-min-tx: optional string
221 BFD option min-tx value to use when configuring BFD on tunnel
222 interfaces.
223
224 options : bfd-mult: optional string
225 BFD option mult value to use when configuring BFD on tunnel in‐
226 terfaces.
227
228 options : mac_prefix: optional string
229 Configure a given OUI to be used as prefix when L2 address is
230 dynamically assigned, e.g. 00:11:22
231
232 options : controller_event: optional string, either true or false
233 Value set by the CMS to enable/disable ovn-controller event re‐
234 porting. Traffic into OVS can raise a ’controller’ event that
235 results in a Controller_Event being written to the Con‐
236 troller_Event table in SBDB. When the CMS has seen the event and
237 taken appropriate action, it can remove the correponding row in
238 Controller_Event table. The intention is for a CMS to see the
239 events and take some sort of action. Please see the Con‐
240 troller_Event table in SBDB. It is possible to associate a meter
241 to each controller event type in order to not overload the pinc‐
242 trl thread under heavy load. Each event type relies on a meter
243 with a defined name:
244
245 • empty_lb_backends: event-elb
246
247 options : northd_probe_interval: optional string
248 The inactivity probe interval of the connection to the OVN
249 Northbound and Southbound databases from ovn-northd, in mil‐
250 liseconds. If the value is zero, it disables the connection
251 keepalive feature.
252
253 If the value is nonzero, then it will be forced to a value of at
254 least 1000 ms.
255
256 options : use_logical_dp_groups: optional string
257 If set to true, ovn-northd will combine logical flows that dif‐
258 fers only by logical datapath into a single logical flow with
259 logical datapath group attached.
260
261 While this should significantly reduce number of logical flows
262 stored in Southbound database this could also increase process‐
263 ing complexity on the ovn-controller side, e.g., ovn-controller
264 will re-consider logical flow for all logical datapaths in a
265 group. If the option set to false, there will be separate logi‐
266 cal flow per logical datapath and only this flow will be re-con‐
267 sidered.
268
269 The default value is false.
270
271 options : use_parallel_build: optional string
272 If set to true, ovn-northd will attempt to compute logical flows
273 in parallel.
274
275 Parallel computation is enabled only if the system has 4 or more
276 cores/threads available to be used by ovn-northd.
277
278 The default value is false.
279
280 options : ignore_lsp_down: optional string
281 If set to false, ARP/ND reply flows for logical switch ports
282 will be installed only if the port is up, i.e. claimed by a
283 Chassis. If set to true, these flows are installed regardless of
284 the status of the port, which can result in a situation that ARP
285 request to an IP is resolved even before the relevant VM/con‐
286 tainer is running. For environments where this is not an issue,
287 setting it to true can reduce the load and latency of the con‐
288 trol plane. The default value is true.
289
290 options : use_ct_inv_match: optional string
291 If set to false, ovn-northd will not use the ct.inv field in any
292 of the logical flow matches. The default value is true. If the
293 NIC supports offloading OVS datapath flows but doesn’t support
294 offloading ct_state inv flag, then the datapath flows matching
295 on this flag (either +inv or -inv) will not be offloaded. CMS
296 should consider setting use_ct_inv_match to false in such cases.
297 This results in a side effect of the invalid packets getting de‐
298 livered to the destination VIF, which otherwise would have been
299 dropped by OVN.
300
301 Options for configuring interconnection route advertisement:
302
303 These options control how routes are advertised between OVN deployments
304 for interconnection. If enabled, ovn-ic from different OVN deployments
305 exchanges routes between each other through the global OVN_IC_South‐
306 bound database. Only routers with ports connected to interconnection
307 transit switches participate in route advertisement. For each of these
308 routers, there are two types of routes to be advertised:
309
310 Firstly, the static routes configured in the router are advertised.
311
312 Secondly, the networks configured in the logical router ports that are
313 not on the transit switches are advertised. These are considered as di‐
314 rectly connected subnets on the router.
315
316 Link local prefixes (IPv4 169.254.0.0/16 and IPv6 FE80::/10) are never
317 advertised.
318
319 The learned routes are added to the static_routes column of the Logi‐
320 cal_Router table, with external_ids:ic-learned-route set to the uuid of
321 the row in Route table of the OVN_IC_Southbound database.
322
323 options : ic-route-adv: optional string
324 A boolean value that enables route advertisement to the global
325 OVN_IC_Southbound database. Default is false.
326
327 options : ic-route-learn: optional string
328 A boolean value that enables route learning from the global
329 OVN_IC_Southbound database. Default is false.
330
331 options : ic-route-adv-default: optional string
332 A boolean value that enables advertising default route to the
333 global OVN_IC_Southbound database. Default is false. This option
334 takes effect only when option ic-route-adv is true.
335
336 options : ic-route-learn-default: optional string
337 A boolean value that enables learning default route from the
338 global OVN_IC_Southbound database. Default is false. This option
339 takes effect only when option ic-route-learn is true.
340
341 options : ic-route-blacklist: optional string
342 A string value contains a list of CIDRs delimited by ",". A
343 route will not be advertised or learned if the route’s prefix
344 belongs to any of the CIDRs listed.
345
346 Connection Options:
347
348 connections: set of Connections
349 Database clients to which the Open vSwitch database server
350 should connect or on which it should listen, along with options
351 for how these connections should be configured. See the Connec‐
352 tion table for more information.
353
354 ssl: optional SSL
355 Global SSL configuration.
356
357 Security Configurations:
358
359 ipsec: boolean
360 Tunnel encryption configuration. If this column is set to be
361 true, all OVN tunnels will be encrypted with IPsec.
362
363 Read-only Options:
364
365 options : max_tunid: optional string
366 The maximum supported tunnel ID. Depends on types of encapsula‐
367 tion enabled in the cluster.
368
370 This table is used to define control plane protection policies, i.e.,
371 associate entries from table Meter to control protocol names.
372
373 Summary:
374 meters : arp optional string
375 meters : arp-resolve optional string
376 meters : dhcpv4-opts optional string
377 meters : dhcpv6-opts optional string
378 meters : dns optional string
379 meters : event-elb optional string
380 meters : icmp4-error optional string
381 meters : icmp6-error optional string
382 meters : igmp optional string
383 meters : nd-na optional string
384 meters : nd-ns optional string
385 meters : nd-ns-resolve optional string
386 meters : nd-ra-opts optional string
387 meters : tcp-reset optional string
388 meters : bfd optional string
389 meters : reject optional string
390
391 Details:
392 meters : arp: optional string
393 Rate limiting meter for ARP packets (request/reply) used for
394 learning neighbors.
395
396 meters : arp-resolve: optional string
397 Rate limiting meter for packets that require resolving the next-
398 hop (through ARP).
399
400 meters : dhcpv4-opts: optional string
401 Rate limiting meter for packets that require adding DHCPv4 op‐
402 tions.
403
404 meters : dhcpv6-opts: optional string
405 Rate limiting meter for packets that require adding DHCPv6 op‐
406 tions.
407
408 meters : dns: optional string
409 Rate limiting meter for DNS query packets that need to be
410 replied to.
411
412 meters : event-elb: optional string
413 Rate limiting meter for empty load balancer events.
414
415 meters : icmp4-error: optional string
416 Rate limiting meter for packets that require replying with an
417 ICMP error.
418
419 meters : icmp6-error: optional string
420 Rate limiting meter for packets that require replying with an
421 ICMPv6 error.
422
423 meters : igmp: optional string
424 Rate limiting meter for IGMP packets.
425
426 meters : nd-na: optional string
427 Rate limiting meter for ND neighbor advertisement packets used
428 for learning neighbors.
429
430 meters : nd-ns: optional string
431 Rate limiting meter for ND neighbor solicitation packets used
432 for learning neighbors.
433
434 meters : nd-ns-resolve: optional string
435 Rate limiting meter for packets that require resolving the next-
436 hop (through ND).
437
438 meters : nd-ra-opts: optional string
439 Rate limiting meter for packets that require adding ND router
440 advertisement options.
441
442 meters : tcp-reset: optional string
443 Rate limiting meter for packets that require replying with TCP
444 RST packet.
445
446 meters : bfd: optional string
447 Rate limiting meter for BFD packets.
448
449 meters : reject: optional string
450 Rate limiting meter for packets that trigger a reject action
451
453 Each row represents one L2 logical switch.
454
455 There are two kinds of logical switches, that is, ones that fully vir‐
456 tualize the network (overlay logical switches) and ones that provide
457 simple connectivity to physical networks (bridged logical switches).
458 They work in the same way when providing connectivity between logical
459 ports on same chassis, but differently when connecting remote logical
460 ports. Overlay logical switches connect remote logical ports by tun‐
461 nels, while bridged logical switches provide connectivity to remote
462 ports by bridging the packets to directly connected physical L2 seg‐
463 ments with the help of localnet ports. Each bridged logical switch has
464 one or more localnet ports, which have only one special address un‐
465 known.
466
467 Summary:
468 ports set of Logical_Switch_Ports
469 load_balancer set of weak reference to Load_Balancers
470 load_balancer_group set of Load_Balancer_Groups
471 acls set of ACLs
472 qos_rules set of QoSes
473 dns_records set of weak reference to DNSes
474 forwarding_groups set of Forwarding_Groups
475 Naming:
476 name string
477 external_ids : neutron:network_name
478 optional string
479 IP Address Assignment:
480 other_config : subnet optional string
481 other_config : exclude_ips optional string
482 other_config : ipv6_prefix optional string
483 other_config : mac_only optional string, either true or false
484 IP Multicast Snooping Options:
485 other_config : mcast_snoop optional string, either true or false
486 other_config : mcast_querier
487 optional string, either true or false
488 other_config : mcast_flood_unregistered
489 optional string, either true or false
490 other_config : mcast_table_size
491 optional string, containing an integer,
492 in range 1 to 32,766
493 other_config : mcast_idle_timeout
494 optional string, containing an integer,
495 in range 15 to 3,600
496 other_config : mcast_query_interval
497 optional string, containing an integer,
498 in range 1 to 3,600
499 other_config : mcast_query_max_response
500 optional string, containing an integer,
501 in range 1 to 10
502 other_config : mcast_eth_src
503 optional string
504 other_config : mcast_ip4_src
505 optional string
506 other_config : mcast_ip6_src
507 optional string
508 Interconnection:
509 other_config : interconn-ts
510 optional string
511 Tunnel Key:
512 other_config : requested-tnl-key
513 optional string, containing an integer,
514 in range 1 to 16,777,215
515 copp optional weak reference to Copp
516 Other options:
517 other_config : vlan-passthru
518 optional string, either true or false
519 Common Columns:
520 external_ids map of string-string pairs
521
522 Details:
523 ports: set of Logical_Switch_Ports
524 The logical ports connected to the logical switch.
525
526 It is an error for multiple logical switches to include the same
527 logical port.
528
529 load_balancer: set of weak reference to Load_Balancers
530 Set of load balancers associated to this logical switch.
531
532 load_balancer_group: set of Load_Balancer_Groups
533 Set of load balancers groups associated to this logical switch.
534
535 acls: set of ACLs
536 Access control rules that apply to packets within the logical
537 switch.
538
539 qos_rules: set of QoSes
540 QoS marking and metering rules that apply to packets within the
541 logical switch.
542
543 dns_records: set of weak reference to DNSes
544 This column defines the DNS records to be used for resolving in‐
545 ternal DNS queries within the logical switch by the native DNS
546 resolver. Please see the DNS table.
547
548 forwarding_groups: set of Forwarding_Groups
549 Groups a set of logical port endpoints for traffic going out of
550 the logical switch.
551
552 Naming:
553
554 These columns provide names for the logical switch. From OVN’s perspec‐
555 tive, these names have no special meaning or purpose other than to pro‐
556 vide convenience for human interaction with the database. There is no
557 requirement for the name to be unique. (For a unique identifier for a
558 logical switch, use its row UUID.)
559
560 (Originally, name was intended to serve the purpose of a human-friendly
561 name, but the Neutron integration used it to uniquely identify its own
562 switch object, in the format neutron-uuid. Later on, Neutron started
563 propagating the friendly name of a switch as external_ids:neutron:net‐
564 work_name. Perhaps this can be cleaned up someday.)
565
566 name: string
567 A name for the logical switch.
568
569 external_ids : neutron:network_name: optional string
570 Another name for the logical switch.
571
572 IP Address Assignment:
573
574 These options control automatic IP address management (IPAM) for ports
575 attached to the logical switch. To enable IPAM for IPv4, set other_con‐
576 fig:subnet and optionally other_config:exclude_ips. To enable IPAM for
577 IPv6, set other_config:ipv6_prefix. IPv4 and IPv6 may be enabled to‐
578 gether or separately.
579
580 To request dynamic address assignment for a particular port, use the
581 dynamic keyword in the addresses column of the port’s Logi‐
582 cal_Switch_Port row. This requests both an IPv4 and an IPv6 address, if
583 IPAM for IPv4 and IPv6 are both enabled.
584
585 other_config : subnet: optional string
586 Set this to an IPv4 subnet, e.g. 192.168.0.0/24, to enable
587 ovn-northd to automatically assign IP addresses within that sub‐
588 net.
589
590 other_config : exclude_ips: optional string
591 To exclude some addresses from automatic IP address management,
592 set this to a list of the IPv4 addresses or ..-delimited ranges
593 to exclude. The addresses or ranges should be a subset of those
594 in other_config:subnet.
595
596 Whether listed or not, ovn-northd will never allocate the first
597 or last address in a subnet, such as 192.168.0.0 or
598 192.168.0.255 in 192.168.0.0/24.
599
600 Examples:
601
602 • 192.168.0.2 192.168.0.10
603
604 • 192.168.0.4 192.168.0.30..192.168.0.60
605 192.168.0.110..192.168.0.120
606
607 • 192.168.0.110..192.168.0.120 192.168.0.25..192.168.0.30
608 192.168.0.144
609
610 other_config : ipv6_prefix: optional string
611 Set this to an IPv6 prefix to enable ovn-northd to automatically
612 assign IPv6 addresses using this prefix. The assigned IPv6 ad‐
613 dress will be generated using the IPv6 prefix and the MAC ad‐
614 dress (converted to an IEEE EUI64 identifier) of the port. The
615 IPv6 prefix defined here should be a valid IPv6 address ending
616 with ::.
617
618 Examples:
619
620 • aef0::
621
622 • bef0:1234:a890:5678::
623
624 • 8230:5678::
625
626 other_config : mac_only: optional string, either true or false
627 Value used to request to assign L2 address only if neither sub‐
628 net nor ipv6_prefix are specified
629
630 IP Multicast Snooping Options:
631
632 These options control IP Multicast Snooping configuration of the logi‐
633 cal switch. To enable IP Multicast Snooping set other_con‐
634 fig:mcast_snoop to true. To enable IP Multicast Querier set other_con‐
635 fig:mcast_snoop to true. If IP Multicast Querier is enabled other_con‐
636 fig:mcast_eth_src and other_config:mcast_ip4_src must be set.
637
638 other_config : mcast_snoop: optional string, either true or false
639 Enables/disables IP Multicast Snooping on the logical switch.
640
641 other_config : mcast_querier: optional string, either true or false
642 Enables/disables IP Multicast Querier on the logical switch.
643
644 other_config : mcast_flood_unregistered: optional string, either true
645 or false
646 Determines whether unregistered multicast traffic should be
647 flooded or not. Only applicable if other_config:mcast_snoop is
648 enabled.
649
650 other_config : mcast_table_size: optional string, containing an inte‐
651 ger, in range 1 to 32,766
652 Number of multicast groups to be stored. Default: 2048.
653
654 other_config : mcast_idle_timeout: optional string, containing an inte‐
655 ger, in range 15 to 3,600
656 Configures the IP Multicast Snooping group idle timeout (in sec‐
657 onds). Default: 300 seconds.
658
659 other_config : mcast_query_interval: optional string, containing an in‐
660 teger, in range 1 to 3,600
661 Configures the IP Multicast Querier interval between queries (in
662 seconds). Default: other_config:mcast_idle_timeout / 2.
663
664 other_config : mcast_query_max_response: optional string, containing an
665 integer, in range 1 to 10
666 Configures the value of the "max-response" field in the multi‐
667 cast queries originated by the logical switch. Default: 1 sec‐
668 ond.
669
670 other_config : mcast_eth_src: optional string
671 Configures the source Ethernet address for queries originated by
672 the logical switch.
673
674 other_config : mcast_ip4_src: optional string
675 Configures the source IPv4 address for queries originated by the
676 logical switch.
677
678 other_config : mcast_ip6_src: optional string
679 Configures the source IPv6 address for queries originated by the
680 logical switch.
681
682 Interconnection:
683
684 other_config : interconn-ts: optional string
685 The name of corresponding transit switch in OVN_IC_Northbound
686 database. This kind of logical switch is created and controlled
687 by ovn-ic.
688
689 Tunnel Key:
690
691 other_config : requested-tnl-key: optional string, containing an inte‐
692 ger, in range 1 to 16,777,215
693 Configures the datapath tunnel key for the logical switch. Usu‐
694 ally this is not needed because ovn-northd will assign an unique
695 key for each datapath by itself. However, if it is configured,
696 ovn-northd honors the configured value. The typical use case is
697 for interconnection: the tunnel keys for transit switches need
698 to be unique globally, so they are maintained in the global
699 OVN_IC_Southbound database, and ovn-ic simply syncs the value
700 from OVN_IC_Southbound through this config.
701
702 copp: optional weak reference to Copp
703 The control plane protection policy from table Copp used for me‐
704 tering packets sent to ovn-controller from ports of this logical
705 switch.
706
707 Other options:
708
709 other_config : vlan-passthru: optional string, either true or false
710 Determines whether VLAN tagged incoming traffic should be al‐
711 lowed. Note that this may have security implications when en‐
712 abled for a logical switch with a tag=0 localnet port. If not
713 properly isolated from other localnet ports, fabric traffic that
714 belongs to other tagged networks may be passed through such a
715 port.
716
717 Common Columns:
718
719 external_ids: map of string-string pairs
720 See External IDs at the beginning of this document.
721
723 A port within an L2 logical switch.
724
725 Summary:
726 Core Features:
727 name string (must be unique within table)
728 type string
729 Options:
730 options map of string-string pairs
731 Options for router ports:
732 options : router-port optional string
733 options : nat-addresses optional string
734 options : arp_proxy optional string
735 Options for localnet ports:
736 options : network_name optional string
737 options : ethtype optional string
738 Options for l2gateway ports:
739 options : network_name optional string
740 options : l2gateway-chassis
741 optional string
742 Options for vtep ports:
743 options : vtep-physical-switch
744 optional string
745 options : vtep-logical-switch
746 optional string
747 VMI (or VIF) Options:
748 options : requested-chassis
749 optional string
750 options : iface-id-ver optional string
751 options : qos_max_rate optional string
752 options : qos_burst optional string
753 options : hostname optional string
754 Virtual port Options:
755 options : virtual-ip optional string
756 options : virtual-parents
757 optional string
758 IP Multicast Snooping Options:
759 options : mcast_flood optional string, either true or false
760 options : mcast_flood_reports
761 optional string, either true or false
762 Containers:
763 parent_name optional string
764 tag_request optional integer, in range 0 to 4,095
765 tag optional integer, in range 1 to 4,095
766 Port State:
767 up optional boolean
768 enabled optional boolean
769 Addressing:
770 addresses set of strings
771 dynamic_addresses optional string
772 port_security set of strings
773 DHCP:
774 dhcpv4_options optional weak reference to DHCP_Options
775 dhcpv6_options optional weak reference to DHCP_Options
776 ha_chassis_group optional HA_Chassis_Group
777 Naming:
778 external_ids : neutron:port_name
779 optional string
780 Tunnel Key:
781 options : requested-tnl-key
782 optional string, containing an integer,
783 in range 1 to 32,767
784 Common Columns:
785 external_ids map of string-string pairs
786
787 Details:
788 Core Features:
789
790 name: string (must be unique within table)
791 The logical port name.
792
793 For entities (VMs or containers) that are spawned in the hyper‐
794 visor, the name used here must match those used in the exter‐
795 nal_ids:iface-id in the Open_vSwitch database’s Interface table,
796 because hypervisors use external_ids:iface-id as a lookup key to
797 identify the network interface of that entity.
798
799 For containers that share a VIF within a VM, the name can be any
800 unique identifier. See Containers, below, for more information.
801
802 A logical switch port may not have the same name as a logical
803 router port, but the database schema cannot enforce this.
804
805 type: string
806 Specify a type for this logical port. Logical ports can be used
807 to model other types of connectivity into an OVN logical switch.
808 The following types are defined:
809
810 (empty string)
811 A VM (or VIF) interface.
812
813 router A connection to a logical router. The value of op‐
814 tions:router-port specifies the name of the Logi‐
815 cal_Router_Port to which this logical switch port is con‐
816 nected.
817
818 localnet
819 A connection to a locally accessible network from
820 ovn-controller instances that have a corresponding bridge
821 mapping. A logical switch can have multiple localnet
822 ports attached. This type is used to model direct connec‐
823 tivity to existing networks. In this case, each chassis
824 should have a mapping for one of the physical networks
825 only. Note: nothing said above implies that a chassis
826 cannot be plugged to multiple physical networks as long
827 as they belong to different switches.
828
829 localport
830 A connection to a local VIF. Traffic that arrives on a
831 localport is never forwarded over a tunnel to another
832 chassis. These ports are present on every chassis and
833 have the same address in all of them. This is used to
834 model connectivity to local services that run on every
835 hypervisor.
836
837 l2gateway
838 A connection to a physical network.
839
840 vtep A port to a logical switch on a VTEP gateway.
841
842 external
843 Represents a logical port which is external and not hav‐
844 ing an OVS port in the integration bridge. OVN will never
845 receive any traffic from this port or send any traffic to
846 this port. OVN can support native services like
847 DHCPv4/DHCPv6/DNS for this port. If ha_chassis_group is
848 defined, ovn-controller running in the master chassis of
849 the HA chassis group will bind this port to provide these
850 native services. It is expected that this port belong to
851 a bridged logical switch (with a localnet port).
852
853 It is recommended to use the same HA chassis group for
854 all the external ports of a logical switch. Otherwise,
855 the physical switch might see MAC flap issue when differ‐
856 ent chassis provide the native services. For example when
857 supporting native DHCPv4 service, DHCPv4 server mac (con‐
858 figured in options:server_mac column in table DHCP_Op‐
859 tions) originating from different ports can cause MAC
860 flap issue. The MAC of the logical router IP(s) can also
861 flap if the same HA chassis group is not set for all the
862 external ports of a logical switch.
863
864 Below are some of the use cases where external ports can
865 be used.
866
867 • VMs connected to SR-IOV nics - Traffic from these
868 VMs by passes the kernel stack and local ovn-con‐
869 troller do not bind these ports and cannot serve
870 the native services.
871
872 • When CMS supports provisioning baremetal servers.
873
874 virtual
875 Represents a logical port which does not have an OVS port
876 in the integration bridge and has a virtual ip configured
877 in the options:virtual-ip column. This virtual ip can
878 move around between the logical ports configured in the
879 options:virtual-parents column.
880
881 One of the use case where virtual ports can be used is.
882
883 • The virtual ip represents a load balancer vip and
884 the virtual parents provide load balancer service
885 in an active-standby setup with the active virtual
886 parent owning the virtual ip.
887
888 remote A remote port is to model a port that resides remotely on
889 another OVN, which is on the other side of a transit log‐
890 ical switch for OVN interconnection. This type of ports
891 are created by ovn-ic instead of by CMS. Any change to
892 the port will be automatically overwritten by ovn-ic.
893
894 Options:
895
896 options: map of string-string pairs
897 This column provides key/value settings specific to the logical
898 port type. The type-specific options are described individually
899 below.
900
901 Options for router ports:
902
903 These options apply when type is router.
904
905 options : router-port: optional string
906 Required. The name of the Logical_Router_Port to which this log‐
907 ical switch port is connected.
908
909 options : nat-addresses: optional string
910 This is used to send gratuitous ARPs for SNAT and DNAT IP ad‐
911 dresses via the localnet port that is attached to the same logi‐
912 cal switch as this type router port. This option is specified on
913 a logical switch port that is connected to a gateway router, or
914 a logical switch port that is connected to a distributed gateway
915 port on a logical router.
916
917 This must take one of the following forms:
918
919 router Gratuitous ARPs will be sent for all SNAT and DNAT exter‐
920 nal IP addresses and for all load balancer IP addresses
921 defined on the options:router-port’s logical router, us‐
922 ing the options:router-port’s MAC address.
923
924 This form of options:nat-addresses is valid for logical
925 switch ports where options:router-port is the name of a
926 port on a gateway router, or the name of a distributed
927 gateway port.
928
929 Supported only in OVN 2.8 and later. Earlier versions re‐
930 quired NAT addresses to be manually synchronized.
931
932 Ethernet address followed by one or more IPv4 addresses
933 Example: 80:fa:5b:06:72:b7 158.36.44.22 158.36.44.24.
934 This would result in generation of gratuitous ARPs for IP
935 addresses 158.36.44.22 and 158.36.44.24 with a MAC ad‐
936 dress of 80:fa:5b:06:72:b7.
937
938 This form of options:nat-addresses is only valid for log‐
939 ical switch ports where options:router-port is the name
940 of a port on a gateway router.
941
942 options : arp_proxy: optional string
943 Optional. A list of IPv4 addresses that this logical switch
944 router port will reply to ARP requests. Example: 169.254.239.254
945 169.254.239.2. The options:router-port’s logical router should
946 have a route to forward packets sent to configured proxy ARP IPs
947 to an appropriate destination.
948
949 Options for localnet ports:
950
951 These options apply when type is localnet.
952
953 options : network_name: optional string
954 Required. The name of the network to which the localnet port is
955 connected. Each hypervisor, via ovn-controller, uses its local
956 configuration to determine exactly how to connect to this lo‐
957 cally accessible network, if at all.
958
959 options : ethtype: optional string
960 Optional. VLAN EtherType field value for encapsulating VLAN
961 headers. Supported values: 802.11q (default), 802.11ad.
962
963 Options for l2gateway ports:
964
965 These options apply when type is l2gateway.
966
967 options : network_name: optional string
968 Required. The name of the network to which the l2gateway port is
969 connected. The L2 gateway, via ovn-controller, uses its local
970 configuration to determine exactly how to connect to this net‐
971 work.
972
973 options : l2gateway-chassis: optional string
974 Required. The chassis on which the l2gateway logical port should
975 be bound to. ovn-controller running on the defined chassis will
976 connect this logical port to the physical network.
977
978 Options for vtep ports:
979
980 These options apply when type is vtep.
981
982 options : vtep-physical-switch: optional string
983 Required. The name of the VTEP gateway.
984
985 options : vtep-logical-switch: optional string
986 Required. A logical switch name connected by the VTEP gateway.
987
988 VMI (or VIF) Options:
989
990 These options apply to logical ports with type having (empty string)
991
992 options : requested-chassis: optional string
993 If set, identifies a specific chassis (by name or hostname) that
994 is allowed to bind this port. Using this option will prevent
995 thrashing between two chassis trying to bind the same port dur‐
996 ing a live migration. It can also prevent similar thrashing due
997 to a mis-configuration, if a port is accidentally created on
998 more than one chassis.
999
1000 options : iface-id-ver: optional string
1001 If set, this port will be bound by ovn-controller only if this
1002 same key and value is configured in the external_ids column in
1003 the Open_vSwitch database’s Interface table.
1004
1005 options : qos_max_rate: optional string
1006 If set, indicates the maximum rate for data sent from this in‐
1007 terface, in bit/s. The traffic will be shaped according to this
1008 limit.
1009
1010 options : qos_burst: optional string
1011 If set, indicates the maximum burst size for data sent from this
1012 interface, in bits.
1013
1014 options : hostname: optional string
1015 If set, indicates the DHCPv4 option "Hostname" (option code 12)
1016 associated for this Logical Switch Port. If DHCPv4 is enabled
1017 for this Logical Switch Port, hostname dhcp option will be in‐
1018 cluded in DHCP reply.
1019
1020 Virtual port Options:
1021
1022 These options apply when type is virtual.
1023
1024 options : virtual-ip: optional string
1025 This option represents the virtual IPv4 address.
1026
1027 options : virtual-parents: optional string
1028 This options represents a set of logical port names (with in the
1029 same logical switch) which can own the virtual ip configured in
1030 the options:virtual-ip. All these virtual parents should add the
1031 virtual ip in the port_security if port security addressed are
1032 enabled.
1033
1034 IP Multicast Snooping Options:
1035
1036 These options apply when the port is part of a logical switch which has
1037 other_config :mcast_snoop set to true.
1038
1039 options : mcast_flood: optional string, either true or false
1040 If set to true, multicast packets (except reports) are uncondi‐
1041 tionally forwarded to the specific port.
1042
1043 options : mcast_flood_reports: optional string, either true or false
1044 If set to true, multicast reports are unconditionally forwarded
1045 to the specific port.
1046
1047 Containers:
1048
1049 When a large number of containers are nested within a VM, it may be too
1050 expensive to dedicate a VIF to each container. OVN can use VLAN tags to
1051 support such cases. Each container is assigned a VLAN ID and each
1052 packet that passes between the hypervisor and the VM is tagged with the
1053 appropriate ID for the container. Such VLAN IDs never appear on a phys‐
1054 ical wire, even inside a tunnel, so they need not be unique except rel‐
1055 ative to a single VM on a hypervisor.
1056
1057 These columns are used for VIFs that represent nested containers using
1058 shared VIFs. For VMs and for containers that have dedicated VIFs, they
1059 are empty.
1060
1061 parent_name: optional string
1062 The VM interface through which the nested container sends its
1063 network traffic. This must match the name column for some other
1064 Logical_Switch_Port.
1065
1066 tag_request: optional integer, in range 0 to 4,095
1067 The VLAN tag in the network traffic associated with a con‐
1068 tainer’s network interface. The client can request ovn-northd to
1069 allocate a tag that is unique within the scope of a specific
1070 parent (specified in parent_name) by setting a value of 0 in
1071 this column. The allocated value is written by ovn-northd in the
1072 tag column. (Note that these tags are allocated and managed lo‐
1073 cally in ovn-northd, so they cannot be reconstructed in the
1074 event that the database is lost.) The client can also request a
1075 specific non-zero tag and ovn-northd will honor it and copy that
1076 value to the tag column.
1077
1078 When type is set to localnet or l2gateway, this can be set to
1079 indicate that the port represents a connection to a specific
1080 VLAN on a locally accessible network. The VLAN ID is used to
1081 match incoming traffic and is also added to outgoing traffic.
1082
1083 tag: optional integer, in range 1 to 4,095
1084 The VLAN tag allocated by ovn-northd based on the contents of
1085 the tag_request column.
1086
1087 Port State:
1088
1089 up: optional boolean
1090 This column is populated by ovn-northd, rather than by the CMS
1091 plugin as is most of this database. When a logical port is bound
1092 to a physical location in the OVN Southbound database Binding
1093 table, ovn-northd sets this column to true; otherwise, or if the
1094 port becomes unbound later, it sets it to false. If this column
1095 is empty, the port is not considered up. This allows the CMS to
1096 wait for a VM’s (or container’s) networking to become active be‐
1097 fore it allows the VM (or container) to start.
1098
1099 Logical ports of router type are an exception to this rule. They
1100 are considered to be always up, that is this column is always
1101 set to true.
1102
1103 enabled: optional boolean
1104 This column is used to administratively set port state. If this
1105 column is empty or is set to true, the port is enabled. If this
1106 column is set to false, the port is disabled. A disabled port
1107 has all ingress and egress traffic dropped.
1108
1109 Addressing:
1110
1111 addresses: set of strings
1112 Addresses owned by the logical port.
1113
1114 Each element in the set must take one of the following forms:
1115
1116 Ethernet address followed by zero or more IPv4 or IPv6 addresses
1117 (or both)
1118 An Ethernet address defined is owned by the logical port.
1119 Like a physical Ethernet NIC, a logical port ordinarily
1120 has a single fixed Ethernet address.
1121
1122 When a OVN logical switch processes a unicast Ethernet
1123 frame whose destination MAC address is in a logical
1124 port’s addresses column, it delivers it only to that
1125 port, as if a MAC learning process had learned that MAC
1126 address on the port.
1127
1128 If IPv4 or IPv6 address(es) (or both) are defined, it in‐
1129 dicates that the logical port owns the given IP ad‐
1130 dresses.
1131
1132 If IPv4 address(es) are defined, the OVN logical switch
1133 uses this information to synthesize responses to ARP re‐
1134 quests without traversing the physical network. The OVN
1135 logical router connected to the logical switch, if any,
1136 uses this information to avoid issuing ARP requests for
1137 logical switch ports.
1138
1139 Note that the order here is important. The Ethernet ad‐
1140 dress must be listed before the IP address(es) if de‐
1141 fined.
1142
1143 Examples:
1144
1145 80:fa:5b:06:72:b7
1146 This indicates that the logical port owns the
1147 above mac address.
1148
1149 80:fa:5b:06:72:b7 10.0.0.4 20.0.0.4
1150 This indicates that the logical port owns the mac
1151 address and two IPv4 addresses.
1152
1153 80:fa:5b:06:72:b7 fdaa:15f2:72cf:0:f816:3eff:fe20:3f41
1154 This indicates that the logical port owns the mac
1155 address and 1 IPv6 address.
1156
1157 80:fa:5b:06:72:b7 10.0.0.4
1158 fdaa:15f2:72cf:0:f816:3eff:fe20:3f41
1159 This indicates that the logical port owns the mac
1160 address and 1 IPv4 address and 1 IPv6 address.
1161
1162 unknown
1163 This indicates that the logical port has an unknown set
1164 of Ethernet addresses. When an OVN logical switch pro‐
1165 cesses a unicast Ethernet frame whose destination MAC ad‐
1166 dress is not in any logical port’s addresses column, it
1167 delivers it to the port (or ports) whose addresses col‐
1168 umns include unknown.
1169
1170 dynamic
1171 Use dynamic to make ovn-northd generate a globally unique
1172 MAC address, choose an unused IPv4 address with the logi‐
1173 cal port’s subnet (if other_config:subnet is set in the
1174 port’s Logical_Switch), and generate an IPv6 address from
1175 the MAC address (if other_config:ipv6_prefix is set in
1176 the port’s Logical_Switch) and store them in the port’s
1177 dynamic_addresses column.
1178
1179 Only one element containing dynamic may appear in ad‐
1180 dresses.
1181
1182 dynamic ip
1183 dynamic ipv6
1184 dynamic ip ipv6
1185 These act like dynamic alone but specify particular IPv4 or
1186 IPv6 addresses to use. OVN IPAM will still automatically
1187 allocate the other address if configured appropriately. Ex‐
1188 ample: dynamic 192.168.0.1 2001::1.
1189
1190 mac dynamic
1191 This acts like dynamic alone but specifies a particular MAC
1192 address to use. OVN IPAM will still automatically allocate
1193 IPv4 or IPv6 addresses, or both, if configured appropri‐
1194 ately. Example: 80:fa:5b:06:72:b7 dynamic
1195
1196 router
1197 Accepted only when type is router. This indicates that the
1198 Ethernet, IPv4, and IPv6 addresses for this logical switch
1199 port should be obtained from the connected logical router
1200 port, as specified by router-port in options.
1201
1202 The resulting addresses are used to populate the logical
1203 switch’s destination lookup, and also for the logical
1204 switch to generate ARP and ND replies.
1205
1206 If the connected logical router port has a distributed
1207 gateway port specified and the logical router has rules
1208 specified in nat with external_mac, then those addresses
1209 are also used to populate the switch’s destination lookup.
1210
1211 Supported only in OVN 2.7 and later. Earlier versions re‐
1212 quired router addresses to be manually synchronized.
1213
1214 dynamic_addresses: optional string
1215 Addresses assigned to the logical port by ovn-northd, if dynamic
1216 is specified in addresses. Addresses will be of the same format
1217 as those that populate the addresses column. Note that dynami‐
1218 cally assigned addresses are constructed and managed locally in
1219 ovn-northd, so they cannot be reconstructed in the event that
1220 the database is lost.
1221
1222 port_security: set of strings
1223 This column controls the addresses from which the host attached
1224 to the logical port (``the host’’) is allowed to send packets
1225 and to which it is allowed to receive packets. If this column is
1226 empty, all addresses are permitted.
1227
1228 Each element in the set must begin with one Ethernet address.
1229 This would restrict the host to sending packets from and receiv‐
1230 ing packets to the ethernet addresses defined in the logical
1231 port’s port_security column. It also restricts the inner source
1232 MAC addresses that the host may send in ARP and IPv6 Neighbor
1233 Discovery packets. The host is always allowed to receive packets
1234 to multicast and broadcast Ethernet addresses.
1235
1236 Each element in the set may additionally contain one or more
1237 IPv4 or IPv6 addresses (or both), with optional masks. If a mask
1238 is given, it must be a CIDR mask. In addition to the restric‐
1239 tions described for Ethernet addresses above, such an element
1240 restricts the IPv4 or IPv6 addresses from which the host may
1241 send and to which it may receive packets to the specified ad‐
1242 dresses. A masked address, if the host part is zero, indicates
1243 that the host is allowed to use any address in the subnet; if
1244 the host part is nonzero, the mask simply indicates the size of
1245 the subnet. In addition:
1246
1247 • If any IPv4 address is given, the host is also allowed to
1248 receive packets to the IPv4 local broadcast address
1249 255.255.255.255 and to IPv4 multicast addresses
1250 (224.0.0.0/4). If an IPv4 address with a mask is given,
1251 the host is also allowed to receive packets to the broad‐
1252 cast address in that specified subnet.
1253
1254 If any IPv4 address is given, the host is additionally
1255 restricted to sending ARP packets with the specified
1256 source IPv4 address. (RARP is not restricted.)
1257
1258 • If any IPv6 address is given, the host is also allowed to
1259 receive packets to IPv6 multicast addresses (ff00::/8).
1260
1261 If any IPv6 address is given, the host is additionally
1262 restricted to sending IPv6 Neighbor Discovery Solicita‐
1263 tion or Advertisement packets with the specified source
1264 address or, for solicitations, the unspecified address.
1265
1266 If an element includes an IPv4 address, but no IPv6 addresses,
1267 then IPv6 traffic is not allowed. If an element includes an IPv6
1268 address, but no IPv4 address, then IPv4 and ARP traffic is not
1269 allowed.
1270
1271 This column uses the same lexical syntax as the match column in
1272 the OVN Southbound database’s Pipeline table. Multiple addresses
1273 within an element may be space or comma separated.
1274
1275 This column is provided as a convenience to cloud management
1276 systems, but all of the features that it implements can be im‐
1277 plemented as ACLs using the ACL table.
1278
1279 Examples:
1280
1281 80:fa:5b:06:72:b7
1282 The host may send traffic from and receive traffic to the
1283 specified MAC address, and to receive traffic to Ethernet
1284 multicast and broadcast addresses, but not otherwise. The
1285 host may not send ARP or IPv6 Neighbor Discovery packets
1286 with inner source Ethernet addresses other than the one
1287 specified.
1288
1289 80:fa:5b:06:72:b7 192.168.1.10/24
1290 This adds further restrictions to the first example. The
1291 host may send IPv4 packets from or receive IPv4 packets
1292 to only 192.168.1.10, except that it may also receive
1293 IPv4 packets to 192.168.1.255 (based on the subnet mask),
1294 255.255.255.255, and any address in 224.0.0.0/4. The host
1295 may not send ARPs with a source Ethernet address other
1296 than 80:fa:5b:06:72:b7 or source IPv4 address other than
1297 192.168.1.10. The host may not send or receive any IPv6
1298 (including IPv6 Neighbor Discovery) traffic.
1299
1300 "80:fa:5b:12:42:ba", "80:fa:5b:06:72:b7 192.168.1.10/24"
1301 The host may send traffic from and receive traffic to the
1302 specified MAC addresses, and to receive traffic to Ether‐
1303 net multicast and broadcast addresses, but not otherwise.
1304 With MAC 80:fa:5b:12:42:ba, the host may send traffic
1305 from and receive traffic to any L3 address. With MAC
1306 80:fa:5b:06:72:b7, the host may send IPv4 packets from or
1307 receive IPv4 packets to only 192.168.1.10, except that it
1308 may also receive IPv4 packets to 192.168.1.255 (based on
1309 the subnet mask), 255.255.255.255, and any address in
1310 224.0.0.0/4. The host may not send or receive any IPv6
1311 (including IPv6 Neighbor Discovery) traffic.
1312
1313 DHCP:
1314
1315 dhcpv4_options: optional weak reference to DHCP_Options
1316 This column defines the DHCPv4 Options to be included by the
1317 ovn-controller when it replies to the DHCPv4 requests. Please
1318 see the DHCP_Options table.
1319
1320 dhcpv6_options: optional weak reference to DHCP_Options
1321 This column defines the DHCPv6 Options to be included by the
1322 ovn-controller when it replies to the DHCPv6 requests. Please
1323 see the DHCP_Options table.
1324
1325 ha_chassis_group: optional HA_Chassis_Group
1326 References a row in the OVN Northbound database’s HA_Chas‐
1327 sis_Group table. It indicates the HA chassis group to use if the
1328 type is set to external. If type is not external, this column is
1329 ignored.
1330
1331 Naming:
1332
1333 external_ids : neutron:port_name: optional string
1334 This column gives an optional human-friendly name for the port.
1335 This name has no special meaning or purpose other than to pro‐
1336 vide convenience for human interaction with the northbound data‐
1337 base.
1338
1339 Neutron copies this from its own port object’s name. (Neutron
1340 ports do are not assigned human-friendly names by default, so it
1341 will often be empty.)
1342
1343 Tunnel Key:
1344
1345 options : requested-tnl-key: optional string, containing an integer, in
1346 range 1 to 32,767
1347 Configures the port binding tunnel key for the port. Usually
1348 this is not needed because ovn-northd will assign an unique key
1349 for each port by itself. However, if it is configured,
1350 ovn-northd honors the configured value. The typical use case is
1351 for interconnection: the tunnel keys for ports on transit
1352 switches need to be unique globally, so they are maintained in
1353 the global OVN_IC_Southbound database, and ovn-ic simply syncs
1354 the value from OVN_IC_Southbound through this config.
1355
1356 Common Columns:
1357
1358 external_ids: map of string-string pairs
1359 See External IDs at the beginning of this document.
1360
1361 The ovn-northd program copies all these pairs into the exter‐
1362 nal_ids column of the Port_Binding table in OVN_Southbound data‐
1363 base.
1364
1366 Each row represents one forwarding group.
1367
1368 Summary:
1369 name string
1370 vip string
1371 vmac string
1372 liveness boolean
1373 child_port set of 1 or more strings
1374 Common Columns:
1375 external_ids map of string-string pairs
1376
1377 Details:
1378 name: string
1379 A name for the forwarding group. This name has no special mean‐
1380 ing or purpose other than to provide convenience for human in‐
1381 teraction with the ovn-nb database.
1382
1383 vip: string
1384 The virtual IP address assigned to the forwarding group. It will
1385 respond with vmac when an ARP request is sent for vip.
1386
1387 vmac: string
1388 The virtual MAC address assigned to the forwarding group.
1389
1390 liveness: boolean
1391 If set to true, liveness is enabled for child ports otherwise it
1392 is disabled.
1393
1394 child_port: set of 1 or more strings
1395 List of child ports in the forwarding group.
1396
1397 Common Columns:
1398
1399 external_ids: map of string-string pairs
1400 See External IDs at the beginning of this document.
1401
1403 Each row in this table represents a named set of addresses. An address
1404 set may contain Ethernet, IPv4, or IPv6 addresses with optional bitwise
1405 or CIDR masks. Address set may ultimately be used in ACLs to compare
1406 against fields such as ip4.src or ip6.src. A single address set must
1407 contain addresses of the same type. As an example, the following would
1408 create an address set with three IP addresses:
1409
1410 ovn-nbctl create Address_Set name=set1 addresses=’10.0.0.1 10.0.0.2 10.0.0.3’
1411
1412
1413 Address sets may be used in the match column of the ACL table. For syn‐
1414 tax information, see the details of the expression language used for
1415 the match column in the Logical_Flow table of the OVN_Southbound data‐
1416 base.
1417
1418 Summary:
1419 name string (must be unique within table)
1420 addresses set of strings
1421 Common Columns:
1422 external_ids map of string-string pairs
1423
1424 Details:
1425 name: string (must be unique within table)
1426 A name for the address set. Names are ASCII and must match
1427 [a-zA-Z_.][a-zA-Z_.0-9]*.
1428
1429 addresses: set of strings
1430 The set of addresses in string form.
1431
1432 Common Columns:
1433
1434 external_ids: map of string-string pairs
1435 See External IDs at the beginning of this document.
1436
1438 Each row in this table represents a named group of logical switch
1439 ports.
1440
1441 Port groups may be used in the match column of the ACL table. For syn‐
1442 tax information, see the details of the expression language used for
1443 the match column in the Logical_Flow table of the OVN_Southbound data‐
1444 base.
1445
1446 For each port group, there are two address sets generated to the Ad‐
1447 dress_Set table of the OVN_Southbound database, containing the IP ad‐
1448 dresses of the group of ports, one for IPv4, and the other for IPv6,
1449 with name being the name of the Port_Group followed by a suffix _ip4
1450 for IPv4 and _ip6 for IPv6. The generated address sets can be used in
1451 the same way as regular address sets in the match column of the ACL ta‐
1452 ble. For syntax information, see the details of the expression language
1453 used for the match column in the Logical_Flow table of the OVN_South‐
1454 bound database.
1455
1456 Summary:
1457 name string (must be unique within table)
1458 ports set of weak reference to Logi‐
1459 cal_Switch_Ports
1460 acls set of ACLs
1461 Common Columns:
1462 external_ids map of string-string pairs
1463
1464 Details:
1465 name: string (must be unique within table)
1466 A name for the port group. Names are ASCII and must match
1467 [a-zA-Z_.][a-zA-Z_.0-9]*.
1468
1469 ports: set of weak reference to Logical_Switch_Ports
1470 The logical switch ports belonging to the group in uuids.
1471
1472 acls: set of ACLs
1473 Access control rules that apply to the port group. Applying an
1474 ACL to a port group has the same effect as applying the ACL to
1475 all logical lswitches that the ports of the port group belong
1476 to.
1477
1478 Common Columns:
1479
1480 external_ids: map of string-string pairs
1481 See External IDs at the beginning of this document.
1482
1484 Each row represents one load balancer.
1485
1486 Summary:
1487 name string
1488 vips map of string-string pairs
1489 protocol optional string, one of sctp, tcp, or udp
1490 Health Checks:
1491 health_check set of Load_Balancer_Health_Checks
1492 ip_port_mappings map of string-string pairs
1493 selection_fields set of strings, one of eth_dst, eth_src,
1494 ip_dst, ip_src, tp_dst, or tp_src
1495 Common Columns:
1496 external_ids map of string-string pairs
1497 Load_Balancer options:
1498 options : reject optional string, either true or false
1499 options : hairpin_snat_ip optional string
1500 options : skip_snat optional string
1501 options : add_route optional string
1502
1503 Details:
1504 name: string
1505 A name for the load balancer. This name has no special meaning
1506 or purpose other than to provide convenience for human interac‐
1507 tion with the ovn-nb database.
1508
1509 vips: map of string-string pairs
1510 A map of virtual IP addresses (and an optional port number with
1511 : as a separator) associated with this load balancer and their
1512 corresponding endpoint IP addresses (and optional port numbers
1513 with : as separators) separated by commas. If the destination IP
1514 address (and port number) of a packet leaving a container or a
1515 VM matches the virtual IP address (and port number) provided
1516 here as a key, then OVN will statefully replace the destination
1517 IP address by one of the provided IP address (and port number)
1518 in this map as a value. IPv4 and IPv6 addresses are supported
1519 for load balancing; however a VIP of one address family may not
1520 be mapped to a destination IP address of a different family. If
1521 specifying an IPv6 address with a port, the address portion must
1522 be enclosed in square brackets. Examples for keys are
1523 "192.168.1.4" and "[fd0f::1]:8800". Examples for value are
1524 "10.0.0.1, 10.0.0.2" and "20.0.0.10:8800, 20.0.0.11:8800".
1525
1526 When the Load_Balancer is added to the logical_switch, the VIP
1527 has to be in a different subnet than the one used for the logi‐
1528 cal_switch. Since VIP is in a different subnet, you should con‐
1529 nect your logical switch to either a OVN logical router or a
1530 real router (this is because the client can now send a packet
1531 with VIP as the destination IP address and router’s mac address
1532 as the destination MAC address).
1533
1534 protocol: optional string, one of sctp, tcp, or udp
1535 Valid protocols are tcp, udp, or sctp. This column is useful
1536 when a port number is provided as part of the vips column. If
1537 this column is empty and a port number is provided as part of
1538 vips column, OVN assumes the protocol to be tcp.
1539
1540 Health Checks:
1541
1542 OVN supports health checks for load balancer endpoints, for IPv4 load
1543 balancers only. When health checks are enabled, the load balancer uses
1544 only healthy endpoints.
1545
1546 Suppose that vips contains a key-value pair
1547 10.0.0.10:80=10.0.0.4:8080,20.0.0.4:8080. To enable health checks for
1548 this virtual’s endpoints, add two key-value pairs to ip_port_mappings,
1549 with keys 10.0.0.4 and 20.0.0.4, and add to health_check a reference to
1550 a Load_Balancer_Health_Check row whose vip is set to 10.0.0.10.
1551
1552 health_check: set of Load_Balancer_Health_Checks
1553 Load balancer health checks associated with this load balancer.
1554
1555 ip_port_mappings: map of string-string pairs
1556 Maps from endpoint IP to a colon-separated pair of logical port
1557 name and source IP, e.g. port_name:sourc_ip. Health checks are
1558 sent to this port with the specified source IP.
1559
1560 For example, in the example above, IP to port mappings might be
1561 defined as 10.0.0.4=sw0-p1:10.0.0.2 and
1562 20.0.0.4=sw1-p1:20.0.0.2, if the values given were suitable
1563 ports and IP addresses.
1564
1565 selection_fields: set of strings, one of eth_dst, eth_src, ip_dst,
1566 ip_src, tp_dst, or tp_src
1567 OVN native load balancers are supported using the OpenFlow
1568 groups of type select. OVS supports two selection methods:
1569 dp_hash and hash (with optional fields specified) in selecting
1570 the buckets of a group. Please see the OVS documentation (man
1571 ovs-ofctl) for more details on the selection methods. Each end‐
1572 point IP (and port if set) is mapped to a bucket in the group
1573 flow.
1574
1575 CMS can choose the hash selection method by setting the selec‐
1576 tion fields in this column. ovs-vswitchd uses the specified
1577 fields in generating the hash.
1578
1579 dp_hash selection method uses the assistance of datapath to cal‐
1580 culate the hash and it is expected to be faster than hash selec‐
1581 tion method. So CMS should take this into consideration before
1582 using the hash method. Please consult the OVS documentation and
1583 OVS sources for the implementation details.
1584
1585 Common Columns:
1586
1587 external_ids: map of string-string pairs
1588 See External IDs at the beginning of this document.
1589
1590 Load_Balancer options:
1591
1592 options : reject: optional string, either true or false
1593 If the load balancer is created with --reject option and it has
1594 no active backends, a TCP reset segment (for tcp) or an ICMP
1595 port unreachable packet (for all other kind of traffic) will be
1596 sent whenever an incoming packet is received for this load-bal‐
1597 ancer. Please note using --reject option will disable empty_lb
1598 SB controller event for this load balancer.
1599
1600 options : hairpin_snat_ip: optional string
1601 IP to be used as source IP for packets that have been hair-
1602 pinned after load balancing. The default behavior when the op‐
1603 tion is not set is to use the load balancer VIP as source IP.
1604 This option may have exactly one IPv4 and/or one IPv6 address on
1605 it, separated by a space character.
1606
1607 options : skip_snat: optional string
1608 If the load balancing rule is configured with skip_snat option,
1609 the option lb_force_snat_ip configured for the logical router
1610 that references this load balancer will not be applied for this
1611 load balancer.
1612
1613 options : add_route: optional string
1614 If set to true, then neighbor routers will have logical flows
1615 added that will allow for routing to the VIP IP. It also will
1616 have ARP resolution logical flows added. By setting this option,
1617 it means there is no reason to create a Logi‐
1618 cal_Router_Static_Route from neighbor routers to this NAT ad‐
1619 dress. It also means that no ARP request is required for neigh‐
1620 bor routers to learn the IP-MAC mapping for this VIP IP. For
1621 more information about what flows are added for IP routes,
1622 please see the ovn-northd manpage section on IP Routing.
1623
1625 Each row represents a logical grouping of load balancers. It is up to
1626 the CMS to decide the criteria on which load balancers are grouped to‐
1627 gether. To simplify configuration and to optimize its processing load
1628 balancers that must be associated to the same set of logical switches
1629 and/or logical routers should be grouped together.
1630
1631 Summary:
1632 name string (must be unique within table)
1633 load_balancer set of weak reference to Load_Balancers
1634
1635 Details:
1636 name: string (must be unique within table)
1637 A name for the load balancer group. This name has no special
1638 meaning or purpose other than to provide convenience for human
1639 interaction with the ovn-nb database.
1640
1641 load_balancer: set of weak reference to Load_Balancers
1642 A set of load balancers.
1643
1645 Each row represents one load balancer health check. Health checks are
1646 supported for IPv4 load balancers only.
1647
1648 Summary:
1649 vip string
1650 Health check options:
1651 options : interval optional string, containing an integer
1652 options : timeout optional string, containing an integer
1653 options : success_count optional string, containing an integer
1654 options : failure_count optional string, containing an integer
1655 Common Columns:
1656 external_ids map of string-string pairs
1657
1658 Details:
1659 vip: string
1660 vip whose endpoints should be monitored for health check.
1661
1662 Health check options:
1663
1664 options : interval: optional string, containing an integer
1665 The interval, in seconds, between health checks.
1666
1667 options : timeout: optional string, containing an integer
1668 The time, in seconds, after which a health check times out.
1669
1670 options : success_count: optional string, containing an integer
1671 The number of successful checks after which the endpoint is con‐
1672 sidered online.
1673
1674 options : failure_count: optional string, containing an integer
1675 The number of failure checks after which the endpoint is consid‐
1676 ered offline.
1677
1678 Common Columns:
1679
1680 external_ids: map of string-string pairs
1681 See External IDs at the beginning of this document.
1682
1684 Each row in this table represents one ACL rule for a logical switch or
1685 a port group that points to it through its acls column. The action col‐
1686 umn for the highest-priority matching row in this table determines a
1687 packet’s treatment. If no row matches, packets are allowed by default.
1688 (Default-deny treatment is possible: add a rule with priority 0, 1 as
1689 match, and deny as action.)
1690
1691 Summary:
1692 label integer, in range 0 to 4,294,967,295
1693 priority integer, in range 0 to 32,767
1694 direction string, either from-lport or to-lport
1695 match string
1696 action string, one of allow-related, al‐
1697 low-stateless, allow, drop, or reject
1698 Logging:
1699 log boolean
1700 name optional string, at most 63 characters
1701 long
1702 severity optional string, one of alert, debug,
1703 info, notice, or warning
1704 meter optional string
1705 Common Columns:
1706 external_ids map of string-string pairs
1707
1708 Details:
1709 label: integer, in range 0 to 4,294,967,295
1710 Associates an identifier with the ACL. The same value will be
1711 written to corresponding connection tracker entry. The value
1712 should be a valid 32-bit unsigned integer. This value can help
1713 in debugging from connection tracker side. For example, through
1714 this "label" we can backtrack to the ACL rule which is causing a
1715 "leaked" connection. Connection tracker entries are created only
1716 for allowed connections so the label is valid only for allow and
1717 allow-related actions.
1718
1719 priority: integer, in range 0 to 32,767
1720 The ACL rule’s priority. Rules with numerically higher priority
1721 take precedence over those with lower. If two ACL rules with the
1722 same priority both match, then the one actually applied to a
1723 packet is undefined.
1724
1725 Return traffic from an allow-related flow is always allowed and
1726 cannot be changed through an ACL.
1727
1728 allow-stateless flows always take precedence before stateful
1729 ACLs, regardless of their priority. (Both allow and allow-re‐
1730 lated ACLs can be stateful.)
1731
1732 direction: string, either from-lport or to-lport
1733 Direction of the traffic to which this rule should apply:
1734
1735 • from-lport: Used to implement filters on traffic arriving
1736 from a logical port. These rules are applied to the logi‐
1737 cal switch’s ingress pipeline.
1738
1739 • to-lport: Used to implement filters on traffic forwarded
1740 to a logical port. These rules are applied to the logical
1741 switch’s egress pipeline.
1742
1743 match: string
1744 The packets that the ACL should match, in the same expression
1745 language used for the match column in the OVN Southbound data‐
1746 base’s Logical_Flow table. The outport logical port is only
1747 available in the to-lport direction (the inport is available in
1748 both directions).
1749
1750 By default all traffic is allowed. When writing a more restric‐
1751 tive policy, it is important to remember to allow flows such as
1752 ARP and IPv6 neighbor discovery packets.
1753
1754 Note that you can not create an ACL matching on a port with
1755 type=router or type=localnet.
1756
1757 action: string, one of allow-related, allow-stateless, allow, drop, or
1758 reject
1759 The action to take when the ACL rule matches:
1760
1761 • allow-stateless: Always forward the packet in stateless
1762 manner, omitting connection tracking mechanism, regard‐
1763 less of other rules defined for the switch. May require
1764 defining additional rules for inbound replies. For exam‐
1765 ple, if you define a rule to allow outgoing TCP traffic
1766 directed to an IP address, then you probably also want to
1767 define another rule to allow incoming TCP traffic coming
1768 from this same IP address.
1769
1770 • allow: Forward the packet. It will also send the packets
1771 through connection tracking when allow-related rules ex‐
1772 ist on the logical switch. Otherwise, it’s equivalent to
1773 allow-stateless.
1774
1775 • allow-related: Forward the packet and related traffic
1776 (e.g. inbound replies to an outbound connection).
1777
1778 • drop: Silently drop the packet.
1779
1780 • reject: Drop the packet, replying with a RST for TCP or
1781 ICMPv4/ICMPv6 unreachable message for other
1782 IPv4/IPv6-based protocols.
1783
1784 Logging:
1785
1786 These columns control whether and how OVN logs packets that match an
1787 ACL.
1788
1789 log: boolean
1790 If set to true, packets that match the ACL will trigger a log
1791 message on the transport node or nodes that perform ACL process‐
1792 ing. Logging may be combined with any action.
1793
1794 If set to false, the remaining columns in this group have no
1795 significance.
1796
1797 name: optional string, at most 63 characters long
1798 This name, if it is provided, is included in log records. It
1799 provides the administrator and the cloud management system a way
1800 to associate a log record with a particular ACL.
1801
1802 severity: optional string, one of alert, debug, info, notice, or warn‐
1803 ing
1804 The severity of the ACL. The severity levels match those of sys‐
1805 log, in decreasing level of severity: alert, warning, notice,
1806 info, or debug. When the column is empty, the default is info.
1807
1808 meter: optional string
1809 The name of a meter to rate-limit log messages for the ACL. The
1810 string must match the name column of a row in the Meter table.
1811 By default, log messages are not rate-limited. In order to en‐
1812 sure that the same Meter rate limits multiple ACL logs sepa‐
1813 rately, set the fair column.
1814
1815 Common Columns:
1816
1817 external_ids: map of string-string pairs
1818 See External IDs at the beginning of this document.
1819
1821 Each row represents one L3 logical router.
1822
1823 Summary:
1824 ports set of Logical_Router_Ports
1825 static_routes set of Logical_Router_Static_Routes
1826 policies set of Logical_Router_Policys
1827 enabled optional boolean
1828 nat set of NATs
1829 load_balancer set of weak reference to Load_Balancers
1830 load_balancer_group set of Load_Balancer_Groups
1831 Naming:
1832 name string
1833 external_ids : neutron:router_name
1834 optional string
1835 copp optional weak reference to Copp
1836 Options:
1837 options : chassis optional string
1838 options : dnat_force_snat_ip
1839 optional string
1840 options : lb_force_snat_ip optional string
1841 options : mcast_relay optional string, either true or false
1842 options : dynamic_neigh_routers
1843 optional string, either true or false
1844 options : always_learn_from_arp_request
1845 optional string, either true or false
1846 options : requested-tnl-key
1847 optional string, containing an integer,
1848 in range 1 to 16,777,215
1849 options : snat-ct-zone optional string, containing an integer,
1850 in range 0 to 65,535
1851 Common Columns:
1852 external_ids map of string-string pairs
1853
1854 Details:
1855 ports: set of Logical_Router_Ports
1856 The router’s ports.
1857
1858 static_routes: set of Logical_Router_Static_Routes
1859 Zero or more static routes for the router.
1860
1861 policies: set of Logical_Router_Policys
1862 Zero or more routing policies for the router.
1863
1864 enabled: optional boolean
1865 This column is used to administratively set router state. If
1866 this column is empty or is set to true, the router is enabled.
1867 If this column is set to false, the router is disabled. A dis‐
1868 abled router has all ingress and egress traffic dropped.
1869
1870 nat: set of NATs
1871 One or more NAT rules for the router. NAT rules only work on
1872 Gateway routers, and on distributed routers with one and only
1873 one distributed gateway port.
1874
1875 load_balancer: set of weak reference to Load_Balancers
1876 Set of load balancers associated to this logical router. Load
1877 balancer Load balancer rules only work on the Gateway routers or
1878 routers with one and only one distributed gateway port.
1879
1880 load_balancer_group: set of Load_Balancer_Groups
1881 Set of load balancers groups associated to this logical router.
1882
1883 Naming:
1884
1885 These columns provide names for the logical router. From OVN’s perspec‐
1886 tive, these names have no special meaning or purpose other than to pro‐
1887 vide convenience for human interaction with the northbound database.
1888 There is no requirement for the name to be unique. (For a unique iden‐
1889 tifier for a logical router, use its row UUID.)
1890
1891 (Originally, name was intended to serve the purpose of a human-friendly
1892 name, but the Neutron integration used it to uniquely identify its own
1893 router object, in the format neutron-uuid. Later on, Neutron started
1894 propagating the friendly name of a router as external_ids:neu‐
1895 tron:router_name. Perhaps this can be cleaned up someday.)
1896
1897 name: string
1898 A name for the logical router.
1899
1900 external_ids : neutron:router_name: optional string
1901 Another name for the logical router.
1902
1903 copp: optional weak reference to Copp
1904 The control plane protection policy from table Copp used for me‐
1905 tering packets sent to ovn-controller from logical ports of this
1906 router.
1907
1908 Options:
1909
1910 Additional options for the logical router.
1911
1912 options : chassis: optional string
1913 If set, indicates that the logical router in question is a Gate‐
1914 way router (which is centralized) and resides in the set chas‐
1915 sis. The same value is also used by ovn-controller to uniquely
1916 identify the chassis in the OVN deployment and comes from exter‐
1917 nal_ids:system-id in the Open_vSwitch table of Open_vSwitch
1918 database.
1919
1920 The Gateway router can only be connected to a distributed router
1921 via a switch if SNAT and DNAT are to be configured in the Gate‐
1922 way router.
1923
1924 options : dnat_force_snat_ip: optional string
1925 If set, indicates a set of IP addresses to use to force SNAT a
1926 packet that has already been DNATed in the gateway router. When
1927 multiple gateway routers are configured, a packet can poten‐
1928 tially enter any of the gateway router, get DNATted and eventu‐
1929 ally reach the logical switch port. For the return traffic to go
1930 back to the same gateway router (for unDNATing), the packet
1931 needs a SNAT in the first place. This can be achieved by setting
1932 the above option with a gateway specific set of IP addresses.
1933 This option may have exactly one IPv4 and/or one IPv6 address on
1934 it, separated by a a space.
1935
1936 options : lb_force_snat_ip: optional string
1937 If set, this option can take two possible type of values. Either
1938 a set of IP addresses or the string value - router_ip.
1939
1940 If a set of IP addresses are configured, it indicates to use to
1941 force SNAT a packet that has already been load-balanced in the
1942 gateway router. When multiple gateway routers are configured, a
1943 packet can potentially enter any of the gateway routers, get
1944 DNATted as part of the load-balancing and eventually reach the
1945 logical switch port. For the return traffic to go back to the
1946 same gateway router (for unDNATing), the packet needs a SNAT in
1947 the first place. This can be achieved by setting the above op‐
1948 tion with a gateway specific set of IP addresses. This option
1949 may have exactly one IPv4 and/or one IPv6 address on it, sepa‐
1950 rated by a space character.
1951
1952 If it is configured with the value router_ip, then the load bal‐
1953 anced packet is SNATed with the IP of router port (attached to
1954 the gateway router) selected as the destination after taking the
1955 routing decision.
1956
1957 options : mcast_relay: optional string, either true or false
1958 Enables/disables IP multicast relay between logical switches
1959 connected to the logical router. Default: False.
1960
1961 options : dynamic_neigh_routers: optional string, either true or false
1962 If set to true, the router will resolve neighbor routers’ MAC
1963 addresses only by dynamic ARP/ND, instead of prepopulating
1964 static mappings for all neighbor routers in the ARP/ND Resolu‐
1965 tion stage. This reduces number of flows, but requires ARP/ND
1966 messages to resolve the IP-MAC bindings when needed. It is false
1967 by default. It is recommended to set to true when a large number
1968 of logical routers are connected to the same logical switch but
1969 most of them never need to send traffic between each other. By
1970 default, ovn-northd does not create mappings to NAT and load
1971 balancer addresess. However, for NAT and load balancer addresses
1972 that have the add_route option added, ovn-northd will create
1973 logical flows that map NAT and load balancer IP addresses to the
1974 appropriate MAC address. Setting dynamic_neigh_routers to true
1975 will prevent the automatic creation of these logical flows.
1976
1977 options : always_learn_from_arp_request: optional string, either true
1978 or false
1979 This option controls the behavior when handling IPv4 ARP re‐
1980 quests or IPv6 ND-NS packets - whether a dynamic neighbor (MAC
1981 binding) entry is added/updated.
1982
1983 true - Always learn the MAC-IP binding, and add/update the MAC
1984 binding entry.
1985
1986 false - If there is a MAC binding for that IP and the MAC is
1987 different, or, if TPA of ARP request belongs to any router port
1988 on this router, then update/add that MAC-IP binding. Otherwise,
1989 don’t update/add entries.
1990
1991 It is true by default. It is recommended to set to false when a
1992 large number of logical routers are connected to the same logi‐
1993 cal switch but most of them never need to send traffic between
1994 each other, to reduce the size of the MAC binding table.
1995
1996 options : requested-tnl-key: optional string, containing an integer, in
1997 range 1 to 16,777,215
1998 Configures the datapath tunnel key for the logical router. This
1999 is not needed because ovn-northd will assign an unique key for
2000 each datapath by itself. However, if it is configured,
2001 ovn-northd honors the configured value.
2002
2003 options : snat-ct-zone: optional string, containing an integer, in
2004 range 0 to 65,535
2005 Use the requested conntrack zone for SNAT with this router. This
2006 can be useful if egress traffic from the host running OVN comes
2007 from both OVN and other sources. This way, OVN and the other
2008 sources can make use of the same conntrack zone.
2009
2010 Common Columns:
2011
2012 external_ids: map of string-string pairs
2013 See External IDs at the beginning of this document.
2014
2016 Each row in this table represents one QoS rule for a logical switch
2017 that points to it through its qos_rules column. Two types of QoS are
2018 supported: DSCP marking and metering. A match with the highest-priority
2019 will have QoS applied to it. If the action column is specified, then
2020 matching packets will have DSCP marking applied. If the bandwdith col‐
2021 umn is specified, then matching packets will have metering applied. ac‐
2022 tion and bandwdith are not exclusive, so both marking and metering by
2023 defined for the same QoS entry. If no row matches, packets will not
2024 have any QoS applied.
2025
2026 Summary:
2027 priority integer, in range 0 to 32,767
2028 direction string, either from-lport or to-lport
2029 match string
2030 action map of string-integer pairs, key must be
2031 dscp, value in range 0 to 63
2032 bandwidth map of string-integer pairs, key either
2033 burst or rate, value in range 1 to
2034 4,294,967,295
2035 external_ids map of string-string pairs
2036
2037 Details:
2038 priority: integer, in range 0 to 32,767
2039 The QoS rule’s priority. Rules with numerically higher priority
2040 take precedence over those with lower. If two QoS rules with the
2041 same priority both match, then the one actually applied to a
2042 packet is undefined.
2043
2044 direction: string, either from-lport or to-lport
2045 The value of this field is similar to ACL column in the OVN
2046 Northbound database’s ACL table.
2047
2048 match: string
2049 The packets that the QoS rules should match, in the same expres‐
2050 sion language used for the match column in the OVN Southbound
2051 database’s Logical_Flow table. The outport logical port is only
2052 available in the to-lport direction (the inport is available in
2053 both directions).
2054
2055 action: map of string-integer pairs, key must be dscp, value in range 0
2056 to 63
2057 When specified, matching flows will have DSCP marking applied.
2058
2059 • dscp: The value of this action should be in the range of
2060 0 to 63 (inclusive).
2061
2062 bandwidth: map of string-integer pairs, key either burst or rate, value
2063 in range 1 to 4,294,967,295
2064 When specified, matching packets will have bandwidth metering
2065 applied. Traffic over the limit will be dropped.
2066
2067 • rate: The value of rate limit in kbps.
2068
2069 • burst: The value of burst rate limit in kilobits. This is
2070 optional and needs to specify the rate.
2071
2072 external_ids: map of string-string pairs
2073 See External IDs at the beginning of this document.
2074
2076 Each row in this table represents a meter that can be used for QoS or
2077 rate-limiting.
2078
2079 Summary:
2080 name string (must be unique within table)
2081 unit string, either kbps or pktps
2082 bands set of 1 or more Meter_Bands
2083 fair optional boolean
2084 external_ids map of string-string pairs
2085
2086 Details:
2087 name: string (must be unique within table)
2088 A name for this meter.
2089
2090 Names that begin with "__" (two underscores) are reserved for
2091 OVN internal use and should not be added manually.
2092
2093 unit: string, either kbps or pktps
2094 The unit for rate and burst_rate parameters in the bands entry.
2095 kbps specifies kilobits per second, and pktps specifies packets
2096 per second.
2097
2098 bands: set of 1 or more Meter_Bands
2099 The bands associated with this meter. Each band specifies a rate
2100 above which the band is to take the action action. If multiple
2101 bands’ rates are exceeded, then the band with the highest rate
2102 among the exceeded bands is selected.
2103
2104 fair: optional boolean
2105 This column is used to further describe the desired behavior of
2106 the meter when there are multiple references to it. If this col‐
2107 umn is empty or is set to false, the rate will be shared across
2108 all rows that refer to the same Meter name. Conversely, when
2109 this column is set to true, each user of the same Meter will be
2110 rate-limited on its own.
2111
2112 external_ids: map of string-string pairs
2113 See External IDs at the beginning of this document.
2114
2116 Each row in this table represents a meter band which specifies the rate
2117 above which the configured action should be applied. These bands are
2118 referenced by the bands column in the Meter table.
2119
2120 Summary:
2121 action string, must be drop
2122 rate integer, in range 1 to 4,294,967,295
2123 burst_size integer, in range 0 to 4,294,967,295
2124 external_ids map of string-string pairs
2125
2126 Details:
2127 action: string, must be drop
2128 The action to execute when this band matches. The only supported
2129 action is drop.
2130
2131 rate: integer, in range 1 to 4,294,967,295
2132 The rate limit for this band, in kilobits per second or bits per
2133 second, depending on whether the parent Meter entry’s unit col‐
2134 umn specified kbps or pktps.
2135
2136 burst_size: integer, in range 0 to 4,294,967,295
2137 The maximum burst allowed for the band in kilobits or packets,
2138 depending on whether kbps or pktps was selected in the parent
2139 Meter entry’s unit column. If the size is zero, the switch is
2140 free to select some reasonable value depending on its configura‐
2141 tion.
2142
2143 external_ids: map of string-string pairs
2144 See External IDs at the beginning of this document.
2145
2147 A port within an L3 logical router.
2148
2149 Exactly one Logical_Router row must reference a given logical router
2150 port.
2151
2152 Summary:
2153 name string (must be unique within table)
2154 networks set of 1 or more strings
2155 mac string
2156 enabled optional boolean
2157 Distributed Gateway Ports:
2158 ha_chassis_group optional HA_Chassis_Group
2159 gateway_chassis set of Gateway_Chassises
2160 Options for Physical VLAN MTU Issues:
2161 options : reside-on-redirect-chassis
2162 optional string, either true or false
2163 options : redirect-type optional string, either bridged or over‐
2164 lay
2165 ipv6_prefix set of strings
2166 ipv6_ra_configs:
2167 ipv6_ra_configs : address_mode
2168 optional string
2169 ipv6_ra_configs : router_preference
2170 optional string
2171 ipv6_ra_configs : route_info
2172 optional string
2173 ipv6_ra_configs : mtu optional string
2174 ipv6_ra_configs : send_periodic
2175 optional string
2176 ipv6_ra_configs : max_interval
2177 optional string
2178 ipv6_ra_configs : min_interval
2179 optional string
2180 ipv6_ra_configs : rdnss optional string
2181 ipv6_ra_configs : dnssl optional string
2182 Options:
2183 options : mcast_flood optional string, either true or false
2184 options : requested-tnl-key
2185 optional string, containing an integer,
2186 in range 1 to 32,767
2187 options : prefix_delegation
2188 optional string, either true or false
2189 options : prefix optional string, either true or false
2190 Attachment:
2191 peer optional string
2192 Common Columns:
2193 external_ids map of string-string pairs
2194
2195 Details:
2196 name: string (must be unique within table)
2197 A name for the logical router port.
2198
2199 In addition to provide convenience for human interaction with
2200 the northbound database, this column is used as reference by its
2201 patch port in Logical_Switch_Port or another logical router port
2202 in Logical_Router_Port.
2203
2204 A logical router port may not have the same name as a logical
2205 switch port, but the database schema cannot enforce this.
2206
2207 networks: set of 1 or more strings
2208 The IP addresses and netmasks of the router. For example,
2209 192.168.0.1/24 indicates that the router’s IP address is
2210 192.168.0.1 and that packets destined to 192.168.0.x should be
2211 routed to this port.
2212
2213 A logical router port always adds a link-local IPv6 address
2214 (fe80::/64) automatically generated from the interface’s MAC ad‐
2215 dress using the modified EUI-64 format.
2216
2217 mac: string
2218 The Ethernet address that belongs to this router port.
2219
2220 enabled: optional boolean
2221 This column is used to administratively set port state. If this
2222 column is empty or is set to true, the port is enabled. If this
2223 column is set to false, the port is disabled. A disabled port
2224 has all ingress and egress traffic dropped.
2225
2226 Distributed Gateway Ports:
2227
2228 Gateways, as documented under Gateways in the OVN architecture guide,
2229 provide limited connectivity between logical networks and physical
2230 ones. OVN support multiple kinds of gateways. The Logical_Router_Port
2231 table can be used two different ways to configure distributed gateway
2232 ports, which are one kind of gateway. These two forms of configuration
2233 exist for historical reasons. Both of them produce the same kind of OVN
2234 southbound records and the same behavior in practice.
2235
2236 If either of these are set, this logical router port represents a dis‐
2237 tributed gateway port that connects this router to a logical switch
2238 with a localnet port or a connection to another OVN deployment.
2239
2240 Also mentioned in the OVN architecture guide, distributed gateway ports
2241 can also be used for scalability reasons in deployments where logical
2242 switches are dedicated to chassises rather than distributed.
2243
2244 The preferred way to configure a gateway is ha_chassis_group, but gate‐
2245 way_chassis is also supported for backward compatibility. Only one of
2246 these should be set at a time on a given LRP, since they configure the
2247 same features.
2248
2249 Even when a gateway is configured, the logical router port still effec‐
2250 tively resides on each chassis. However, due to the implications of the
2251 use of L2 learning in the physical network, as well as the need to sup‐
2252 port advanced features such as one-to-many NAT (aka IP masquerading), a
2253 subset of the logical router processing is handled in a centralized
2254 manner on the gateway chassis.
2255
2256 There can be more than one distributed gateway ports configured on each
2257 logical router, each connecting to different L2 segments. However, fea‐
2258 tures such as NAT and load-balancer are not supported on logical
2259 routers with more than one distributed gateway ports.
2260
2261 For each distributed gateway port, it may have more than one gateway
2262 chassises. When more than one gateway chassis is specified, OVN only
2263 uses one at a time. OVN can rely on OVS BFD implementation to monitor
2264 gateway connectivity, preferring the highest-priority gateway that is
2265 online. Priorities are specified in the priority column of Gate‐
2266 way_Chassis or HA_Chassis.
2267
2268 ovn-northd programs the external_mac rules specified in the LRP’s LR
2269 into the peer logical switch’s destination lookup on the chassis where
2270 the logical_port resides. In addition, the logical router’s MAC address
2271 is automatically programmed in the peer logical switch’s destination
2272 lookup flow on the gateway chasssis. If it is desired to generate gra‐
2273 tuitous ARPs for NAT addresses, then set the peer LSP’s options:nat-ad‐
2274 dresses to router.
2275
2276 OVN 20.03 and earlier supported a third way to configure distributed
2277 gateway ports using options:redirect-chassis to specify the gateway
2278 chassis. This method is no longer supported. Any remaining users should
2279 switch to one of the newer methods instead. A gateway_chassis may be
2280 easily configured from the command line, e.g. ovn-nbctl lrp-set-gate‐
2281 way-chassis lrp chassis.
2282
2283 ha_chassis_group: optional HA_Chassis_Group
2284 Designates an HA_Chassis_Group to provide gateway high avail‐
2285 ability.
2286
2287 gateway_chassis: set of Gateway_Chassises
2288 Designates one or more Gateway_Chassis for the logical router
2289 port.
2290
2291 Options for Physical VLAN MTU Issues:
2292
2293 MTU issues arise in mixing tunnels with logical networks that are
2294 bridged to a physical VLAN. For an explanation of the MTU issues, see
2295 Physical VLAN MTU Issues in the OVN architecture document. The follow‐
2296 ing options, which are alternatives, provide solutions. Both of them
2297 cause packets to be sent over localnet instead of tunnels, but they
2298 differ in whether some or all packets are sent this way. The most prom‐
2299 inent tradeoff between these options is that reside-on-redirect-chassis
2300 is easier to configure and that redirect-type performs better for east-
2301 west traffic.
2302
2303 options : reside-on-redirect-chassis: optional string, either true or
2304 false
2305 If set to true, this option forces all traffic across the logi‐
2306 cal router port to pass through the gateway chassis using a hop
2307 across a localnet port. This changes behavior in two ways:
2308
2309 • Without this option, east-west traffic passes directly
2310 between source and destination chassis (or even within a
2311 single chassis, for co-located VMs). With this option,
2312 all east-west traffic passes through the gateway chassis.
2313
2314 • Without this option, traffic between the gateway chassis
2315 and other chassis is encapsulated in tunnels. With this
2316 option, traffic passes over a localnet interface.
2317
2318 This option may usefully be set only on logical router ports
2319 that connect a distributed logical router to a logical switch
2320 with VIFs. It should not be set on a distributed gateway port.
2321
2322 OVN honors this option only if the logical router has one and
2323 only one distributed gateway port and if the LRP’s peer switch
2324 has a localnet port.
2325
2326 options : redirect-type: optional string, either bridged or overlay
2327 If set to bridged on a distributed gateway port, this option
2328 causes OVN to redirect packets to the gateway chassis over a lo‐
2329 calnet port instead of a tunnel. The relevant chassis must share
2330 a localnet port.
2331
2332 This feature requires the administrator or the CMS to configure
2333 each participating chassis with a unique Ethernet address for
2334 the logical router by setting ovn-chassis-mac-mappings in the
2335 Open vSwitch database, for use by ovn-controller.
2336
2337 Setting this option to overlay or leaving it unset has no ef‐
2338 fect. This option may usefully be set only on a distributed
2339 gateway port when there is one and only one distributed gateway
2340 port on the logical router. It is otherwise ignored.
2341
2342 ipv6_prefix: set of strings
2343 This column contains IPv6 prefix obtained by prefix delegation
2344 router according to RFC 3633
2345
2346 ipv6_ra_configs:
2347
2348 This column defines the IPv6 ND RA address mode and ND MTU Option to be
2349 included by ovn-controller when it replies to the IPv6 Router solicita‐
2350 tion requests.
2351
2352 ipv6_ra_configs : address_mode: optional string
2353 The address mode to be used for IPv6 address configuration. The
2354 supported values are:
2355
2356 • slaac: Address configuration using Router Advertisement
2357 (RA) packet. The IPv6 prefixes defined in the Logi‐
2358 cal_Router_Port table’s networks column will be included
2359 in the RA’s ICMPv6 option - Prefix information.
2360
2361 • dhcpv6_stateful: Address configuration using DHCPv6.
2362
2363 • dhcpv6_stateless: Address configuration using Router Ad‐
2364 vertisement (RA) packet. Other IPv6 options are provided
2365 by DHCPv6.
2366
2367 ipv6_ra_configs : router_preference: optional string
2368 Default Router Preference (PRF) indicates whether to prefer this
2369 router over other default routers (RFC 4191). Possible values
2370 are:
2371
2372 • HIGH: mapped to 0x01 in RA PRF field
2373
2374 • MEDIUM: mapped to 0x00 in RA PRF field
2375
2376 • LOW: mapped to 0x11 in RA PRF field
2377
2378 ipv6_ra_configs : route_info: optional string
2379 Route Info is used to configure Route Info Option sent in Router
2380 Advertisment according to RFC 4191. Route Info is a comma sepa‐
2381 rated string where each field provides PRF and prefix for a
2382 given route (e.g: HIGH-aef1::11/48,LOW-aef2::11/96) Possible PRF
2383 values are:
2384
2385 • HIGH: mapped to 0x01 in RA PRF field
2386
2387 • MEDIUM: mapped to 0x00 in RA PRF field
2388
2389 • LOW: mapped to 0x11 in RA PRF field
2390
2391 ipv6_ra_configs : mtu: optional string
2392 The recommended MTU for the link. Default is 0, which means no
2393 MTU Option will be included in RA packet replied by ovn-con‐
2394 troller. Per RFC 2460, the mtu value is recommended no less than
2395 1280, so any mtu value less than 1280 will be considered as no
2396 MTU Option.
2397
2398 ipv6_ra_configs : send_periodic: optional string
2399 If set to true, then this router interface will send router ad‐
2400 vertisements periodically. The default is false.
2401
2402 ipv6_ra_configs : max_interval: optional string
2403 The maximum number of seconds to wait between sending periodic
2404 router advertisements. This option has no effect if ipv6_ra_con‐
2405 figs:send_periodic is false. The default is 600.
2406
2407 ipv6_ra_configs : min_interval: optional string
2408 The minimum number of seconds to wait between sending periodic
2409 router advertisements. This option has no effect if ipv6_ra_con‐
2410 figs:send_periodic is false. The default is one-third of
2411 ipv6_ra_configs:max_interval, i.e. 200 seconds if that key is
2412 unset.
2413
2414 ipv6_ra_configs : rdnss: optional string
2415 IPv6 address of RDNSS server announced in RA packets. At the mo‐
2416 ment OVN supports just one RDNSS server.
2417
2418 ipv6_ra_configs : dnssl: optional string
2419 DNS Search List announced in RA packets. Multiple DNS Search
2420 List must be ’comma’ separated (e.g. "a.b.c, d.e.f")
2421
2422 Options:
2423
2424 Additional options for the logical router port.
2425
2426 options : mcast_flood: optional string, either true or false
2427 If set to true, multicast traffic (including reports) are uncon‐
2428 ditionally forwarded to the specific port.
2429
2430 This option applies when the port is part of a logical router
2431 which has options:mcast_relay set to true.
2432
2433 options : requested-tnl-key: optional string, containing an integer, in
2434 range 1 to 32,767
2435 Configures the port binding tunnel key for the port. Usually
2436 this is not needed because ovn-northd will assign an unique key
2437 for each port by itself. However, if it is configured,
2438 ovn-northd honors the configured value.
2439
2440 options : prefix_delegation: optional string, either true or false
2441 If set to true, enable IPv6 prefix delegation state machine on
2442 this logical router port (RFC3633). IPv6 prefix delegation is
2443 available just on a gateway router or on a gateway router port.
2444
2445 options : prefix: optional string, either true or false
2446 If set to true, this interface will receive an IPv6 prefix ac‐
2447 cording to RFC3663
2448
2449 Attachment:
2450
2451 A given router port serves one of two purposes:
2452
2453 • To attach a logical switch to a logical router. A logical
2454 router port of this type is referenced by exactly one
2455 Logical_Switch_Port of type router. The value of name is
2456 set as router-port in column options of Logi‐
2457 cal_Switch_Port. In this case peer column is empty.
2458
2459 • To connect one logical router to another. This requires a
2460 pair of logical router ports, each connected to a differ‐
2461 ent router. Each router port in the pair specifies the
2462 other in its peer column. No Logical_Switch refers to the
2463 router port.
2464
2465 peer: optional string
2466 For a router port used to connect two logical routers, this
2467 identifies the other router port in the pair by name.
2468
2469 For a router port attached to a logical switch, this column is
2470 empty.
2471
2472 Common Columns:
2473
2474 external_ids: map of string-string pairs
2475 See External IDs at the beginning of this document.
2476
2478 Each record represents a static route.
2479
2480 When multiple routes match a packet, the longest-prefix match is cho‐
2481 sen. For a given prefix length, a dst-ip route is preferred over a
2482 src-ip route.
2483
2484 When there are ECMP routes, i.e. multiple routes with same prefix and
2485 policy, one of them will be selected based on the 5-tuple hashing of
2486 the packet header.
2487
2488 Summary:
2489 ip_prefix string
2490 policy optional string, either dst-ip or src-ip
2491 nexthop string
2492 output_port optional string
2493 bfd optional weak reference to BFD
2494 external_ids : ic-learned-route
2495 optional string
2496 Common Columns:
2497 external_ids map of string-string pairs
2498 Common options:
2499 options map of string-string pairs
2500 options : ecmp_symmetric_reply
2501 optional string
2502
2503 Details:
2504 ip_prefix: string
2505 IP prefix of this route (e.g. 192.168.100.0/24).
2506
2507 policy: optional string, either dst-ip or src-ip
2508 If it is specified, this setting describes the policy used to
2509 make routing decisions. This setting must be one of the follow‐
2510 ing strings:
2511
2512 • src-ip: This policy sends the packet to the nexthop when
2513 the packet’s source IP address matches ip_prefix.
2514
2515 • dst-ip: This policy sends the packet to the nexthop when
2516 the packet’s destination IP address matches ip_prefix.
2517
2518 If not specified, the default is dst-ip.
2519
2520 nexthop: string
2521 Nexthop IP address for this route. Nexthop IP address should be
2522 the IP address of a connected router port or the IP address of a
2523 logical port or can be set to discard for dropping packets which
2524 match the given route.
2525
2526 output_port: optional string
2527 The name of the Logical_Router_Port via which the packet needs
2528 to be sent out. This is optional and when not specified, OVN
2529 will automatically figure this out based on the nexthop. When
2530 this is specified and there are multiple IP addresses on the
2531 router port and none of them are in the same subnet of nexthop,
2532 OVN chooses the first IP address as the one via which the nex‐
2533 thop is reachable.
2534
2535 bfd: optional weak reference to BFD
2536 Reference to BFD row if the route has associated a BFD session
2537
2538 external_ids : ic-learned-route: optional string
2539 ovn-ic populates this key if the route is learned from the
2540 global OVN_IC_Southbound database. In this case the value will
2541 be set to the uuid of the row in Route table of the
2542 OVN_IC_Southbound database.
2543
2544 Common Columns:
2545
2546 external_ids: map of string-string pairs
2547 See External IDs at the beginning of this document.
2548
2549 Common options:
2550
2551 options: map of string-string pairs
2552 This column provides general key/value settings. The supported
2553 options are described individually below.
2554
2555 options : ecmp_symmetric_reply: optional string
2556 If true, then new traffic that arrives over this route will have
2557 its reply traffic bypass ECMP route selection and will be sent
2558 out this route instead. Note that this option overrides any
2559 rules set in the Logical_Router_policy table. This option only
2560 works on gateway routers (routers that have options:chassis
2561 set).
2562
2564 Each row in this table represents one routing policy for a logical
2565 router that points to it through its policies column. The action column
2566 for the highest-priority matching row in this table determines a
2567 packet’s treatment. If no row matches, packets are allowed by default.
2568 (Default-deny treatment is possible: add a rule with priority 0, 1 as
2569 match, and drop as action.)
2570
2571 Summary:
2572 priority integer, in range 0 to 32,767
2573 match string
2574 action string, one of allow, drop, or reroute
2575 nexthop optional string
2576 nexthops set of strings
2577 options : pkt_mark optional string
2578 Common Columns:
2579 external_ids map of string-string pairs
2580
2581 Details:
2582 priority: integer, in range 0 to 32,767
2583 The routing policy’s priority. Rules with numerically higher
2584 priority take precedence over those with lower. A rule is
2585 uniquely identified by the priority and match string.
2586
2587 match: string
2588 The packets that the routing policy should match, in the same
2589 expression language used for the match column in the OVN South‐
2590 bound database’s Logical_Flow table.
2591
2592 By default all traffic is allowed. When writing a more restric‐
2593 tive policy, it is important to remember to allow flows such as
2594 ARP and IPv6 neighbor discovery packets.
2595
2596 action: string, one of allow, drop, or reroute
2597 The action to take when the routing policy matches:
2598
2599 • allow: Forward the packet.
2600
2601 • drop: Silently drop the packet.
2602
2603 • reroute: Reroute packet to nexthop or nexthops.
2604
2605 nexthop: optional string
2606 Note: This column is deprecated in favor of nexthops.
2607
2608 Next-hop IP address for this route, which should be the IP ad‐
2609 dress of a connected router port or the IP address of a logical
2610 port.
2611
2612 nexthops: set of strings
2613 Next-hop ECMP IP addresses for this route. Each IP in the list
2614 should be the IP address of a connected router port or the IP
2615 address of a logical port.
2616
2617 One IP from the list is selected as next hop.
2618
2619 options : pkt_mark: optional string
2620 Marks the packet with the value specified when the router policy
2621 is applied. CMS can inspect this packet marker and take some de‐
2622 cisions if desired. This value is not preserved when the packet
2623 goes out on the wire.
2624
2625 Common Columns:
2626
2627 external_ids: map of string-string pairs
2628 See External IDs at the beginning of this document.
2629
2631 Each record represents a NAT rule.
2632
2633 Summary:
2634 type string, one of dnat, dnat_and_snat, or
2635 snat
2636 external_ip string
2637 external_mac optional string
2638 external_port_range string
2639 logical_ip string
2640 logical_port optional string
2641 allowed_ext_ips optional Address_Set
2642 exempted_ext_ips optional Address_Set
2643 options : stateless optional string
2644 options : add_route optional string
2645 Common Columns:
2646 external_ids map of string-string pairs
2647
2648 Details:
2649 type: string, one of dnat, dnat_and_snat, or snat
2650 Type of the NAT rule.
2651
2652 • When type is dnat, the externally visible IP address ex‐
2653 ternal_ip is DNATted to the IP address logical_ip in the
2654 logical space.
2655
2656 • When type is snat, IP packets with their source IP ad‐
2657 dress that either matches the IP address in logical_ip or
2658 is in the network provided by logical_ip is SNATed into
2659 the IP address in external_ip.
2660
2661 • When type is dnat_and_snat, the externally visible IP ad‐
2662 dress external_ip is DNATted to the IP address logical_ip
2663 in the logical space. In addition, IP packets with the
2664 source IP address that matches logical_ip is SNATed into
2665 the IP address in external_ip.
2666
2667 external_ip: string
2668 An IPv4 address.
2669
2670 external_mac: optional string
2671 A MAC address.
2672
2673 This is only used on the gateway port on distributed routers.
2674 This must be specified in order for the NAT rule to be processed
2675 in a distributed manner on all chassis. If this is not specified
2676 for a NAT rule on a distributed router, then this NAT rule will
2677 be processed in a centralized manner on the gateway port in‐
2678 stance on the gateway chassis.
2679
2680 This MAC address must be unique on the logical switch that the
2681 gateway port is attached to. If the MAC address used on the log‐
2682 ical_port is globally unique, then that MAC address can be spec‐
2683 ified as this external_mac.
2684
2685 external_port_range: string
2686 L4 source port range
2687
2688 Range of ports, from which a port number will be picked that
2689 will replace the source port of to be NATed packet. This is ba‐
2690 sically PAT (port address translation).
2691
2692 Value of the column is in the format, port_lo-port_hi. For exam‐
2693 ple: external_port_range : "1-30000"
2694
2695 Valid range of ports is 1-65535.
2696
2697 logical_ip: string
2698 An IPv4 network (e.g 192.168.1.0/24) or an IPv4 address.
2699
2700 logical_port: optional string
2701 The name of the logical port where the logical_ip resides.
2702
2703 This is only used on distributed routers. This must be specified
2704 in order for the NAT rule to be processed in a distributed man‐
2705 ner on all chassis. If this is not specified for a NAT rule on a
2706 distributed router, then this NAT rule will be processed in a
2707 centralized manner on the gateway port instance on the gateway
2708 chassis.
2709
2710 allowed_ext_ips: optional Address_Set
2711 It represents Address Set of external ips that NAT rule is ap‐
2712 plicable to. For SNAT type NAT rules, this refers to destination
2713 addresses. For DNAT type NAT rules, this refers to source ad‐
2714 dresses.
2715
2716 This configuration overrides the default NAT behavior of apply‐
2717 ing a rule solely based on internal IP. Without this configura‐
2718 tion, NAT happens without considering the external IP (i.e
2719 dest/source for snat/dnat type rule). With this configuration
2720 NAT rule is applied ONLY if external ip is in the input Address
2721 Set.
2722
2723 exempted_ext_ips: optional Address_Set
2724 It represents Address Set of external ips that NAT rule is NOT
2725 applicable to. For SNAT type NAT rules, this refers to destina‐
2726 tion addresses. For DNAT type NAT rules, this refers to source
2727 addresses.
2728
2729 This configuration overrides the default NAT behavior of apply‐
2730 ing a rule solely based on internal IP. Without this configura‐
2731 tion, NAT happens without considering the external IP (i.e
2732 dest/source for snat/dnat type rule). With this configuration
2733 NAT rule is NOT applied if external ip is in the input Address
2734 Set.
2735
2736 If there are NAT rules in a logical router with overlapping IP
2737 prefixes (including /32), then usage of exempted_ext_ips should
2738 be avoided in following scenario. a. SNAT rule (let us say
2739 RULE1) with logical_ip PREFIX/MASK (let us say 50.0.0.0/24). b.
2740 SNAT rule (let us say RULE2) with logical_ip PREFIX/MASK+1 (let
2741 us say 50.0.0.0/25). c. Now, if exempted_ext_ips is associated
2742 with RULE2, then a logical ip which matches both 50.0.0.0/24 and
2743 50.0.0.0/25 may get the RULE2 applied to it instead of RULE1.
2744
2745 allowed_ext_ips and exempted_ext_ips are mutually exclusive to
2746 each other. If both Address Sets are set for a rule, then the
2747 NAT rule is not considered.
2748
2749 options : stateless: optional string
2750 Indicates if a dnat_and_snat rule should lead to connection
2751 tracking state or not.
2752
2753 options : add_route: optional string
2754 If set to true, then neighbor routers will have logical flows
2755 added that will allow for routing to the NAT address. It also
2756 will have ARP resolution logical flows added. By setting this
2757 option, it means there is no reason to create a Logi‐
2758 cal_Router_Static_Route from neighbor routers to this NAT ad‐
2759 dress. It also means that no ARP request is required for neigh‐
2760 bor routers to learn the IP-MAC mapping for this NAT address.
2761 This option only applies to NATs of type dnat and dnat_and_snat.
2762 For more information about what flows are added for IP routes,
2763 please see the ovn-northd manpage section on IP Routing.
2764
2765 Common Columns:
2766
2767 external_ids: map of string-string pairs
2768 See External IDs at the beginning of this document.
2769
2771 OVN implements native DHCPv4 support which caters to the common use
2772 case of providing an IPv4 address to a booting instance by providing
2773 stateless replies to DHCPv4 requests based on statically configured ad‐
2774 dress mappings. To do this it allows a short list of DHCPv4 options to
2775 be configured and applied at each compute host running ovn-controller.
2776
2777 OVN also implements native DHCPv6 support which provides stateless
2778 replies to DHCPv6 requests.
2779
2780 Summary:
2781 cidr string
2782 DHCPv4 options:
2783 Mandatory DHCPv4 options:
2784 options : server_id optional string
2785 options : server_mac optional string
2786 options : lease_time optional string, containing an integer,
2787 in range 0 to 4,294,967,295
2788 IPv4 DHCP Options:
2789 options : router optional string
2790 options : netmask optional string
2791 options : dns_server optional string
2792 options : log_server optional string
2793 options : lpr_server optional string
2794 options : swap_server optional string
2795 options : policy_filter optional string
2796 options : router_solicitation
2797 optional string
2798 options : nis_server optional string
2799 options : ntp_server optional string
2800 options : netbios_name_server
2801 optional string
2802 options : classless_static_route
2803 optional string
2804 options : ms_classless_static_route
2805 optional string
2806 Boolean DHCP Options:
2807 options : ip_forward_enable
2808 optional string, either 0 or 1
2809 options : router_discovery
2810 optional string, either 0 or 1
2811 options : ethernet_encap optional string, either 0 or 1
2812 Integer DHCP Options:
2813 options : default_ttl optional string, containing an integer,
2814 in range 0 to 255
2815 options : tcp_ttl optional string, containing an integer,
2816 in range 0 to 255
2817 options : mtu optional string, containing an integer,
2818 in range 68 to 65,535
2819 options : T1 optional string, containing an integer,
2820 in range 68 to 4,294,967,295
2821 options : T2 optional string, containing an integer,
2822 in range 68 to 4,294,967,295
2823 options : arp_cache_timeout
2824 optional string, containing an integer,
2825 in range 0 to 255
2826 options : tcp_keepalive_interval
2827 optional string, containing an integer,
2828 in range 0 to 255
2829 options : netbios_node_type
2830 optional string, containing an integer,
2831 in range 0 to 255
2832 String DHCP Options:
2833 options : wpad optional string
2834 options : bootfile_name optional string
2835 options : path_prefix optional string
2836 options : tftp_server_address
2837 optional string
2838 options : hostname optional string
2839 options : domain_name optional string
2840 options : bootfile_name_alt
2841 optional string
2842 options : broadcast_address
2843 optional string
2844 DHCP Options of type host_id:
2845 options : tftp_server optional string
2846 DHCP Options of type domains:
2847 options : domain_search_list
2848 optional string
2849 DHCPv6 options:
2850 Mandatory DHCPv6 options:
2851 options : server_id optional string
2852 IPv6 DHCPv6 options:
2853 options : dns_server optional string
2854 String DHCPv6 options:
2855 options : domain_search optional string
2856 options : dhcpv6_stateless
2857 optional string
2858 Common Columns:
2859 external_ids map of string-string pairs
2860
2861 Details:
2862 cidr: string
2863 The DHCPv4/DHCPv6 options will be included if the logical port
2864 has its IP address in this cidr.
2865
2866 DHCPv4 options:
2867
2868 The CMS should define the set of DHCPv4 options as key/value pairs in
2869 the options column of this table. For ovn-controller to include these
2870 DHCPv4 options, the dhcpv4_options of Logical_Switch_Port should refer
2871 to an entry in this table.
2872
2873 Mandatory DHCPv4 options:
2874
2875 The following options must be defined.
2876
2877 options : server_id: optional string
2878 The IP address for the DHCP server to use. This should be in the
2879 subnet of the offered IP. This is also included in the DHCP of‐
2880 fer as option 54, ``server identifier.’’
2881
2882 options : server_mac: optional string
2883 The Ethernet address for the DHCP server to use.
2884
2885 options : lease_time: optional string, containing an integer, in range
2886 0 to 4,294,967,295
2887 The offered lease time in seconds,
2888
2889 The DHCPv4 option code for this option is 51.
2890
2891 IPv4 DHCP Options:
2892
2893 Below are the supported DHCPv4 options whose values are an IPv4 ad‐
2894 dress, e.g. 192.168.1.1. Some options accept multiple IPv4 addresses
2895 enclosed within curly braces, e.g. {192.168.1.2, 192.168.1.3}. Please
2896 refer to RFC 2132 for more details on DHCPv4 options and their codes.
2897
2898 options : router: optional string
2899 The IP address of a gateway for the client to use. This should
2900 be in the subnet of the offered IP. The DHCPv4 option code for
2901 this option is 3.
2902
2903 options : netmask: optional string
2904 The DHCPv4 option code for this option is 1.
2905
2906 options : dns_server: optional string
2907 The DHCPv4 option code for this option is 6.
2908
2909 options : log_server: optional string
2910 The DHCPv4 option code for this option is 7.
2911
2912 options : lpr_server: optional string
2913 The DHCPv4 option code for this option is 9.
2914
2915 options : swap_server: optional string
2916 The DHCPv4 option code for this option is 16.
2917
2918 options : policy_filter: optional string
2919 The DHCPv4 option code for this option is 21.
2920
2921 options : router_solicitation: optional string
2922 The DHCPv4 option code for this option is 32.
2923
2924 options : nis_server: optional string
2925 The DHCPv4 option code for this option is 41.
2926
2927 options : ntp_server: optional string
2928 The DHCPv4 option code for this option is 42.
2929
2930 options : netbios_name_server: optional string
2931 The DHCPv4 option code for this option is 44.
2932
2933 options : classless_static_route: optional string
2934 The DHCPv4 option code for this option is 121.
2935
2936 This option can contain one or more static routes, each of which
2937 consists of a destination descriptor and the IP address of the
2938 router that should be used to reach that destination. Please see
2939 RFC 3442 for more details.
2940
2941 Example: {30.0.0.0/24,10.0.0.10, 0.0.0.0/0,10.0.0.1}
2942
2943 options : ms_classless_static_route: optional string
2944 The DHCPv4 option code for this option is 249. This option is
2945 similar to classless_static_route supported by Microsoft Windows
2946 DHCPv4 clients.
2947
2948 Boolean DHCP Options:
2949
2950 These options accept a Boolean value, expressed as 0 for false or 1 for
2951 true.
2952
2953 options : ip_forward_enable: optional string, either 0 or 1
2954 The DHCPv4 option code for this option is 19.
2955
2956 options : router_discovery: optional string, either 0 or 1
2957 The DHCPv4 option code for this option is 31.
2958
2959 options : ethernet_encap: optional string, either 0 or 1
2960 The DHCPv4 option code for this option is 36.
2961
2962 Integer DHCP Options:
2963
2964 These options accept a nonnegative integer value.
2965
2966 options : default_ttl: optional string, containing an integer, in range
2967 0 to 255
2968 The DHCPv4 option code for this option is 23.
2969
2970 options : tcp_ttl: optional string, containing an integer, in range 0
2971 to 255
2972 The DHCPv4 option code for this option is 37.
2973
2974 options : mtu: optional string, containing an integer, in range 68 to
2975 65,535
2976 The DHCPv4 option code for this option is 26.
2977
2978 options : T1: optional string, containing an integer, in range 68 to
2979 4,294,967,295
2980 This specifies the time interval from address assignment until
2981 the client begins trying to renew its address. The DHCPv4 option
2982 code for this option is 58.
2983
2984 options : T2: optional string, containing an integer, in range 68 to
2985 4,294,967,295
2986 This specifies the time interval from address assignment until
2987 the client begins trying to rebind its address. The DHCPv4 op‐
2988 tion code for this option is 59.
2989
2990 options : arp_cache_timeout: optional string, containing an integer, in
2991 range 0 to 255
2992 The DHCPv4 option code for this option is 35. This option speci‐
2993 fies the timeout in seconds for ARP cache entries.
2994
2995 options : tcp_keepalive_interval: optional string, containing an inte‐
2996 ger, in range 0 to 255
2997 The DHCPv4 option code for this option is 38. This option speci‐
2998 fies the interval that the client TCP should wait before sending
2999 a keepalive message on a TCP connection.
3000
3001 options : netbios_node_type: optional string, containing an integer, in
3002 range 0 to 255
3003 The DHCPv4 option code for this option is 46.
3004
3005 String DHCP Options:
3006
3007 These options accept a string value.
3008
3009 options : wpad: optional string
3010 The DHCPv4 option code for this option is 252. This option is
3011 used as part of web proxy auto discovery to provide a URL for a
3012 web proxy.
3013
3014 options : bootfile_name: optional string
3015 The DHCPv4 option code for this option is 67. This option is
3016 used to identify a bootfile.
3017
3018 options : path_prefix: optional string
3019 The DHCPv4 option code for this option is 210. In PXELINUX’ case
3020 this option is used to set a common path prefix, instead of de‐
3021 riving it from the bootfile name.
3022
3023 options : tftp_server_address: optional string
3024 The DHCPv4 option code for this option is 150. The option con‐
3025 tains one or more IPv4 addresses that the client MAY use. This
3026 option is Cisco proprietary, the IEEE standard that matches with
3027 this requirement is option 66 (tftp_server).
3028
3029 options : hostname: optional string
3030 The DHCPv4 option code for this option is 12. If set, indicates
3031 the DHCPv4 option "Hostname". Alternatively, this option can be
3032 configured in options:hostname column in table Logi‐
3033 cal_Switch_Port. If Hostname option value is set in both con‐
3034 flicting Logical_Switch_Port and DHCP_Options tables, Logi‐
3035 cal_Switch_Port takes precedence.
3036
3037 options : domain_name: optional string
3038 The DHCPv4 option code for this option is 15. This option speci‐
3039 fies the domain name that client should use when resolving host‐
3040 names via the Domain Name System.
3041
3042 options : bootfile_name_alt: optional string
3043 "bootfile_name_alt" option is used to support iPXE. When both
3044 "bootfile_name" and "bootfile_name_alt" are provided by the CMS,
3045 "bootfile_name" will be used for option 67 if the dhcp request
3046 contains etherboot option (175), otherwise "bootfile_name_alt"
3047 will be used.
3048
3049 options : broadcast_address: optional string
3050 The DHCPv4 option code for this option is 28. This option speci‐
3051 fies the IP address used as a broadcast address.
3052
3053 DHCP Options of type host_id:
3054
3055 These options accept either an IPv4 address or a string value.
3056
3057 options : tftp_server: optional string
3058 The DHCPv4 option code for this option is 66.
3059
3060 DHCP Options of type domains:
3061
3062 These options accept string value which is a comma separated list of
3063 domain names. The domain names are encoded based on RFC 1035.
3064
3065 options : domain_search_list: optional string
3066 The DHCPv4 option code for this option is 119.
3067
3068 DHCPv6 options:
3069
3070 OVN also implements native DHCPv6 support. The CMS should define the
3071 set of DHCPv6 options as key/value pairs. The define DHCPv6 options
3072 will be included in the DHCPv6 response to the DHCPv6 Solicit/Re‐
3073 quest/Confirm packet from the logical ports having the IPv6 addresses
3074 in the cidr.
3075
3076 Mandatory DHCPv6 options:
3077
3078 The following options must be defined.
3079
3080 options : server_id: optional string
3081 The Ethernet address for the DHCP server to use. This is also
3082 included in the DHCPv6 reply as option 2, ``Server Identifier’’
3083 to carry a DUID identifying a server between a client and a
3084 server. ovn-controller defines DUID based on Link-layer Address
3085 [DUID-LL].
3086
3087 IPv6 DHCPv6 options:
3088
3089 Below are the supported DHCPv6 options whose values are an IPv6 ad‐
3090 dress, e.g. aef0::4. Some options accept multiple IPv6 addresses en‐
3091 closed within curly braces, e.g. {aef0::4, aef0::5}. Please refer to
3092 RFC 3315 for more details on DHCPv6 options and their codes.
3093
3094 options : dns_server: optional string
3095 The DHCPv6 option code for this option is 23. This option speci‐
3096 fies the DNS servers that the VM should use.
3097
3098 String DHCPv6 options:
3099
3100 These options accept string values.
3101
3102 options : domain_search: optional string
3103 The DHCPv6 option code for this option is 24. This option speci‐
3104 fies the domain search list the client should use to resolve
3105 hostnames with DNS.
3106
3107 Example: "ovn.org".
3108
3109 options : dhcpv6_stateless: optional string
3110 This option specifies the OVN native DHCPv6 will work in state‐
3111 less mode, which means OVN native DHCPv6 will not offer IPv6 ad‐
3112 dresses for VM/VIF ports, but only reply other configurations,
3113 such as DNS and domain search list. When setting this option
3114 with string value "true", VM/VIF will configure IPv6 addresses
3115 by stateless way. Default value for this option is false.
3116
3117 Common Columns:
3118
3119 external_ids: map of string-string pairs
3120 See External IDs at the beginning of this document.
3121
3123 Configuration for a database connection to an Open vSwitch database
3124 (OVSDB) client.
3125
3126 This table primarily configures the Open vSwitch database server
3127 (ovsdb-server).
3128
3129 The Open vSwitch database server can initiate and maintain active con‐
3130 nections to remote clients. It can also listen for database connec‐
3131 tions.
3132
3133 Summary:
3134 Core Features:
3135 target string (must be unique within table)
3136 Client Failure Detection and Handling:
3137 max_backoff optional integer, at least 1,000
3138 inactivity_probe optional integer
3139 Status:
3140 is_connected boolean
3141 status : last_error optional string
3142 status : state optional string, one of ACTIVE, BACKOFF,
3143 CONNECTING, IDLE, or VOID
3144 status : sec_since_connect optional string, containing an integer,
3145 at least 0
3146 status : sec_since_disconnect
3147 optional string, containing an integer,
3148 at least 0
3149 status : locks_held optional string
3150 status : locks_waiting optional string
3151 status : locks_lost optional string
3152 status : n_connections optional string, containing an integer,
3153 at least 2
3154 status : bound_port optional string, containing an integer
3155 Common Columns:
3156 external_ids map of string-string pairs
3157 other_config map of string-string pairs
3158
3159 Details:
3160 Core Features:
3161
3162 target: string (must be unique within table)
3163 Connection methods for clients.
3164
3165 The following connection methods are currently supported:
3166
3167 ssl:host[:port]
3168 The specified SSL port on the host at the given host,
3169 which can either be a DNS name (if built with unbound li‐
3170 brary) or an IP address. A valid SSL configuration must
3171 be provided when this form is used, this configuration
3172 can be specified via command-line options or the SSL ta‐
3173 ble.
3174
3175 If port is not specified, it defaults to 6640.
3176
3177 SSL support is an optional feature that is not always
3178 built as part of Open vSwitch.
3179
3180 tcp:host[:port]
3181 The specified TCP port on the host at the given host,
3182 which can either be a DNS name (if built with unbound li‐
3183 brary) or an IP address. If host is an IPv6 address, wrap
3184 it in square brackets, e.g. tcp:[::1]:6640.
3185
3186 If port is not specified, it defaults to 6640.
3187
3188 pssl:[port][:host]
3189 Listens for SSL connections on the specified TCP port.
3190 Specify 0 for port to have the kernel automatically
3191 choose an available port. If host, which can either be a
3192 DNS name (if built with unbound library) or an IP ad‐
3193 dress, is specified, then connections are restricted to
3194 the resolved or specified local IPaddress (either IPv4 or
3195 IPv6 address). If host is an IPv6 address, wrap in square
3196 brackets, e.g. pssl:6640:[::1]. If host is not specified
3197 then it listens only on IPv4 (but not IPv6) addresses. A
3198 valid SSL configuration must be provided when this form
3199 is used, this can be specified either via command-line
3200 options or the SSL table.
3201
3202 If port is not specified, it defaults to 6640.
3203
3204 SSL support is an optional feature that is not always
3205 built as part of Open vSwitch.
3206
3207 ptcp:[port][:host]
3208 Listens for connections on the specified TCP port. Spec‐
3209 ify 0 for port to have the kernel automatically choose an
3210 available port. If host, which can either be a DNS name
3211 (if built with unbound library) or an IP address, is
3212 specified, then connections are restricted to the re‐
3213 solved or specified local IP address (either IPv4 or IPv6
3214 address). If host is an IPv6 address, wrap it in square
3215 brackets, e.g. ptcp:6640:[::1]. If host is not specified
3216 then it listens only on IPv4 addresses.
3217
3218 If port is not specified, it defaults to 6640.
3219
3220 When multiple clients are configured, the target values must be
3221 unique. Duplicate target values yield unspecified results.
3222
3223 Client Failure Detection and Handling:
3224
3225 max_backoff: optional integer, at least 1,000
3226 Maximum number of milliseconds to wait between connection at‐
3227 tempts. Default is implementation-specific.
3228
3229 inactivity_probe: optional integer
3230 Maximum number of milliseconds of idle time on connection to the
3231 client before sending an inactivity probe message. If Open
3232 vSwitch does not communicate with the client for the specified
3233 number of seconds, it will send a probe. If a response is not
3234 received for the same additional amount of time, Open vSwitch
3235 assumes the connection has been broken and attempts to recon‐
3236 nect. Default is implementation-specific. A value of 0 disables
3237 inactivity probes.
3238
3239 Status:
3240
3241 Key-value pair of is_connected is always updated. Other key-value pairs
3242 in the status columns may be updated depends on the target type.
3243
3244 When target specifies a connection method that listens for inbound con‐
3245 nections (e.g. ptcp: or punix:), both n_connections and is_connected
3246 may also be updated while the remaining key-value pairs are omitted.
3247
3248 On the other hand, when target specifies an outbound connection, all
3249 key-value pairs may be updated, except the above-mentioned two key-
3250 value pairs associated with inbound connection targets. They are omit‐
3251 ted.
3252
3253 is_connected: boolean
3254 true if currently connected to this client, false otherwise.
3255
3256 status : last_error: optional string
3257 A human-readable description of the last error on the connection
3258 to the manager; i.e. strerror(errno). This key will exist only
3259 if an error has occurred.
3260
3261 status : state: optional string, one of ACTIVE, BACKOFF, CONNECTING,
3262 IDLE, or VOID
3263 The state of the connection to the manager:
3264
3265 VOID Connection is disabled.
3266
3267 BACKOFF
3268 Attempting to reconnect at an increasing period.
3269
3270 CONNECTING
3271 Attempting to connect.
3272
3273 ACTIVE Connected, remote host responsive.
3274
3275 IDLE Connection is idle. Waiting for response to keep-alive.
3276
3277 These values may change in the future. They are provided only
3278 for human consumption.
3279
3280 status : sec_since_connect: optional string, containing an integer, at
3281 least 0
3282 The amount of time since this client last successfully connected
3283 to the database (in seconds). Value is empty if client has never
3284 successfully been connected.
3285
3286 status : sec_since_disconnect: optional string, containing an integer,
3287 at least 0
3288 The amount of time since this client last disconnected from the
3289 database (in seconds). Value is empty if client has never dis‐
3290 connected.
3291
3292 status : locks_held: optional string
3293 Space-separated list of the names of OVSDB locks that the con‐
3294 nection holds. Omitted if the connection does not hold any
3295 locks.
3296
3297 status : locks_waiting: optional string
3298 Space-separated list of the names of OVSDB locks that the con‐
3299 nection is currently waiting to acquire. Omitted if the connec‐
3300 tion is not waiting for any locks.
3301
3302 status : locks_lost: optional string
3303 Space-separated list of the names of OVSDB locks that the con‐
3304 nection has had stolen by another OVSDB client. Omitted if no
3305 locks have been stolen from this connection.
3306
3307 status : n_connections: optional string, containing an integer, at
3308 least 2
3309 When target specifies a connection method that listens for in‐
3310 bound connections (e.g. ptcp: or pssl:) and more than one con‐
3311 nection is actually active, the value is the number of active
3312 connections. Otherwise, this key-value pair is omitted.
3313
3314 status : bound_port: optional string, containing an integer
3315 When target is ptcp: or pssl:, this is the TCP port on which the
3316 OVSDB server is listening. (This is particularly useful when
3317 target specifies a port of 0, allowing the kernel to choose any
3318 available port.)
3319
3320 Common Columns:
3321
3322 The overall purpose of these columns is described under Common Columns
3323 at the beginning of this document.
3324
3325 external_ids: map of string-string pairs
3326
3327 other_config: map of string-string pairs
3328
3330 Each row in this table stores the DNS records. The Logical_Switch ta‐
3331 ble’s dns_records references these records.
3332
3333 Summary:
3334 records map of string-string pairs
3335 external_ids map of string-string pairs
3336
3337 Details:
3338 records: map of string-string pairs
3339 Key-value pair of DNS records with DNS query name as the key and
3340 value as a string of IP address(es) separated by comma or space.
3341 For PTR requests, the key-value pair can be Reverse IPv4 ad‐
3342 dress.in-addr.arpa and the value DNS domain name. For IPv6 ad‐
3343 dresses, the key has to be Reverse IPv6 address.ip6.arpa.
3344
3345 Example: "vm1.ovn.org" = "10.0.0.4 aef0::4"
3346
3347 Example: "4.0.0.10.in-addr.arpa" = "vm1.ovn.org"
3348
3349 external_ids: map of string-string pairs
3350 See External IDs at the beginning of this document.
3351
3353 SSL configuration for ovn-nb database access.
3354
3355 Summary:
3356 private_key string
3357 certificate string
3358 ca_cert string
3359 bootstrap_ca_cert boolean
3360 ssl_protocols string
3361 ssl_ciphers string
3362 Common Columns:
3363 external_ids map of string-string pairs
3364
3365 Details:
3366 private_key: string
3367 Name of a PEM file containing the private key used as the
3368 switch’s identity for SSL connections to the controller.
3369
3370 certificate: string
3371 Name of a PEM file containing a certificate, signed by the cer‐
3372 tificate authority (CA) used by the controller and manager, that
3373 certifies the switch’s private key, identifying a trustworthy
3374 switch.
3375
3376 ca_cert: string
3377 Name of a PEM file containing the CA certificate used to verify
3378 that the switch is connected to a trustworthy controller.
3379
3380 bootstrap_ca_cert: boolean
3381 If set to true, then Open vSwitch will attempt to obtain the CA
3382 certificate from the controller on its first SSL connection and
3383 save it to the named PEM file. If it is successful, it will im‐
3384 mediately drop the connection and reconnect, and from then on
3385 all SSL connections must be authenticated by a certificate
3386 signed by the CA certificate thus obtained. This option exposes
3387 the SSL connection to a man-in-the-middle attack obtaining the
3388 initial CA certificate. It may still be useful for bootstrap‐
3389 ping.
3390
3391 ssl_protocols: string
3392 List of SSL protocols to be enabled for SSL connections. The de‐
3393 fault when this option is omitted is TLSv1,TLSv1.1,TLSv1.2.
3394
3395 ssl_ciphers: string
3396 List of ciphers (in OpenSSL cipher string format) to be sup‐
3397 ported for SSL connections. The default when this option is
3398 omitted is HIGH:!aNULL:!MD5.
3399
3400 Common Columns:
3401
3402 The overall purpose of these columns is described under Common Columns
3403 at the beginning of this document.
3404
3405 external_ids: map of string-string pairs
3406
3408 Association of a chassis to a logical router port. The traffic going
3409 out through an specific router port will be redirected to a chassis, or
3410 a set of them in high availability configurations.
3411
3412 Summary:
3413 name string (must be unique within table)
3414 chassis_name string
3415 priority integer, in range 0 to 32,767
3416 options map of string-string pairs
3417 Common Columns:
3418 external_ids map of string-string pairs
3419
3420 Details:
3421 name: string (must be unique within table)
3422 Name of the Gateway_Chassis.
3423
3424 A suggested, but not required naming convention is
3425 ${port_name}_${chassis_name}.
3426
3427 chassis_name: string
3428 Name of the chassis that we want to redirect traffic through for
3429 the associated logical router port. The value must match the
3430 name column of the Chassis table in the OVN_Southbound database.
3431
3432 priority: integer, in range 0 to 32,767
3433 This is the priority of a chassis among all Gateway_Chassis be‐
3434 longing to the same logical router port.
3435
3436 options: map of string-string pairs
3437 Reserved for future use.
3438
3439 Common Columns:
3440
3441 external_ids: map of string-string pairs
3442 See External IDs at the beginning of this document.
3443
3445 Table representing a group of chassis which can provide high availabil‐
3446 ity services. Each chassis in the group is represented by the table
3447 HA_Chassis. The HA chassis with highest priority will be the master of
3448 this group. If the master chassis failover is detected, the HA chassis
3449 with the next higher priority takes over the responsibility of provid‐
3450 ing the HA. If a distributed gateway router port references a row in
3451 this table, then the master HA chassis in this group provides the gate‐
3452 way functionality.
3453
3454 Summary:
3455 name string (must be unique within table)
3456 ha_chassis set of HA_Chassises
3457 Common Columns:
3458 external_ids map of string-string pairs
3459
3460 Details:
3461 name: string (must be unique within table)
3462 Name of the HA_Chassis_Group. Name should be unique.
3463
3464 ha_chassis: set of HA_Chassises
3465 A list of HA chassis which belongs to this group.
3466
3467 Common Columns:
3468
3469 external_ids: map of string-string pairs
3470 See External IDs at the beginning of this document.
3471
3473 Summary:
3474 chassis_name string
3475 priority integer, in range 0 to 32,767
3476 Common Columns:
3477 external_ids map of string-string pairs
3478
3479 Details:
3480 chassis_name: string
3481 Name of the chassis which is part of the HA chassis group. The
3482 value must match the name column of the Chassis table in the
3483 OVN_Southbound database.
3484
3485 priority: integer, in range 0 to 32,767
3486 Priority of the chassis. Chassis with highest priority will be
3487 the master.
3488
3489 Common Columns:
3490
3491 external_ids: map of string-string pairs
3492 See External IDs at the beginning of this document.
3493
3495 Contains BFD parameter for ovn-controller BFD configuration. OVN BFD
3496 implementation is used to provide detection of failures in the path be‐
3497 tween adjacent forwarding engines, including the OVN interfaces. OVN
3498 BFD provides link status info to OVN northd in order to update logical
3499 flows according to the status of BFD endpoints. In the current imple‐
3500 mentation OVN BFD is used to check next-hop status for ECMP routes.
3501 Please note BFD table refers to OVN BFD implementation and not to OVS
3502 legacy one.
3503
3504 Summary:
3505 Configuration:
3506 logical_port string
3507 dst_ip string
3508 min_tx optional integer, at least 1
3509 min_rx optional integer
3510 detect_mult optional integer, at least 1
3511 options map of string-string pairs
3512 external_ids map of string-string pairs
3513 Status Reporting:
3514 status optional string, one of admin_down, down,
3515 init, or up
3516
3517 Details:
3518 Configuration:
3519
3520 ovn-northd reads configuration from these columns.
3521
3522 logical_port: string
3523 OVN logical port when BFD engine is running.
3524
3525 dst_ip: string
3526 BFD peer IP address.
3527
3528 min_tx: optional integer, at least 1
3529 This is the minimum interval, in milliseconds, that the local
3530 system would like to use when transmitting BFD Control packets,
3531 less any jitter applied. The value zero is reserved. Default
3532 value is 1000 ms.
3533
3534 min_rx: optional integer
3535 This is the minimum interval, in milliseconds, between received
3536 BFD Control packets that this system is capable of supporting,
3537 less any jitter applied by the sender. If this value is zero,
3538 the transmitting system does not want the remote system to send
3539 any periodic BFD Control packets.
3540
3541 detect_mult: optional integer, at least 1
3542 Detection time multiplier. The negotiated transmit interval,
3543 multiplied by this value, provides the Detection Time for the
3544 receiving system in Asynchronous mode. Default value is 5.
3545
3546 options: map of string-string pairs
3547 Reserved for future use.
3548
3549 external_ids: map of string-string pairs
3550 See External IDs at the beginning of this document.
3551
3552 Status Reporting:
3553
3554 ovn-northd writes BFD status into these columns.
3555
3556 status: optional string, one of admin_down, down, init, or up
3557 BFD port logical states. Possible values are:
3558
3559 • admin_down
3560
3561 • down
3562
3563 • init
3564
3565 • up
3566
3567
3568
3569Open vSwitch 21.09.0 DB Schema 5.33.1 ovn-nb(5)