Skip to content

Commit 9bffc62

Browse files
committed
controller: Remove dynamic-routing-arp-prefer-local option.
EVPN-learned MAC bindings are now written to the SB MAC_Binding table and consumed through the normal lflow pipeline at the same priority as dynamic entries. This makes the "dynamic-routing-arp-prefer-local" Logical Switch option obsolete: both the "true" and "false" settings produced identical flow tables since the MAC_Binding SB sync was introduced. Remove the option from: - ovn-controller (evpn_arp priority selection logic) - northd (NB-to-SB external_ids propagation) - NB schema documentation (ovn-nb.xml) - architecture documentation - system tests (deduplicate identical flow checks) The EVPN ARP lookup side table (table 113) now uses NEIGH_OF_DYNAMIC_MAC_BINDING_PRIO (100) unconditionally. The NEIGH_OF_EVPN_MAC_BINDING_LOW_PRIO (20) and NEIGH_OF_EVPN_MAC_BINDING_HIGH_PRIO (200) enum values are removed. Assisted-by: Claude Opus 4.6, OpenCode Acked-by: Dumitru Ceara <dceara@redhat.com> Signed-off-by: Ales Musil <amusil@redhat.com> (cherry picked from commit 32ea673)
1 parent 3baa974 commit 9bffc62

7 files changed

Lines changed: 16 additions & 173 deletions

File tree

NEWS

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,12 @@ OVN v26.03.3 - xx xxx xxxx
99
(e.g. via the ovs-delete-transient-ports.service on RHEL/Fedora) will
1010
automatically remove stale tunnel ports on reboot, preventing them from
1111
interfering with BFD and HA failover after a gateway chassis reboot.
12+
- Dynamic Routing:
13+
* Remove the "other_config:dynamic-routing-arp-prefer-local"
14+
option from Logical Switches. EVPN-learned MAC bindings are
15+
now written to the SB MAC_Binding table and consumed at the
16+
same priority as dynamic entries, making the preference option
17+
obsolete.
1218

1319
OVN v26.03.2 - 16 Jun 2026
1420
--------------------------

controller/evpn-arp.c

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -76,17 +76,6 @@ evpn_arp_run(const struct evpn_arp_ctx_in *arp_ctx_in,
7676
updated = true;
7777
}
7878

79-
enum neigh_of_rule_prio priority =
80-
smap_get_bool(&arp->ldp->datapath->external_ids,
81-
"dynamic-routing-arp-prefer-local",
82-
false)
83-
? NEIGH_OF_EVPN_MAC_BINDING_LOW_PRIO
84-
: NEIGH_OF_EVPN_MAC_BINDING_HIGH_PRIO;
85-
if (arp->priority != priority) {
86-
arp->priority = priority;
87-
updated = true;
88-
}
89-
9079
if (updated) {
9180
hmapx_add(arp_ctx_out->updated_arps, arp);
9281
}

controller/evpn-arp.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,6 @@ struct evpn_arp {
5353
uint32_t vni;
5454
/* Logical datapath of the switch this was learned on. */
5555
const struct local_datapath *ldp;
56-
/* Priority to use for this ARP entry at OpenFlow level. */
57-
enum neigh_of_rule_prio priority;
5856
};
5957

6058
void evpn_arp_run(const struct evpn_arp_ctx_in *, struct evpn_arp_ctx_out *);

controller/neighbor-of.h

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,21 +21,19 @@
2121
#include "ofctrl.h"
2222

