Thanks Ilya for your quick response. One follow-up question:

In this particular case, the OVN v22.03.2 code base northd/ovn-northd.c 
consisted the call to

ovsdb_idl_set_write_changed_only_all(ovnsb_idl_loop.idl, true);

which is not available in OVS v1.17.7 source, thus not available to its runtime 
either. Does this mean for OVN v22.03.2 runtime ovn-northd.c, the main() 
function will never be called, thus the function to  
ovsdb_idl_set_write_changed_only_all(ovnsb_idl_loop.idl, true); will never be 
invoked?

Thanks in advance for your timely help,
Joe
________________________________
From: Ilya Maximets <i.maxim...@ovn.org>
Sent: Tuesday, July 18, 2023 1:36 PM
To: Joe Liu <joe....@oracle.com>; ovs-discuss@openvswitch.org 
<ovs-discuss@openvswitch.org>
Cc: i.maxim...@ovn.org <i.maxim...@ovn.org>
Subject: [External] : Re: [ovs-discuss] Latest OVN LTS v22.03.2 working with 
latest OVS LTS v2.17.7

On 7/18/23 19:07, Joe Liu via discuss wrote:
> Hi,
>
> I have a question about building lates OVN LTS release v22.03.2 working with 
> latest OVS LTS release v2.17.7
>
> The build failed with the ovn-northd.c referencing to OVS v2.17.7 source 
> missing the following function:
>
> northd/ovn-northd.c:    
> ovsdb_idl_set_write_changed_only_all(ovnsb_idl_loop.idl, true);
>
>
> From OVN side, I checked the initial OVN LTS v22.03.0 did not have such 
> reference, but starting with v22.03.1, the reference was introduced.
>
> From OVS side, I checked the referenced function was not available from OVS 
> v2.17.7 but started available from OVS release v3.0.0:
>
> lib/ovsdb-idl.c:ovsdb_idl_set_write_changed_only_all(struct ovsdb_idl *idl, 
> bool enable)
> lib/ovsdb-idl.h:void ovsdb_idl_set_write_changed_only_all(struct ovsdb_idl 
> *idl, bool enable);
>
>
> My question is: how could we go with both OVN and OVS and follow their 
> perspective latest LTS releases? If we go with OVN LTS v22.03.2, do we have 
> to go with a non-LTS OVS release (e.g., v3.0+)? Or, if we go with OVS LTS 
> v2.17.1, we might stuck with OVN LTS v22.03.0 without LTS update path?

Hi, Joe.

The version of OVS to build with and version of OVS to run with
are two different things.  You should build OVN with the version
of OVS provided in a submodule.  For v22.03.2 it will be OVS
commit 2410b95597fcec5f733caf77febdb46f4ffacd27.

OVN only uses some libraries from OVS sources.  You should be
able to run OVN built this way with your OVS 2.17.7 without any
issues.

One inconvenience though is that, unfortunately, release archives
on GitHub do not include submodules (GitHub doesn't support that).
So, you'll need to check it out yourself.

Best regards, Ilya Maximets.

>
> Thanks in advance for your help,
> Joe

_______________________________________________
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss

Reply via email to