On 1/30/25 11:47 AM, Dumitru Ceara wrote:
> On 1/30/25 9:16 AM, Felix Huettner via dev wrote:
>> On Wed, Jan 29, 2025 at 10:28:23PM +0100, Frode Nordahl wrote:
>>> ons. 29. jan. 2025, 12:16 skrev Felix Huettner via dev <
>>> ovs-dev@openvswitch.org>:
>>>
>>>> This brings in needed changes so that the ovs submodule exports route
>>>> table related functionality.
>>>>
>>>> As the ovs submodule has bumped its DPDK version we need to do so as
>>>> well.
>>>>
>>>> Signed-off-by: Felix Huettner <felix.huettner@stackit.cloud>
>>>> ---
>>>>
>>
>> Hi Frode,
>>
>>>
>>> Note that there is one prerequisite patch that has not merged on the OVS
>>> side yet [0], so ci wont pass until that gets in. Martin spotted the issue
>>> and sent a patch.
>>
>> thanks a lot for that one. I hope i mentioned it in the cover letter.
>>
>>>
>>> We were discussing the reasoning for changing the route type, I have not
>>> reviewed that bit in detail yet and at a high level it may appear to make
>>> sense.
>>>
>>> Would be interesting to hear your reasoning for the change?
>>
>> You mean why advertised routes are using blackhole?
>>
>> So i did not want to include the nexthop IP in the Advertised_Route
>> table if possible as that would just duplicate a lot of entries.
>> Because of this we would not have the nexthop IP readily available.
>>
> 
> I don't think we should include the nexthop IP in SB.Advertised_Route.
> I mean, in the end, the router is aware of the routes it advertises
> _regardless of which interface the traffic destined for the route is
> received on_.
> 
> But I think the routes we inject in linux (for whatever we advertise)
> should include next-hop if we want the host to be able to send traffic
> to them.
> 
> I'll try an example:
> 
> FRR-VIF1 -- LS --- LRP1 (1.1.1.1/24) --- LR --- LRP3 (3.3.3.1/24)
> FRR-VIF2 --    --- LRP2 (2.2.2.1/24)
> 
> Assuming we're advertising "connected" I guess the two FRR instances
> should learn:
> 
> FRR-VIF1: 3.3.3.0/24 via 1.1.1.1
> FRR-VIF2: 3.3.3.0/24 via 2.2.2.1
> 
> If routing-protocol-redirect is used, that'd have to be configured on
> LRP1 and LRP2, so it could allow us to determine which LRP's IP should
> be configured as next-hop when injecting linux routes.
> 

Please ignore my previous email.  I just realized that in the case above
FRR-VIFX and LRPX would have the same IP essentially making the routes
as "blackhole".

>> I then also assumed that BGP is mostly used together with
>> routing-protocol-redirect. In this case we already know the respective
>> IP of the LRP as that IP is also used for the redirect linux interface.
>>
>> I therefor saw no real need to include the nexthop IP anywhere as we
>> already have it at the relevant locations. And the route type that best
>> matched the conditions of having a prefix, but no nexthop was blackhole.
>>
>> If there is a need to have the nexthop IPs included in the linux routes
>> we could definately change that. During implementation i just did not
>> saw the need and took the simpler path.
>>
> 
> If we could just always include nexthop IPs in the linux routes we
> create, I'd prefer that, I think.
> 
> However, I'm not exactly sure yet how ovn-kubernetes will be able to
> consume the OVN BGP support we're adding in this release.  It might be
> that they don't use routing-protocol-redirect.  In which case we might
> need a way to specify through config which IP ovn-controller to use as
> next-hop when installing the linux routes.  But that's something we can
> add later when we get a better idea about the ovn-kubernetes use case.
> 
>> Hope that clarifies this.
>>
>> Thanks a lot,
>> Felix
>>
> 
> Regards,
> Dumitru
> 
>>>
>>> 0:
>>> https://patchwork.ozlabs.org/project/openvswitch/patch/20250123152125.17973-1-martin.kal...@canonical.com/
>>>
>>> --
>>> Frode Nordahl
>>>
>>> v4->v5: update the dpdk version based on ovs changes
>>>> v3->v4: added
>>>>
>>>>  ovs                             | 2 +-
>>>>  utilities/containers/prepare.sh | 2 +-
>>>>  2 files changed, 2 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/ovs b/ovs
>>>> index 7b1ce8e2a..a3c06c309 160000
>>>> --- a/ovs
>>>> +++ b/ovs
>>>> @@ -1 +1 @@
>>>> -Subproject commit 7b1ce8e2a08454839c52b8cc02fdde5c78e7c40e
>>>> +Subproject commit a3c06c309ab9f21fd9ce4e8dca542119d46be9c5
>>>> diff --git a/utilities/containers/prepare.sh
>>>> b/utilities/containers/prepare.sh
>>>> index 49bb2ac91..6922d8c6b 100755
>>>> --- a/utilities/containers/prepare.sh
>>>> +++ b/utilities/containers/prepare.sh
>>>> @@ -1,7 +1,7 @@
>>>>  #!/bin/bash -xe
>>>>
>>>>  DPDK_GIT=https://dpdk.org/git/dpdk
>>>> -DPDK_VER=23.11
>>>> +DPDK_VER=24.11
>>>>
>>>>  function compile_sparse()
>>>>  {
>>>> --
>>>> 2.47.1
>>>>
>>>>
>>>> _______________________________________________
>>>> dev mailing list
>>>> d...@openvswitch.org
>>>> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>>>>
>> _______________________________________________
>> dev mailing list
>> d...@openvswitch.org
>> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>>

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to