2323
/* Priorities of ovn-controller generated flows for various types of MAC
24-
* Bindings in different situations. Valid preference orders, based on
25-
* the "dynamic-routing-arp-prefer-local" logical switch config and the
26-
* SB.Static_MAC_Binding.override_dynamic_mac value are:
24+
* Bindings. EVPN-learned MAC bindings are written to the SB MAC_Binding
25+
* table and consumed through the normal lflow pipeline at the same
26+
* priority as dynamic entries. The EVPN ARP lookup side table (table 113)
27+
* uses the dynamic priority as well. Valid preference orders based on
28+
* the SB.Static_MAC_Binding.override_dynamic_mac value are:
2729
*
28-
* - EVPN-learned < static-mac-binding < dynamic-mac-binding
29-
* - EVPN-learned < dynamic-mac-binding < static-mac-binding
30-
* - static-mac-binding < dynamic-mac-binding < EVPN-learned
31-
* - dynamic-mac-binding < static-mac-binding < EVPN-learned
30+
* - static-mac-binding < dynamic-mac-binding (+ EVPN)
31+
* - dynamic-mac-binding (+ EVPN) < static-mac-binding
3232
*/
3333
enum neigh_of_rule_prio {
34-
NEIGH_OF_EVPN_MAC_BINDING_LOW_PRIO = 20,
3534
NEIGH_OF_STATIC_MAC_BINDING_LOW_PRIO = 50,
3635
NEIGH_OF_DYNAMIC_MAC_BINDING_PRIO = 100,
3736
NEIGH_OF_STATIC_MAC_BINDING_HIGH_PRIO = 150,
38-
NEIGH_OF_EVPN_MAC_BINDING_HIGH_PRIO = 200,
3937
};
4038

4139
void

northd/en-datapath-logical-switch.c

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -173,13 +173,6 @@ gather_external_ids(const struct nbrec_logical_switch *nbs,
173173
smap_add(external_ids, "dynamic-routing-redistribute",
174174
redistribute);
175175
}
176-
177-
const char *prefer_evpn_arp_local =
178-
smap_get(&nbs->other_config, "dynamic-routing-arp-prefer-local");
179-
if (prefer_evpn_arp_local) {
180-
smap_add(external_ids, "dynamic-routing-arp-prefer-local",
181-
prefer_evpn_arp_local);
182-
}
183176
}
184177

