[ovs-dev] [PATCH 0/3] ovn-northd IPAM fixes
Mark Michelson
mmichels at redhat.com
Mon Jun 18 13:06:22 UTC 2018
Hi Ben,
The first two patches in this series aren't necessary. ovn_datapaths are
allocated from scratch and then all destroyed during each loop of
ovn-northd. They never survive multiple loops. When entering
init_ipam_info_for_datapath(), you can assert that od->ipam_info == NULL
[1].
For patch 1, the unconditional allocation in the IPv6 case is not a
leak. The reason why the IPv4 case is conditional is because there may
be an IPv4 subnet and IPv6 prefix set. In that case, the ipam_info is
allocated in the IPv6 case, and so when the IPv4 case arises, it's
already allocated.
For patch 2, since the ipam_info is allocated in
init_ipam_info_for_datapath, and it is allocated using xzalloc, it is
redundant to zero out unset fields on the struct.
For patch 3, I'm commenting directly on the patch submission.
[1] The only way this assertion would fail is if we somehow managed to
allocate two logical switches with the same UUID.
On 06/15/2018 07:11 PM, Ben Pfaff wrote:
> While reviewing https://patchwork.ozlabs.org/patch/924319/, I discovered
> some bugs in IPAM that seem worth fixing. The first two patches below are
> minimal so that they can be backported. The third is an improvement that
> doesn't need backporting.
>
> Ben Pfaff (3):
> ovn-northd: Fix memory leak when IPv6 IPAM is in use.
> ovn-northd: Make it possible to disable IPAM once enabled.
> ovn-northd: Always allocate ipam_info for an ovn_datapath.
>
> ovn/northd/ovn-northd.c | 78 +++++++++++++++++++++++--------------------------
> 1 file changed, 37 insertions(+), 41 deletions(-)
>
More information about the dev
mailing list