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
Signed-off-by: Ales Musil <[email protected]>
---
 .../topics/dynamic-routing/architecture.rst   |  22 +--
 NEWS                                          |   5 +
 controller/evpn-arp.c                         |  11 --
 controller/evpn-arp.h                         |   2 -
 controller/neighbor-of.h                      |  16 +--
 controller/physical.c                         |   3 +-
 northd/en-datapath-logical-switch.c           |   7 -
 ovn-nb.xml                                    |  18 ---
 tests/system-ovn.at                           | 129 +-----------------
 9 files changed, 29 insertions(+), 184 deletions(-)

diff --git a/Documentation/topics/dynamic-routing/architecture.rst 
b/Documentation/topics/dynamic-routing/architecture.rst
index 0ea175562..e4be2ccf8 100644
--- a/Documentation/topics/dynamic-routing/architecture.rst
+++ b/Documentation/topics/dynamic-routing/architecture.rst
@@ -630,16 +630,18 @@ Southbound FDB table (populated through normal OVN 
mechanisms) before
 falling back to the locally learned EVPN FDB cache.  By default, the
 EVPN-learned entries take precedence.
 
-Similarly, the ``dynamic-routing-arp-prefer-local`` option controls the
-lookup order for ARP/ND entries: when set to ``true``, the Southbound
-``MAC_Binding`` table is checked before the EVPN-learned neighbor cache.
-
-Unlike IP route exchange, dynamically learned EVPN information
-(remote VTEPs, FDB entries, and ARP/ND neighbors) is **not** stored
-in the OVN Southbound database.  Each ``ovn-controller`` instance
-processes this information locally, in memory.  This design avoids
-the overhead of synchronizing high-volume, rapidly changing L2/L3
-state through the centralized database.
+EVPN-learned ARP/ND entries (Type-2 MAC+IP routes) are written to
+the Southbound ``MAC_Binding`` table and consumed at the same priority
+as dynamically learned entries through the normal lflow pipeline.
+This ensures all chassis see the same MAC bindings without requiring
+a separate preference option.
+
+Unlike IP route exchange, dynamically learned EVPN L2 information
+(remote VTEPs and FDB entries) is **not** stored in the OVN
+Southbound database.  Each ``ovn-controller`` instance processes
+this information locally, in memory.  This design avoids the
+overhead of synchronizing high-volume, rapidly changing L2 state
+through the centralized database.
 
 Local MAC and IP Advertisement
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/NEWS b/NEWS
index 385e35590..667ce5e38 100644
--- a/NEWS
+++ b/NEWS
@@ -70,6 +70,11 @@ Post v26.03.0
        Previously these bindings were local-only OpenFlow flows on the
        chassis running FRR, causing MAC resolution failures for traffic
        originating on other chassis.
+     * Remove the "other_config:dynamic-routing-arp-prefer-local"
+       option from Logical Switches.  EVPN-learned MAC bindings are
+       now written to the SB MAC_Binding table and consumed at the
+       same priority as dynamic entries, making the preference option
+       obsolete.
    - Added "override-connected" option to Logical Router Static Routes to mark
      static routes as higher-priority than connected routes, which in turn led
      to changes in administrative distance for specific route types. Please see
diff --git a/controller/evpn-arp.c b/controller/evpn-arp.c
index f4c3514f4..f5b364cc4 100644
--- a/controller/evpn-arp.c
+++ b/controller/evpn-arp.c
@@ -76,17 +76,6 @@ evpn_arp_run(const struct evpn_arp_ctx_in *arp_ctx_in,
             updated = true;
         }
 
-        enum neigh_of_rule_prio priority =
-            smap_get_bool(&arp->ldp->datapath->external_ids,
-                          "dynamic-routing-arp-prefer-local",
-                          false)
-            ? NEIGH_OF_EVPN_MAC_BINDING_LOW_PRIO
-            : NEIGH_OF_EVPN_MAC_BINDING_HIGH_PRIO;
-        if (arp->priority != priority) {
-            arp->priority = priority;
-            updated = true;
-        }
-
         if (updated) {
             hmapx_add(arp_ctx_out->updated_arps, arp);
         }