185178
/* For backwards-compatibility, also store the NB UUID in

ovn-nb.xml

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -988,24 +988,6 @@
988988
</p>
989989
</column>
990990

991-
<column name="other_config" key="dynamic-routing-arp-prefer-local"
992-
type='{"type": "boolean"}'>
993-
<p>
994-
This option defines the preference of ARP/ND lookup. If set to
995-
true OVN routers connected to EVPN Logical Switches on which remote
996-
neighbor entries have been learned (Type-2 MAC+IP EVPN routes) will
997-
give precedence to any ARP/ND entries they might have in the SB
998-
<code>Mac_Binding</code> table before trying to resolve the MAC
999-
address via the <code>ovn-controller</code> local EVPN ARP/ND cache.
1000-
The option defaults to false.
1001-
</p>
1002-
1003-
<p>
1004-
Only relevant if <ref column="other_config" key="dynamic-routing-vni"
1005-
table="Logical_switch"/> is set to valid VNI.
1006-
</p>
1007-
</column>
1008-
1009991
<column name="other_config" key="dynamic-routing-redistribute"
1010992
type='{"type": "string"}'>
1011993
<p>

tests/system-ovn.at

Lines changed: 3 additions & 126 deletions
Original file line numberDiff line numberDiff line change
@@ -18380,48 +18380,7 @@ wait_row_count MAC_Binding 1 ip="172\:16\:\:50"
1838018380
wait_row_count MAC_Binding 1 ip="172\:16\:\:60"
1838118381
wait_row_count MAC_Binding 1 ip="172\:16\:\:70"
1838218382

18383-
AS_BOX([Check dynamic-routing-arp-prefer-local=true])
18384-
check ovn-nbctl --wait=hv set Logical_Switch ls-evpn other_config:dynamic-routing-arp-prefer-local=true
18385-
18386-
AT_CHECK_UNQUOTED([ovs-ofctl dump-flows br-int table=OFTABLE_MAC_BINDING | grep priority | \
18387-
awk '{print $[7], $[8]}' | sort], [0], [dnl
18388-
priority=100,reg0=0xac10010a,reg15=0x$rtr_port_key,metadata=0x$rtr_dp_key actions=mod_dl_dst:f0:00:0f:16:01:10,load:0x1->NXM_NX_REG10[[6]]
18389-
priority=100,reg0=0xac100132,reg15=0x$rtr_port_key,metadata=0x$rtr_dp_key actions=mod_dl_dst:f0:00:0f:16:10:50,load:0x1->NXM_NX_REG10[[6]]
18390-
priority=100,reg0=0xac10013c,reg15=0x$rtr_port_key,metadata=0x$rtr_dp_key actions=mod_dl_dst:f0:00:0f:16:10:60,load:0x1->NXM_NX_REG10[[6]]
18391-
priority=100,reg0=0xac100146,reg15=0x$rtr_port_key,metadata=0x$rtr_dp_key actions=mod_dl_dst:f0:00:0f:16:10:70,load:0x1->NXM_NX_REG10[[6]]
18392-
priority=100,reg4=0x1720016,reg5=0,reg6=0,reg7=0x50,reg15=0x$rtr_port_key,metadata=0x$rtr_dp_key actions=mod_dl_dst:f0:00:0f:16:10:50,load:0x1->NXM_NX_REG10[[6]]
18393-
priority=100,reg4=0x1720016,reg5=0,reg6=0,reg7=0x60,reg15=0x$rtr_port_key,metadata=0x$rtr_dp_key actions=mod_dl_dst:f0:00:0f:16:10:60,load:0x1->NXM_NX_REG10[[6]]
18394-
priority=100,reg4=0x1720016,reg5=0,reg6=0,reg7=0x70,reg15=0x$rtr_port_key,metadata=0x$rtr_dp_key actions=mod_dl_dst:f0:00:0f:16:10:70,load:0x1->NXM_NX_REG10[[6]]
18395-
])
18396-
18397-
AT_CHECK_UNQUOTED([ovs-ofctl dump-flows br-int table=OFTABLE_MAC_LOOKUP | grep priority | \
18398-
awk '{print $[7], $[8]}' | sort], [0], [dnl
18399-
priority=100,arp,reg0=0xac10010a,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:01:10 actions=load:0x1->NXM_NX_REG10[[6]]
18400-
priority=100,arp,reg0=0xac100132,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:50 actions=load:0x1->NXM_NX_REG10[[6]]
18401-
priority=100,arp,reg0=0xac10013c,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:60 actions=load:0x1->NXM_NX_REG10[[6]]
18402-
priority=100,arp,reg0=0xac100146,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:70 actions=load:0x1->NXM_NX_REG10[[6]]
18403-
priority=100,icmp6,reg0=0x1720016,reg1=0,reg2=0,reg3=0x50,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:50,icmp_code=0 actions=load:0x1->NXM_NX_REG10[[6]]
18404-
priority=100,icmp6,reg0=0x1720016,reg1=0,reg2=0,reg3=0x60,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:60,icmp_code=0 actions=load:0x1->NXM_NX_REG10[[6]]
18405-
priority=100,icmp6,reg0=0x1720016,reg1=0,reg2=0,reg3=0x70,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:70,icmp_code=0 actions=load:0x1->NXM_NX_REG10[[6]]
18406-
])
18407-
18408-
AT_CHECK_UNQUOTED([ovs-ofctl dump-flows br-int table=OFTABLE_MAC_CACHE_USE | grep priority | \
18409-
awk '{print $[7], $[8]}' | sort], [0], [dnl
18410-
priority=100,arp,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:01:10,arp_spa=172.16.1.10,arp_op=2 actions=drop
18411-
priority=100,arp,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:50,arp_spa=172.16.1.50,arp_op=2 actions=drop
18412-
priority=100,arp,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:60,arp_spa=172.16.1.60,arp_op=2 actions=drop
18413-
priority=100,arp,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:70,arp_spa=172.16.1.70,arp_op=2 actions=drop
18414-
priority=100,ip,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:01:10,nw_src=172.16.1.10 actions=drop
18415-
priority=100,ip,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:50,nw_src=172.16.1.50 actions=drop
18416-
priority=100,ip,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:60,nw_src=172.16.1.60 actions=drop
18417-
priority=100,ip,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:70,nw_src=172.16.1.70 actions=drop
18418-
priority=100,ipv6,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:50,ipv6_src=172:16::50 actions=drop
18419-
priority=100,ipv6,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:60,ipv6_src=172:16::60 actions=drop
18420-
priority=100,ipv6,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:70,ipv6_src=172:16::70 actions=drop
18421-
])
18422-
18423-
AS_BOX([Check dynamic-routing-arp-prefer-local=false])
18424-
check ovn-nbctl --wait=hv set Logical_Switch ls-evpn other_config:dynamic-routing-arp-prefer-local=false
18383+
AS_BOX([Check EVPN MAC binding and lookup flows])
1842518384

1842618385
AT_CHECK_UNQUOTED([ovs-ofctl dump-flows br-int table=OFTABLE_MAC_BINDING | grep priority | \
1842718386
awk '{print $[7], $[8]}' | sort], [0], [dnl
@@ -18943,48 +18902,7 @@ wait_row_count MAC_Binding 1 ip="172\:16\:\:50"
1894318902
wait_row_count MAC_Binding 1 ip="172\:16\:\:60"
1894418903
wait_row_count MAC_Binding 1 ip="172\:16\:\:70"
1894518904

18946-
AS_BOX([Check dynamic-routing-arp-prefer-local=true])
18947-
check ovn-nbctl --wait=hv set Logical_Switch ls-evpn other_config:dynamic-routing-arp-prefer-local=true
18948-
18949-
AT_CHECK_UNQUOTED([ovs-ofctl dump-flows br-int table=OFTABLE_MAC_BINDING | grep priority | \
18950-
awk '{print $[7], $[8]}' | sort], [0], [dnl
18951-
priority=100,reg0=0xac10010a,reg15=0x$rtr_port_key,metadata=0x$rtr_dp_key actions=mod_dl_dst:f0:00:0f:16:01:10,load:0x1->NXM_NX_REG10[[6]]
18952-
priority=100,reg0=0xac100132,reg15=0x$rtr_port_key,metadata=0x$rtr_dp_key actions=mod_dl_dst:f0:00:0f:16:10:50,load:0x1->NXM_NX_REG10[[6]]
18953-
priority=100,reg0=0xac10013c,reg15=0x$rtr_port_key,metadata=0x$rtr_dp_key actions=mod_dl_dst:f0:00:0f:16:10:60,load:0x1->NXM_NX_REG10[[6]]
18954-
priority=100,reg0=0xac100146,reg15=0x$rtr_port_key,metadata=0x$rtr_dp_key actions=mod_dl_dst:f0:00:0f:16:10:70,load:0x1->NXM_NX_REG10[[6]]
18955-
priority=100,reg4=0x1720016,reg5=0,reg6=0,reg7=0x50,reg15=0x$rtr_port_key,metadata=0x$rtr_dp_key actions=mod_dl_dst:f0:00:0f:16:10:50,load:0x1->NXM_NX_REG10[[6]]
18956-
priority=100,reg4=0x1720016,reg5=0,reg6=0,reg7=0x60,reg15=0x$rtr_port_key,metadata=0x$rtr_dp_key actions=mod_dl_dst:f0:00:0f:16:10:60,load:0x1->NXM_NX_REG10[[6]]
18957-
priority=100,reg4=0x1720016,reg5=0,reg6=0,reg7=0x70,reg15=0x$rtr_port_key,metadata=0x$rtr_dp_key actions=mod_dl_dst:f0:00:0f:16:10:70,load:0x1->NXM_NX_REG10[[6]]
18958-
])
18959-
18960-
AT_CHECK_UNQUOTED([ovs-ofctl dump-flows br-int table=OFTABLE_MAC_LOOKUP | grep priority | \
18961-
awk '{print $[7], $[8]}' | sort], [0], [dnl
18962-
priority=100,arp,reg0=0xac10010a,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:01:10 actions=load:0x1->NXM_NX_REG10[[6]]
18963-
priority=100,arp,reg0=0xac100132,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:50 actions=load:0x1->NXM_NX_REG10[[6]]
18964-
priority=100,arp,reg0=0xac10013c,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:60 actions=load:0x1->NXM_NX_REG10[[6]]
18965-
priority=100,arp,reg0=0xac100146,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:70 actions=load:0x1->NXM_NX_REG10[[6]]
18966-
priority=100,icmp6,reg0=0x1720016,reg1=0,reg2=0,reg3=0x50,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:50,icmp_code=0 actions=load:0x1->NXM_NX_REG10[[6]]
18967-
priority=100,icmp6,reg0=0x1720016,reg1=0,reg2=0,reg3=0x60,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:60,icmp_code=0 actions=load:0x1->NXM_NX_REG10[[6]]
18968-
priority=100,icmp6,reg0=0x1720016,reg1=0,reg2=0,reg3=0x70,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:70,icmp_code=0 actions=load:0x1->NXM_NX_REG10[[6]]
18969-
])
18970-
18971-
AT_CHECK_UNQUOTED([ovs-ofctl dump-flows br-int table=OFTABLE_MAC_CACHE_USE | grep priority | \
18972-
awk '{print $[7], $[8]}' | sort], [0], [dnl
18973-
priority=100,arp,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:01:10,arp_spa=172.16.1.10,arp_op=2 actions=drop
18974-
priority=100,arp,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:50,arp_spa=172.16.1.50,arp_op=2 actions=drop
18975-
priority=100,arp,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:60,arp_spa=172.16.1.60,arp_op=2 actions=drop
18976-
priority=100,arp,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:70,arp_spa=172.16.1.70,arp_op=2 actions=drop
18977-
priority=100,ip,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:01:10,nw_src=172.16.1.10 actions=drop
18978-
priority=100,ip,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:50,nw_src=172.16.1.50 actions=drop
18979-
priority=100,ip,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:60,nw_src=172.16.1.60 actions=drop
18980-
priority=100,ip,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:70,nw_src=172.16.1.70 actions=drop
18981-
priority=100,ipv6,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:50,ipv6_src=172:16::50 actions=drop
18982-
priority=100,ipv6,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:60,ipv6_src=172:16::60 actions=drop
18983-
priority=100,ipv6,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:70,ipv6_src=172:16::70 actions=drop
18984-
])
18985-
18986-
AS_BOX([Check dynamic-routing-arp-prefer-local=false])
18987-
check ovn-nbctl --wait=hv set Logical_Switch ls-evpn other_config:dynamic-routing-arp-prefer-local=false
18905+
AS_BOX([Check EVPN MAC binding and lookup flows])
1898818906

1898918907
AT_CHECK_UNQUOTED([ovs-ofctl dump-flows br-int table=OFTABLE_MAC_BINDING | grep priority | \
1899018908
awk '{print $[7], $[8]}' | sort], [0], [dnl
@@ -19560,48 +19478,7 @@ wait_row_count MAC_Binding 1 ip="172\:16\:\:50"
1956019478
wait_row_count MAC_Binding 1 ip="172\:16\:\:60"
1956119479
wait_row_count MAC_Binding 1 ip="172\:16\:\:70"
1956219480

19563-
AS_BOX([Check dynamic-routing-arp-prefer-local=true])
19564-
check ovn-nbctl --wait=hv set Logical_Switch ls-evpn other_config:dynamic-routing-arp-prefer-local=true
19565-
19566-
AT_CHECK_UNQUOTED([ovs-ofctl dump-flows br-int table=OFTABLE_MAC_BINDING | grep priority | \
19567-
awk '{print $[7], $[8]}' | sort], [0], [dnl
19568-
priority=100,reg0=0xac10010a,reg15=0x$rtr_port_key,metadata=0x$rtr_dp_key actions=mod_dl_dst:f0:00:0f:16:01:10,load:0x1->NXM_NX_REG10[[6]]
19569-
priority=100,reg0=0xac100132,reg15=0x$rtr_port_key,metadata=0x$rtr_dp_key actions=mod_dl_dst:f0:00:0f:16:10:50,load:0x1->NXM_NX_REG10[[6]]
19570-
priority=100,reg0=0xac10013c,reg15=0x$rtr_port_key,metadata=0x$rtr_dp_key actions=mod_dl_dst:f0:00:0f:16:10:60,load:0x1->NXM_NX_REG10[[6]]
19571-
priority=100,reg0=0xac100146,reg15=0x$rtr_port_key,metadata=0x$rtr_dp_key actions=mod_dl_dst:f0:00:0f:16:10:70,load:0x1->NXM_NX_REG10[[6]]
19572-
priority=100,reg4=0x1720016,reg5=0,reg6=0,reg7=0x50,reg15=0x$rtr_port_key,metadata=0x$rtr_dp_key actions=mod_dl_dst:f0:00:0f:16:10:50,load:0x1->NXM_NX_REG10[[6]]
19573-
priority=100,reg4=0x1720016,reg5=0,reg6=0,reg7=0x60,reg15=0x$rtr_port_key,metadata=0x$rtr_dp_key actions=mod_dl_dst:f0:00:0f:16:10:60,load:0x1->NXM_NX_REG10[[6]]
19574-
priority=100,reg4=0x1720016,reg5=0,reg6=0,reg7=0x70,reg15=0x$rtr_port_key,metadata=0x$rtr_dp_key actions=mod_dl_dst:f0:00:0f:16:10:70,load:0x1->NXM_NX_REG10[[6]]
19575-
])
19576-
19577-
AT_CHECK_UNQUOTED([ovs-ofctl dump-flows br-int table=OFTABLE_MAC_LOOKUP | grep priority | \
19578-
awk '{print $[7], $[8]}' | sort], [0], [dnl
19579-
priority=100,arp,reg0=0xac10010a,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:01:10 actions=load:0x1->NXM_NX_REG10[[6]]
19580-
priority=100,arp,reg0=0xac100132,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:50 actions=load:0x1->NXM_NX_REG10[[6]]
19581-
priority=100,arp,reg0=0xac10013c,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:60 actions=load:0x1->NXM_NX_REG10[[6]]
19582-
priority=100,arp,reg0=0xac100146,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:70 actions=load:0x1->NXM_NX_REG10[[6]]
19583-
priority=100,icmp6,reg0=0x1720016,reg1=0,reg2=0,reg3=0x50,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:50,icmp_code=0 actions=load:0x1->NXM_NX_REG10[[6]]
19584-
priority=100,icmp6,reg0=0x1720016,reg1=0,reg2=0,reg3=0x60,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:60,icmp_code=0 actions=load:0x1->NXM_NX_REG10[[6]]
19585-
priority=100,icmp6,reg0=0x1720016,reg1=0,reg2=0,reg3=0x70,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:70,icmp_code=0 actions=load:0x1->NXM_NX_REG10[[6]]
19586-
])
19587-
19588-
AT_CHECK_UNQUOTED([ovs-ofctl dump-flows br-int table=OFTABLE_MAC_CACHE_USE | grep priority | \
19589-
awk '{print $[7], $[8]}' | sort], [0], [dnl
19590-
priority=100,arp,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:01:10,arp_spa=172.16.1.10,arp_op=2 actions=drop
19591-
priority=100,arp,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:50,arp_spa=172.16.1.50,arp_op=2 actions=drop
19592-
priority=100,arp,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:60,arp_spa=172.16.1.60,arp_op=2 actions=drop
19593-
priority=100,arp,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:70,arp_spa=172.16.1.70,arp_op=2 actions=drop
19594-
priority=100,ip,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:01:10,nw_src=172.16.1.10 actions=drop
19595-
priority=100,ip,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:50,nw_src=172.16.1.50 actions=drop
19596-
priority=100,ip,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:60,nw_src=172.16.1.60 actions=drop
19597-
priority=100,ip,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:70,nw_src=172.16.1.70 actions=drop
19598-
priority=100,ipv6,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:50,ipv6_src=172:16::50 actions=drop
19599-
priority=100,ipv6,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:60,ipv6_src=172:16::60 actions=drop
19600-
priority=100,ipv6,reg14=0x$rtr_port_key,metadata=0x$rtr_dp_key,dl_src=f0:00:0f:16:10:70,ipv6_src=172:16::70 actions=drop
19601-
])
19602-
19603-
AS_BOX([Check dynamic-routing-arp-prefer-local=false])
19604-
check ovn-nbctl --wait=hv set Logical_Switch ls-evpn other_config:dynamic-routing-arp-prefer-local=false
19481+
AS_BOX([Check EVPN MAC binding and lookup flows])
1960519482

1960619483
AT_CHECK_UNQUOTED([ovs-ofctl dump-flows br-int table=OFTABLE_MAC_BINDING | grep priority | \
1960719484
awk '{print $[7], $[8]}' | sort], [0], [dnl

0 commit comments

Comments
 (0)