> On 9/25/21 12:19 AM, Lorenzo Bianconi wrote: > > Similar to if-status-mgr, track memory allocated for local_datapath. > > > > Signed-off-by: Lorenzo Bianconi <[email protected]> > > --- > > Hi Lorenzo, > > > controller/binding.c | 3 +++ > > controller/local_data.c | 50 +++++++++++++++++++++++++++++++++++++ > > controller/local_data.h | 3 +++ > > controller/ovn-controller.c | 1 + > > 4 files changed, 57 insertions(+) > > > > diff --git a/controller/binding.c b/controller/binding.c > > index c037b2352..661b4bb24 100644 > > --- a/controller/binding.c > > +++ b/controller/binding.c > > @@ -374,6 +374,8 @@ update_ld_external_ports(const struct > > sbrec_port_binding *binding_rec, > > struct local_datapath *ld = get_local_datapath( > > local_datapaths, binding_rec->datapath->tunnel_key); > > if (ld) { > > + local_datapath_ext_port_mem_update(ld, binding_rec->logical_port, > > + false); > > shash_replace(&ld->external_ports, binding_rec->logical_port, > > binding_rec); > > } > > @@ -1756,6 +1758,7 @@ remove_pb_from_local_datapath(const struct > > sbrec_port_binding *pb, > > ld->localnet_port = NULL; > > } > > } else if (!strcmp(pb->type, "external")) { > > + local_datapath_ext_port_mem_update(ld, pb->logical_port, true); > > shash_find_and_delete(&ld->external_ports, pb->logical_port); > > } > > } > > I think the better way of doing this is to add functions to local_data.c > for external ports too. We have something similar for peer ports: > > add_local_datapath_peer_port() > remove_local_datapath_peer_port() > > We can create new ones in local_data.c: > > add_local_datapath_external_port() > remove_local_datapath_external_port() > > And also do the memory accounting there. Like that we don't have to > expose local_datapath_ext_port_mem_update(), it can be internal inside > the local_data.c module.
ack, I will fix add them in v4. Regards, Lorenzo > > Regards, > Dumitru > _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
