Message ID | 20210802175626.2917748-1-hzhou@ovn.org |
---|---|
State | Accepted |
Headers | show |
Series | [ovs-dev] ovn-controller: Remove has_local_l3gateway from struct local_datapath. | expand |
Context | Check | Description |
---|---|---|
ovsrobot/apply-robot | success | apply and check: success |
On Mon, Aug 2, 2021 at 1:57 PM Han Zhou <hzhou@ovn.org> wrote: > > Now this field is not really useful. Remove all the related code. > > Signed-off-by: Han Zhou <hzhou@ovn.org> Acked-by: Numan Siddique <numans@ovn.org> Thanks for removing this. Can you please update the commit message on why it is not used anymore ? or what was the reason it was added earlier ? For more clarity in case you can figure it out easily. I'm fine otherwise. Thanks Numan > --- > controller/binding.c | 44 ++++++++++++------------------------- > controller/ovn-controller.h | 4 ---- > controller/pinctrl.c | 2 +- > 3 files changed, 15 insertions(+), 35 deletions(-) > > diff --git a/controller/binding.c b/controller/binding.c > index d50f3affa..0bf6091f9 100644 > --- a/controller/binding.c > +++ b/controller/binding.c > @@ -91,16 +91,12 @@ add_local_datapath__(struct ovsdb_idl_index *sbrec_datapath_binding_by_key, > struct ovsdb_idl_index *sbrec_port_binding_by_datapath, > struct ovsdb_idl_index *sbrec_port_binding_by_name, > const struct sbrec_datapath_binding *datapath, > - bool has_local_l3gateway, int depth, > - struct hmap *local_datapaths, > + int depth, struct hmap *local_datapaths, > struct hmap *tracked_datapaths) > { > uint32_t dp_key = datapath->tunnel_key; > struct local_datapath *ld = get_local_datapath(local_datapaths, dp_key); > if (ld) { > - if (has_local_l3gateway) { > - ld->has_local_l3gateway = true; > - } > return; > } > > @@ -109,7 +105,6 @@ add_local_datapath__(struct ovsdb_idl_index *sbrec_datapath_binding_by_key, > ld->datapath = datapath; > ld->localnet_port = NULL; > shash_init(&ld->external_ports); > - ld->has_local_l3gateway = has_local_l3gateway; > > if (tracked_datapaths) { > struct tracked_binding_datapath *tdp = > @@ -158,7 +153,7 @@ add_local_datapath__(struct ovsdb_idl_index *sbrec_datapath_binding_by_key, > add_local_datapath__(sbrec_datapath_binding_by_key, > sbrec_port_binding_by_datapath, > sbrec_port_binding_by_name, > - peer->datapath, false, > + peer->datapath, > depth + 1, local_datapaths, > tracked_datapaths); > } > @@ -183,13 +178,13 @@ add_local_datapath(struct ovsdb_idl_index *sbrec_datapath_binding_by_key, > struct ovsdb_idl_index *sbrec_port_binding_by_datapath, > struct ovsdb_idl_index *sbrec_port_binding_by_name, > const struct sbrec_datapath_binding *datapath, > - bool has_local_l3gateway, struct hmap *local_datapaths, > + struct hmap *local_datapaths, > struct hmap *tracked_datapaths) > { > add_local_datapath__(sbrec_datapath_binding_by_key, > sbrec_port_binding_by_datapath, > sbrec_port_binding_by_name, > - datapath, has_local_l3gateway, 0, local_datapaths, > + datapath, 0, local_datapaths, > tracked_datapaths); > } > > @@ -1267,7 +1262,7 @@ consider_vif_lport_(const struct sbrec_port_binding *pb, > add_local_datapath(b_ctx_in->sbrec_datapath_binding_by_key, > b_ctx_in->sbrec_port_binding_by_datapath, > b_ctx_in->sbrec_port_binding_by_name, > - pb->datapath, false, > + pb->datapath, > b_ctx_out->local_datapaths, > b_ctx_out->tracked_dp_bindings); > update_related_lport(pb, b_ctx_out); > @@ -1473,7 +1468,6 @@ consider_virtual_lport(const struct sbrec_port_binding *pb, > static bool > consider_nonvif_lport_(const struct sbrec_port_binding *pb, > bool our_chassis, > - bool has_local_l3gateway, > struct binding_ctx_in *b_ctx_in, > struct binding_ctx_out *b_ctx_out) > { > @@ -1482,7 +1476,7 @@ consider_nonvif_lport_(const struct sbrec_port_binding *pb, > add_local_datapath(b_ctx_in->sbrec_datapath_binding_by_key, > b_ctx_in->sbrec_port_binding_by_datapath, > b_ctx_in->sbrec_port_binding_by_name, > - pb->datapath, has_local_l3gateway, > + pb->datapath, > b_ctx_out->local_datapaths, > b_ctx_out->tracked_dp_bindings); > > @@ -1509,7 +1503,7 @@ consider_l2gw_lport(const struct sbrec_port_binding *pb, > bool our_chassis = chassis_id && !strcmp(chassis_id, > b_ctx_in->chassis_rec->name); > > - return consider_nonvif_lport_(pb, our_chassis, false, b_ctx_in, b_ctx_out); > + return consider_nonvif_lport_(pb, our_chassis, b_ctx_in, b_ctx_out); > } > > static bool > @@ -1521,7 +1515,7 @@ consider_l3gw_lport(const struct sbrec_port_binding *pb, > bool our_chassis = chassis_id && !strcmp(chassis_id, > b_ctx_in->chassis_rec->name); > > - return consider_nonvif_lport_(pb, our_chassis, true, b_ctx_in, b_ctx_out); > + return consider_nonvif_lport_(pb, our_chassis, b_ctx_in, b_ctx_out); > } > > static void > @@ -1565,13 +1559,13 @@ consider_ha_lport(const struct sbrec_port_binding *pb, > add_local_datapath(b_ctx_in->sbrec_datapath_binding_by_key, > b_ctx_in->sbrec_port_binding_by_datapath, > b_ctx_in->sbrec_port_binding_by_name, > - pb->datapath, false, > + pb->datapath, > b_ctx_out->local_datapaths, > b_ctx_out->tracked_dp_bindings); > update_related_lport(pb, b_ctx_out); > } > > - return consider_nonvif_lport_(pb, our_chassis, false, b_ctx_in, b_ctx_out); > + return consider_nonvif_lport_(pb, our_chassis, b_ctx_in, b_ctx_out); > } > > static bool > @@ -1907,7 +1901,7 @@ add_local_datapath_peer_port(const struct sbrec_port_binding *pb, > add_local_datapath__(b_ctx_in->sbrec_datapath_binding_by_key, > b_ctx_in->sbrec_port_binding_by_datapath, > b_ctx_in->sbrec_port_binding_by_name, > - peer->datapath, false, > + peer->datapath, > 1, b_ctx_out->local_datapaths, > b_ctx_out->tracked_dp_bindings); > return; > @@ -1967,7 +1961,6 @@ remove_local_datapath_peer_port(const struct sbrec_port_binding *pb, > > static void > remove_pb_from_local_datapath(const struct sbrec_port_binding *pb, > - const struct sbrec_chassis *chassis_rec, > struct binding_ctx_out *b_ctx_out, > struct local_datapath *ld) > { > @@ -1983,14 +1976,6 @@ remove_pb_from_local_datapath(const struct sbrec_port_binding *pb, > } else if (!strcmp(pb->type, "external")) { > shash_find_and_delete(&ld->external_ports, pb->logical_port); > } > - > - if (!strcmp(pb->type, "l3gateway")) { > - const char *chassis_id = smap_get(&pb->options, > - "l3gateway-chassis"); > - if (chassis_id && !strcmp(chassis_id, chassis_rec->name)) { > - ld->has_local_l3gateway = false; > - } > - } > } > > static void > @@ -2100,7 +2085,6 @@ consider_iface_release(const struct ovsrec_interface *iface_rec, > b_lport->pb->datapath->tunnel_key); > if (ld) { > remove_pb_from_local_datapath(b_lport->pb, > - b_ctx_in->chassis_rec, > b_ctx_out, ld); > } > > @@ -2307,7 +2291,7 @@ handle_deleted_lport(const struct sbrec_port_binding *pb, > get_local_datapath(b_ctx_out->local_datapaths, > pb->datapath->tunnel_key); > if (ld) { > - remove_pb_from_local_datapath(pb, b_ctx_in->chassis_rec, > + remove_pb_from_local_datapath(pb, > b_ctx_out, ld); > return; > } > @@ -2320,7 +2304,7 @@ handle_deleted_lport(const struct sbrec_port_binding *pb, > ld = get_local_datapath(b_ctx_out->local_datapaths, > pb->datapath->tunnel_key); > if (ld) { > - remove_pb_from_local_datapath(pb, b_ctx_in->chassis_rec, b_ctx_out, > + remove_pb_from_local_datapath(pb, b_ctx_out, > ld); > } > } > @@ -2609,7 +2593,7 @@ delete_done: > b_ctx_in->sbrec_datapath_binding_by_key, > b_ctx_in->sbrec_port_binding_by_datapath, > b_ctx_in->sbrec_port_binding_by_name, > - pb->datapath, false, > + pb->datapath, > b_ctx_out->local_datapaths, > b_ctx_out->tracked_dp_bindings); > } > diff --git a/controller/ovn-controller.h b/controller/ovn-controller.h > index b864ed0fa..a3aa6ebd3 100644 > --- a/controller/ovn-controller.h > +++ b/controller/ovn-controller.h > @@ -56,10 +56,6 @@ struct local_datapath { > /* The localnet port in this datapath, if any (at most one is allowed). */ > const struct sbrec_port_binding *localnet_port; > > - /* True if this datapath contains an l3gateway port located on this > - * hypervisor. */ > - bool has_local_l3gateway; > - > struct { > const struct sbrec_port_binding *local; > const struct sbrec_port_binding *remote; > diff --git a/controller/pinctrl.c b/controller/pinctrl.c > index 8e4c4d18c..d7166b0a9 100644 > --- a/controller/pinctrl.c > +++ b/controller/pinctrl.c > @@ -5521,7 +5521,7 @@ get_localnet_vifs_l3gwports( > sbrec_port_binding_index_set_datapath(target, ld->datapath); > SBREC_PORT_BINDING_FOR_EACH_EQUAL (pb, target, > sbrec_port_binding_by_datapath) { > - if ((ld->has_local_l3gateway && !strcmp(pb->type, "l3gateway")) > + if (!strcmp(pb->type, "l3gateway") > || !strcmp(pb->type, "patch")) { > sset_add(local_l3gw_ports, pb->logical_port); > } > -- > 2.30.2 > > _______________________________________________ > dev mailing list > dev@openvswitch.org > https://mail.openvswitch.org/mailman/listinfo/ovs-dev >
On Mon, Aug 2, 2021 at 11:45 AM Numan Siddique <numans@ovn.org> wrote: > > On Mon, Aug 2, 2021 at 1:57 PM Han Zhou <hzhou@ovn.org> wrote: > > > > Now this field is not really useful. Remove all the related code. > > > > Signed-off-by: Han Zhou <hzhou@ovn.org> > > Acked-by: Numan Siddique <numans@ovn.org> > > Thanks for removing this. Can you please update the commit message on why > it is not used anymore ? or what was the reason it was added earlier ? For more > clarity in case you can figure it out easily. > > I'm fine otherwise. > Thanks Numan. I updated the commit message with more details and applied. > Thanks > Numan > > > --- > > controller/binding.c | 44 ++++++++++++------------------------- > > controller/ovn-controller.h | 4 ---- > > controller/pinctrl.c | 2 +- > > 3 files changed, 15 insertions(+), 35 deletions(-) > > > > diff --git a/controller/binding.c b/controller/binding.c > > index d50f3affa..0bf6091f9 100644 > > --- a/controller/binding.c > > +++ b/controller/binding.c > > @@ -91,16 +91,12 @@ add_local_datapath__(struct ovsdb_idl_index *sbrec_datapath_binding_by_key, > > struct ovsdb_idl_index *sbrec_port_binding_by_datapath, > > struct ovsdb_idl_index *sbrec_port_binding_by_name, > > const struct sbrec_datapath_binding *datapath, > > - bool has_local_l3gateway, int depth, > > - struct hmap *local_datapaths, > > + int depth, struct hmap *local_datapaths, > > struct hmap *tracked_datapaths) > > { > > uint32_t dp_key = datapath->tunnel_key; > > struct local_datapath *ld = get_local_datapath(local_datapaths, dp_key); > > if (ld) { > > - if (has_local_l3gateway) { > > - ld->has_local_l3gateway = true; > > - } > > return; > > } > > > > @@ -109,7 +105,6 @@ add_local_datapath__(struct ovsdb_idl_index *sbrec_datapath_binding_by_key, > > ld->datapath = datapath; > > ld->localnet_port = NULL; > > shash_init(&ld->external_ports); > > - ld->has_local_l3gateway = has_local_l3gateway; > > > > if (tracked_datapaths) { > > struct tracked_binding_datapath *tdp = > > @@ -158,7 +153,7 @@ add_local_datapath__(struct ovsdb_idl_index *sbrec_datapath_binding_by_key, > > add_local_datapath__(sbrec_datapath_binding_by_key, > > sbrec_port_binding_by_datapath, > > sbrec_port_binding_by_name, > > - peer->datapath, false, > > + peer->datapath, > > depth + 1, local_datapaths, > > tracked_datapaths); > > } > > @@ -183,13 +178,13 @@ add_local_datapath(struct ovsdb_idl_index *sbrec_datapath_binding_by_key, > > struct ovsdb_idl_index *sbrec_port_binding_by_datapath, > > struct ovsdb_idl_index *sbrec_port_binding_by_name, > > const struct sbrec_datapath_binding *datapath, > > - bool has_local_l3gateway, struct hmap *local_datapaths, > > + struct hmap *local_datapaths, > > struct hmap *tracked_datapaths) > > { > > add_local_datapath__(sbrec_datapath_binding_by_key, > > sbrec_port_binding_by_datapath, > > sbrec_port_binding_by_name, > > - datapath, has_local_l3gateway, 0, local_datapaths, > > + datapath, 0, local_datapaths, > > tracked_datapaths); > > } > > > > @@ -1267,7 +1262,7 @@ consider_vif_lport_(const struct sbrec_port_binding *pb, > > add_local_datapath(b_ctx_in->sbrec_datapath_binding_by_key, > > b_ctx_in->sbrec_port_binding_by_datapath, > > b_ctx_in->sbrec_port_binding_by_name, > > - pb->datapath, false, > > + pb->datapath, > > b_ctx_out->local_datapaths, > > b_ctx_out->tracked_dp_bindings); > > update_related_lport(pb, b_ctx_out); > > @@ -1473,7 +1468,6 @@ consider_virtual_lport(const struct sbrec_port_binding *pb, > > static bool > > consider_nonvif_lport_(const struct sbrec_port_binding *pb, > > bool our_chassis, > > - bool has_local_l3gateway, > > struct binding_ctx_in *b_ctx_in, > > struct binding_ctx_out *b_ctx_out) > > { > > @@ -1482,7 +1476,7 @@ consider_nonvif_lport_(const struct sbrec_port_binding *pb, > > add_local_datapath(b_ctx_in->sbrec_datapath_binding_by_key, > > b_ctx_in->sbrec_port_binding_by_datapath, > > b_ctx_in->sbrec_port_binding_by_name, > > - pb->datapath, has_local_l3gateway, > > + pb->datapath, > > b_ctx_out->local_datapaths, > > b_ctx_out->tracked_dp_bindings); > > > > @@ -1509,7 +1503,7 @@ consider_l2gw_lport(const struct sbrec_port_binding *pb, > > bool our_chassis = chassis_id && !strcmp(chassis_id, > > b_ctx_in->chassis_rec->name); > > > > - return consider_nonvif_lport_(pb, our_chassis, false, b_ctx_in, b_ctx_out); > > + return consider_nonvif_lport_(pb, our_chassis, b_ctx_in, b_ctx_out); > > } > > > > static bool > > @@ -1521,7 +1515,7 @@ consider_l3gw_lport(const struct sbrec_port_binding *pb, > > bool our_chassis = chassis_id && !strcmp(chassis_id, > > b_ctx_in->chassis_rec->name); > > > > - return consider_nonvif_lport_(pb, our_chassis, true, b_ctx_in, b_ctx_out); > > + return consider_nonvif_lport_(pb, our_chassis, b_ctx_in, b_ctx_out); > > } > > > > static void > > @@ -1565,13 +1559,13 @@ consider_ha_lport(const struct sbrec_port_binding *pb, > > add_local_datapath(b_ctx_in->sbrec_datapath_binding_by_key, > > b_ctx_in->sbrec_port_binding_by_datapath, > > b_ctx_in->sbrec_port_binding_by_name, > > - pb->datapath, false, > > + pb->datapath, > > b_ctx_out->local_datapaths, > > b_ctx_out->tracked_dp_bindings); > > update_related_lport(pb, b_ctx_out); > > } > > > > - return consider_nonvif_lport_(pb, our_chassis, false, b_ctx_in, b_ctx_out); > > + return consider_nonvif_lport_(pb, our_chassis, b_ctx_in, b_ctx_out); > > } > > > > static bool > > @@ -1907,7 +1901,7 @@ add_local_datapath_peer_port(const struct sbrec_port_binding *pb, > > add_local_datapath__(b_ctx_in->sbrec_datapath_binding_by_key, > > b_ctx_in->sbrec_port_binding_by_datapath, > > b_ctx_in->sbrec_port_binding_by_name, > > - peer->datapath, false, > > + peer->datapath, > > 1, b_ctx_out->local_datapaths, > > b_ctx_out->tracked_dp_bindings); > > return; > > @@ -1967,7 +1961,6 @@ remove_local_datapath_peer_port(const struct sbrec_port_binding *pb, > > > > static void > > remove_pb_from_local_datapath(const struct sbrec_port_binding *pb, > > - const struct sbrec_chassis *chassis_rec, > > struct binding_ctx_out *b_ctx_out, > > struct local_datapath *ld) > > { > > @@ -1983,14 +1976,6 @@ remove_pb_from_local_datapath(const struct sbrec_port_binding *pb, > > } else if (!strcmp(pb->type, "external")) { > > shash_find_and_delete(&ld->external_ports, pb->logical_port); > > } > > - > > - if (!strcmp(pb->type, "l3gateway")) { > > - const char *chassis_id = smap_get(&pb->options, > > - "l3gateway-chassis"); > > - if (chassis_id && !strcmp(chassis_id, chassis_rec->name)) { > > - ld->has_local_l3gateway = false; > > - } > > - } > > } > > > > static void > > @@ -2100,7 +2085,6 @@ consider_iface_release(const struct ovsrec_interface *iface_rec, > > b_lport->pb->datapath->tunnel_key); > > if (ld) { > > remove_pb_from_local_datapath(b_lport->pb, > > - b_ctx_in->chassis_rec, > > b_ctx_out, ld); > > } > > > > @@ -2307,7 +2291,7 @@ handle_deleted_lport(const struct sbrec_port_binding *pb, > > get_local_datapath(b_ctx_out->local_datapaths, > > pb->datapath->tunnel_key); > > if (ld) { > > - remove_pb_from_local_datapath(pb, b_ctx_in->chassis_rec, > > + remove_pb_from_local_datapath(pb, > > b_ctx_out, ld); > > return; > > } > > @@ -2320,7 +2304,7 @@ handle_deleted_lport(const struct sbrec_port_binding *pb, > > ld = get_local_datapath(b_ctx_out->local_datapaths, > > pb->datapath->tunnel_key); > > if (ld) { > > - remove_pb_from_local_datapath(pb, b_ctx_in->chassis_rec, b_ctx_out, > > + remove_pb_from_local_datapath(pb, b_ctx_out, > > ld); > > } > > } > > @@ -2609,7 +2593,7 @@ delete_done: > > b_ctx_in->sbrec_datapath_binding_by_key, > > b_ctx_in->sbrec_port_binding_by_datapath, > > b_ctx_in->sbrec_port_binding_by_name, > > - pb->datapath, false, > > + pb->datapath, > > b_ctx_out->local_datapaths, > > b_ctx_out->tracked_dp_bindings); > > } > > diff --git a/controller/ovn-controller.h b/controller/ovn-controller.h > > index b864ed0fa..a3aa6ebd3 100644 > > --- a/controller/ovn-controller.h > > +++ b/controller/ovn-controller.h > > @@ -56,10 +56,6 @@ struct local_datapath { > > /* The localnet port in this datapath, if any (at most one is allowed). */ > > const struct sbrec_port_binding *localnet_port; > > > > - /* True if this datapath contains an l3gateway port located on this > > - * hypervisor. */ > > - bool has_local_l3gateway; > > - > > struct { > > const struct sbrec_port_binding *local; > > const struct sbrec_port_binding *remote; > > diff --git a/controller/pinctrl.c b/controller/pinctrl.c > > index 8e4c4d18c..d7166b0a9 100644 > > --- a/controller/pinctrl.c > > +++ b/controller/pinctrl.c > > @@ -5521,7 +5521,7 @@ get_localnet_vifs_l3gwports( > > sbrec_port_binding_index_set_datapath(target, ld->datapath); > > SBREC_PORT_BINDING_FOR_EACH_EQUAL (pb, target, > > sbrec_port_binding_by_datapath) { > > - if ((ld->has_local_l3gateway && !strcmp(pb->type, "l3gateway")) > > + if (!strcmp(pb->type, "l3gateway") > > || !strcmp(pb->type, "patch")) { > > sset_add(local_l3gw_ports, pb->logical_port); > > } > > -- > > 2.30.2 > > > > _______________________________________________ > > dev mailing list > > dev@openvswitch.org > > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > >
diff --git a/controller/binding.c b/controller/binding.c index d50f3affa..0bf6091f9 100644 --- a/controller/binding.c +++ b/controller/binding.c @@ -91,16 +91,12 @@ add_local_datapath__(struct ovsdb_idl_index *sbrec_datapath_binding_by_key, struct ovsdb_idl_index *sbrec_port_binding_by_datapath, struct ovsdb_idl_index *sbrec_port_binding_by_name, const struct sbrec_datapath_binding *datapath, - bool has_local_l3gateway, int depth, - struct hmap *local_datapaths, + int depth, struct hmap *local_datapaths, struct hmap *tracked_datapaths) { uint32_t dp_key = datapath->tunnel_key; struct local_datapath *ld = get_local_datapath(local_datapaths, dp_key); if (ld) { - if (has_local_l3gateway) { - ld->has_local_l3gateway = true; - } return; } @@ -109,7 +105,6 @@ add_local_datapath__(struct ovsdb_idl_index *sbrec_datapath_binding_by_key, ld->datapath = datapath; ld->localnet_port = NULL; shash_init(&ld->external_ports); - ld->has_local_l3gateway = has_local_l3gateway; if (tracked_datapaths) { struct tracked_binding_datapath *tdp = @@ -158,7 +153,7 @@ add_local_datapath__(struct ovsdb_idl_index *sbrec_datapath_binding_by_key, add_local_datapath__(sbrec_datapath_binding_by_key, sbrec_port_binding_by_datapath, sbrec_port_binding_by_name, - peer->datapath, false, + peer->datapath, depth + 1, local_datapaths, tracked_datapaths); } @@ -183,13 +178,13 @@ add_local_datapath(struct ovsdb_idl_index *sbrec_datapath_binding_by_key, struct ovsdb_idl_index *sbrec_port_binding_by_datapath, struct ovsdb_idl_index *sbrec_port_binding_by_name, const struct sbrec_datapath_binding *datapath, - bool has_local_l3gateway, struct hmap *local_datapaths, + struct hmap *local_datapaths, struct hmap *tracked_datapaths) { add_local_datapath__(sbrec_datapath_binding_by_key, sbrec_port_binding_by_datapath, sbrec_port_binding_by_name, - datapath, has_local_l3gateway, 0, local_datapaths, + datapath, 0, local_datapaths, tracked_datapaths); } @@ -1267,7 +1262,7 @@ consider_vif_lport_(const struct sbrec_port_binding *pb, add_local_datapath(b_ctx_in->sbrec_datapath_binding_by_key, b_ctx_in->sbrec_port_binding_by_datapath, b_ctx_in->sbrec_port_binding_by_name, - pb->datapath, false, + pb->datapath, b_ctx_out->local_datapaths, b_ctx_out->tracked_dp_bindings); update_related_lport(pb, b_ctx_out); @@ -1473,7 +1468,6 @@ consider_virtual_lport(const struct sbrec_port_binding *pb, static bool consider_nonvif_lport_(const struct sbrec_port_binding *pb, bool our_chassis, - bool has_local_l3gateway, struct binding_ctx_in *b_ctx_in, struct binding_ctx_out *b_ctx_out) { @@ -1482,7 +1476,7 @@ consider_nonvif_lport_(const struct sbrec_port_binding *pb, add_local_datapath(b_ctx_in->sbrec_datapath_binding_by_key, b_ctx_in->sbrec_port_binding_by_datapath, b_ctx_in->sbrec_port_binding_by_name, - pb->datapath, has_local_l3gateway, + pb->datapath, b_ctx_out->local_datapaths, b_ctx_out->tracked_dp_bindings); @@ -1509,7 +1503,7 @@ consider_l2gw_lport(const struct sbrec_port_binding *pb, bool our_chassis = chassis_id && !strcmp(chassis_id, b_ctx_in->chassis_rec->name); - return consider_nonvif_lport_(pb, our_chassis, false, b_ctx_in, b_ctx_out); + return consider_nonvif_lport_(pb, our_chassis, b_ctx_in, b_ctx_out); } static bool @@ -1521,7 +1515,7 @@ consider_l3gw_lport(const struct sbrec_port_binding *pb, bool our_chassis = chassis_id && !strcmp(chassis_id, b_ctx_in->chassis_rec->name); - return consider_nonvif_lport_(pb, our_chassis, true, b_ctx_in, b_ctx_out); + return consider_nonvif_lport_(pb, our_chassis, b_ctx_in, b_ctx_out); } static void @@ -1565,13 +1559,13 @@ consider_ha_lport(const struct sbrec_port_binding *pb, add_local_datapath(b_ctx_in->sbrec_datapath_binding_by_key, b_ctx_in->sbrec_port_binding_by_datapath, b_ctx_in->sbrec_port_binding_by_name, - pb->datapath, false, + pb->datapath, b_ctx_out->local_datapaths, b_ctx_out->tracked_dp_bindings); update_related_lport(pb, b_ctx_out); } - return consider_nonvif_lport_(pb, our_chassis, false, b_ctx_in, b_ctx_out); + return consider_nonvif_lport_(pb, our_chassis, b_ctx_in, b_ctx_out); } static bool @@ -1907,7 +1901,7 @@ add_local_datapath_peer_port(const struct sbrec_port_binding *pb, add_local_datapath__(b_ctx_in->sbrec_datapath_binding_by_key, b_ctx_in->sbrec_port_binding_by_datapath, b_ctx_in->sbrec_port_binding_by_name, - peer->datapath, false, + peer->datapath, 1, b_ctx_out->local_datapaths, b_ctx_out->tracked_dp_bindings); return; @@ -1967,7 +1961,6 @@ remove_local_datapath_peer_port(const struct sbrec_port_binding *pb, static void remove_pb_from_local_datapath(const struct sbrec_port_binding *pb, - const struct sbrec_chassis *chassis_rec, struct binding_ctx_out *b_ctx_out, struct local_datapath *ld) { @@ -1983,14 +1976,6 @@ remove_pb_from_local_datapath(const struct sbrec_port_binding *pb, } else if (!strcmp(pb->type, "external")) { shash_find_and_delete(&ld->external_ports, pb->logical_port); } - - if (!strcmp(pb->type, "l3gateway")) { - const char *chassis_id = smap_get(&pb->options, - "l3gateway-chassis"); - if (chassis_id && !strcmp(chassis_id, chassis_rec->name)) { - ld->has_local_l3gateway = false; - } - } } static void @@ -2100,7 +2085,6 @@ consider_iface_release(const struct ovsrec_interface *iface_rec, b_lport->pb->datapath->tunnel_key); if (ld) { remove_pb_from_local_datapath(b_lport->pb, - b_ctx_in->chassis_rec, b_ctx_out, ld); } @@ -2307,7 +2291,7 @@ handle_deleted_lport(const struct sbrec_port_binding *pb, get_local_datapath(b_ctx_out->local_datapaths, pb->datapath->tunnel_key); if (ld) { - remove_pb_from_local_datapath(pb, b_ctx_in->chassis_rec, + remove_pb_from_local_datapath(pb, b_ctx_out, ld); return; } @@ -2320,7 +2304,7 @@ handle_deleted_lport(const struct sbrec_port_binding *pb, ld = get_local_datapath(b_ctx_out->local_datapaths, pb->datapath->tunnel_key); if (ld) { - remove_pb_from_local_datapath(pb, b_ctx_in->chassis_rec, b_ctx_out, + remove_pb_from_local_datapath(pb, b_ctx_out, ld); } } @@ -2609,7 +2593,7 @@ delete_done: b_ctx_in->sbrec_datapath_binding_by_key, b_ctx_in->sbrec_port_binding_by_datapath, b_ctx_in->sbrec_port_binding_by_name, - pb->datapath, false, + pb->datapath, b_ctx_out->local_datapaths, b_ctx_out->tracked_dp_bindings); } diff --git a/controller/ovn-controller.h b/controller/ovn-controller.h index b864ed0fa..a3aa6ebd3 100644 --- a/controller/ovn-controller.h +++ b/controller/ovn-controller.h @@ -56,10 +56,6 @@ struct local_datapath { /* The localnet port in this datapath, if any (at most one is allowed). */ const struct sbrec_port_binding *localnet_port; - /* True if this datapath contains an l3gateway port located on this - * hypervisor. */ - bool has_local_l3gateway; - struct { const struct sbrec_port_binding *local; const struct sbrec_port_binding *remote; diff --git a/controller/pinctrl.c b/controller/pinctrl.c index 8e4c4d18c..d7166b0a9 100644 --- a/controller/pinctrl.c +++ b/controller/pinctrl.c @@ -5521,7 +5521,7 @@ get_localnet_vifs_l3gwports( sbrec_port_binding_index_set_datapath(target, ld->datapath); SBREC_PORT_BINDING_FOR_EACH_EQUAL (pb, target, sbrec_port_binding_by_datapath) { - if ((ld->has_local_l3gateway && !strcmp(pb->type, "l3gateway")) + if (!strcmp(pb->type, "l3gateway") || !strcmp(pb->type, "patch")) { sset_add(local_l3gw_ports, pb->logical_port); }
Now this field is not really useful. Remove all the related code. Signed-off-by: Han Zhou <hzhou@ovn.org> --- controller/binding.c | 44 ++++++++++++------------------------- controller/ovn-controller.h | 4 ---- controller/pinctrl.c | 2 +- 3 files changed, 15 insertions(+), 35 deletions(-)