diff --git a/controller/evpn-arp.h b/controller/evpn-arp.h
index 7f3a4c0e4..c6de812d1 100644
--- a/controller/evpn-arp.h
+++ b/controller/evpn-arp.h
@@ -53,8 +53,6 @@ struct evpn_arp {
     uint32_t vni;
     /* Logical datapath of the switch this was learned on. */
     const struct local_datapath *ldp;
-    /* Priority to use for this ARP entry at OpenFlow level. */
-    enum neigh_of_rule_prio priority;
 };
 
 void evpn_arp_run(const struct evpn_arp_ctx_in *, struct evpn_arp_ctx_out *);
diff --git a/controller/neighbor-of.h b/controller/neighbor-of.h
index 3d0ba6f3a..d91074a1e 100644
--- a/controller/neighbor-of.h
+++ b/controller/neighbor-of.h
@@ -21,21 +21,19 @@
 #include "ofctrl.h"
 
 /* Priorities of ovn-controller generated flows for various types of MAC
- * Bindings in different situations.  Valid preference orders, based on
- * the "dynamic-routing-arp-prefer-local" logical switch config and the
- * SB.Static_MAC_Binding.override_dynamic_mac value are:
+ * Bindings.  EVPN-learned MAC bindings are written to the SB MAC_Binding
+ * table and consumed through the normal lflow pipeline at the same
+ * priority as dynamic entries.  The EVPN ARP lookup side table (table 113)
+ * uses the dynamic priority as well.  Valid preference orders based on
+ * the SB.Static_MAC_Binding.override_dynamic_mac value are:
  *
- * - EVPN-learned < static-mac-binding < dynamic-mac-binding
- * - EVPN-learned < dynamic-mac-binding < static-mac-binding
- * - static-mac-binding < dynamic-mac-binding < EVPN-learned
- * - dynamic-mac-binding < static-mac-binding < EVPN-learned
+ * - static-mac-binding < dynamic-mac-binding (+ EVPN)
+ * - dynamic-mac-binding (+ EVPN) < static-mac-binding
  */
 enum neigh_of_rule_prio {
-    NEIGH_OF_EVPN_MAC_BINDING_LOW_PRIO    = 20,
     NEIGH_OF_STATIC_MAC_BINDING_LOW_PRIO  = 50,
     NEIGH_OF_DYNAMIC_MAC_BINDING_PRIO     = 100,
     NEIGH_OF_STATIC_MAC_BINDING_HIGH_PRIO = 150,
-    NEIGH_OF_EVPN_MAC_BINDING_HIGH_PRIO   = 200,
 };
 
 void
diff --git a/controller/physical.c b/controller/physical.c
index 8a70f913c..b3b247e20 100644
--- a/controller/physical.c
+++ b/controller/physical.c
@@ -3738,7 +3738,8 @@ physical_consider_evpn_arp(const struct evpn_arp *arp,
     /* Set the EVPN lookup result bit. */
     put_load(1, MFF_LOG_FLAGS, MLF_EVPN_LOOKUP_BIT, 1, ofpacts);
 
-    ofctrl_add_flow(flow_table, OFTABLE_EVPN_ARP_LOOKUP, arp->priority,
+    ofctrl_add_flow(flow_table, OFTABLE_EVPN_ARP_LOOKUP,
+                    NEIGH_OF_DYNAMIC_MAC_BINDING_PRIO,
                     arp->flow_uuid.parts[0], match, ofpacts,
                     &arp->flow_uuid);
 }
diff --git a/northd/en-datapath-logical-switch.c 
b/northd/en-datapath-logical-switch.c
index ad6d042bc..874a608a7 100644
--- a/northd/en-datapath-logical-switch.c
+++ b/northd/en-datapath-logical-switch.c
@@ -173,13 +173,6 @@ gather_external_ids(const struct nbrec_logical_switch *nbs,
             smap_add(external_ids, "dynamic-routing-redistribute",
                      redistribute);
         }
-
-        const char *prefer_evpn_arp_local =
-            smap_get(&nbs->other_config, "dynamic-routing-arp-prefer-local");
-        if (prefer_evpn_arp_local) {
-            smap_add(external_ids, "dynamic-routing-arp-prefer-local",
-                     prefer_evpn_arp_local);
-        }
     }
 
     /* For backwards-compatibility, also store the NB UUID in
diff --git a/ovn-nb.xml b/ovn-nb.xml
index 8a9d19fa9..44cfab039 100644
--- a/ovn-nb.xml
+++ b/ovn-nb.xml
@@ -1014,24 +1014,6 @@
         </p>
       </column>
 
-      <column name="other_config" key="dynamic-routing-arp-prefer-local"
-              type='{"type": "boolean"}'>
-        <p>
-          This option defines the preference of ARP/ND lookup.  If set to
-          true OVN routers connected to EVPN Logical Switches on which remote
-          neighbor entries have been learned (Type-2 MAC+IP EVPN routes) will
-          give precedence to any ARP/ND entries they might have in the SB
-          <code>Mac_Binding</code> table before trying to resolve the MAC
-          address via the <code>ovn-controller</code> local EVPN ARP/ND cache.
-          The option defaults to false.
-        </p>
-
-        <p>
-          Only relevant if <ref column="other_config" key="dynamic-routing-vni"
-                                table="Logical_switch"/> is set to valid VNI.
-        </p>
-      </column>
-
       <column name="other_config" key="dynamic-routing-redistribute"
               type='{"type": "string"}'>
         <p>
diff --git a/tests/system-ovn.at b/tests/system-ovn.at
index 9fc27f976..30c4f4984 100644
--- a/tests/system-ovn.at
+++ b/tests/system-ovn.at
@@ -18533,48 +18533,7 @@ wait_row_count MAC_Binding 1 ip="172\:16\:\:50"
 wait_row_count MAC_Binding 1 ip="172\:16\:\:60"
 wait_row_count MAC_Binding 1 ip="172\:16\:\:70"
 
-AS_BOX([Check dynamic-routing-arp-prefer-local=true])
-check ovn-nbctl --wait=hv set Logical_Switch ls-evpn 
other_config:dynamic-routing-arp-prefer-local=true
-
-AT_CHECK_UNQUOTED([ovs-ofctl dump-flows br-int table=OFTABLE_MAC_BINDING | 
grep priority | \
-                   awk '{print $[7], $[8]}' | sort], [0], [dnl
-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]]
-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]]
-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]]
-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]]
-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]]
-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]]
-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]]
-])
-
-AT_CHECK_UNQUOTED([ovs-ofctl dump-flows br-int table=OFTABLE_MAC_LOOKUP | grep 
priority | \
-                   awk '{print $[7], $[8]}' | sort], [0], [dnl
-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]]
-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]]
-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]]
-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]]
-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]]
-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]]
-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]]
-])
-
-AT_CHECK_UNQUOTED([ovs-ofctl dump-flows br-int table=OFTABLE_MAC_CACHE_USE | 
grep priority | \
-                   awk '{print $[7], $[8]}' | sort], [0], [dnl
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-])
-
-AS_BOX([Check dynamic-routing-arp-prefer-local=false])
-check ovn-nbctl --wait=hv set Logical_Switch ls-evpn 
other_config:dynamic-routing-arp-prefer-local=false
+AS_BOX([Check EVPN MAC binding and lookup flows])
 
 AT_CHECK_UNQUOTED([ovs-ofctl dump-flows br-int table=OFTABLE_MAC_BINDING | 
grep priority | \
                    awk '{print $[7], $[8]}' | sort], [0], [dnl
@@ -19253,48 +19212,7 @@ wait_row_count MAC_Binding 1 ip="172\:16\:\:50"
 wait_row_count MAC_Binding 1 ip="172\:16\:\:60"
 wait_row_count MAC_Binding 1 ip="172\:16\:\:70"
 
-AS_BOX([Check dynamic-routing-arp-prefer-local=true])
-check ovn-nbctl --wait=hv set Logical_Switch ls-evpn 
other_config:dynamic-routing-arp-prefer-local=true
-
-AT_CHECK_UNQUOTED([ovs-ofctl dump-flows br-int table=OFTABLE_MAC_BINDING | 
grep priority | \
-                   awk '{print $[7], $[8]}' | sort], [0], [dnl
-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]]
-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]]
-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]]
-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]]
-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]]
-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]]
-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]]
-])
-
-AT_CHECK_UNQUOTED([ovs-ofctl dump-flows br-int table=OFTABLE_MAC_LOOKUP | grep 
priority | \
-                   awk '{print $[7], $[8]}' | sort], [0], [dnl
-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]]
-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]]
-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]]
-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]]
-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]]
-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]]
-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]]
-])
-
-AT_CHECK_UNQUOTED([ovs-ofctl dump-flows br-int table=OFTABLE_MAC_CACHE_USE | 
grep priority | \
-                   awk '{print $[7], $[8]}' | sort], [0], [dnl
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-])
-
-AS_BOX([Check dynamic-routing-arp-prefer-local=false])
-check ovn-nbctl --wait=hv set Logical_Switch ls-evpn 
other_config:dynamic-routing-arp-prefer-local=false
+AS_BOX([Check EVPN MAC binding and lookup flows])
 
 AT_CHECK_UNQUOTED([ovs-ofctl dump-flows br-int table=OFTABLE_MAC_BINDING | 
grep priority | \
                    awk '{print $[7], $[8]}' | sort], [0], [dnl
@@ -19870,48 +19788,7 @@ wait_row_count MAC_Binding 1 ip="172\:16\:\:50"
 wait_row_count MAC_Binding 1 ip="172\:16\:\:60"
 wait_row_count MAC_Binding 1 ip="172\:16\:\:70"
 
-AS_BOX([Check dynamic-routing-arp-prefer-local=true])
-check ovn-nbctl --wait=hv set Logical_Switch ls-evpn 
other_config:dynamic-routing-arp-prefer-local=true
-
-AT_CHECK_UNQUOTED([ovs-ofctl dump-flows br-int table=OFTABLE_MAC_BINDING | 
grep priority | \
-                   awk '{print $[7], $[8]}' | sort], [0], [dnl
-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]]
-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]]
-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]]
-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]]
-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]]
-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]]
-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]]
-])
-
-AT_CHECK_UNQUOTED([ovs-ofctl dump-flows br-int table=OFTABLE_MAC_LOOKUP | grep 
priority | \
-                   awk '{print $[7], $[8]}' | sort], [0], [dnl
-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]]
-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]]
-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]]
-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]]
-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]]
-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]]
-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]]
-])
-
-AT_CHECK_UNQUOTED([ovs-ofctl dump-flows br-int table=OFTABLE_MAC_CACHE_USE | 
grep priority | \
-                   awk '{print $[7], $[8]}' | sort], [0], [dnl
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-])
-
-AS_BOX([Check dynamic-routing-arp-prefer-local=false])
-check ovn-nbctl --wait=hv set Logical_Switch ls-evpn 
other_config:dynamic-routing-arp-prefer-local=false
+AS_BOX([Check EVPN MAC binding and lookup flows])
 
 AT_CHECK_UNQUOTED([ovs-ofctl dump-flows br-int table=OFTABLE_MAC_BINDING | 
grep priority | \
                    awk '{print $[7], $[8]}' | sort], [0], [dnl
-- 
2.55.0

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to