The FDP team is no longer accepting new bugs in Bugzilla. Please report your issues under FDP project in Jira. Thanks.
Bug 1897201 - ovn-controller: Remove logical datapath dependency from expression parsing code
Summary: ovn-controller: Remove logical datapath dependency from expression parsing code
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Enterprise Linux Fast Datapath
Classification: Red Hat
Component: OVN
Version: FDP 20.I
Hardware: Unspecified
OS: Unspecified
medium
high
Target Milestone: ---
: ---
Assignee: Dumitru Ceara
QA Contact: Jianlin Shi
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-11-12 14:57 UTC by Ilya Maximets
Modified: 2024-02-14 21:11 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2024-02-14 21:11:42 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker FD-951 0 None None None 2022-10-05 19:35:09 UTC

Description Ilya Maximets 2020-11-12 14:57:01 UTC
Expression parsing code in ovn-controller depends on the logical datapath.
This is because of optimization made for BZ 1818128:
https://github.com/ovn-org/ovn/commit/bff01d49d6f27424a2bef197ef50bae8b03cbd00
Parser reconstructs the name of a port group using the datapath tunnel key.

This makes it really hard to implement solution for BZ 1877002, because
expression parsing requires 1:1 lfow to logical datapath relation.

Need to remove this dependency from expression parsing code to unblock
BZ 1877002 and actually untangle the code, i.e. make it cleaner and better
logically separated.

Comment 1 Dan Williams 2021-05-25 17:15:18 UTC
Ilya, is this bug still relevant now that bug 1877002 is finished?

Comment 2 Dumitru Ceara 2021-05-26 07:24:28 UTC
(In reply to Dan Williams from comment #1)
> Ilya, is this bug still relevant now that bug 1877002 is finished?

I think it still is.  Right now we reparse the complete match/action
expression for each logical datapath in the datapath group.  We can
optimize lflow processing in ovn-controller by:
1. pre-parsing the match and action expressions regardless of logical
   datapath/datapath group the flow is applied to.
2. In a second step we can refine the pre-parsed expression for each
   logical datapath in the lflow's datapath group.

Comment 3 Mark Michelson 2022-10-05 19:21:21 UTC
I'm going to echo Dan's question from last year and ask if this is still relevant. I suppose that the optimization potential may still exist, but the bigger question is whether it's worth pursuing. We're in a different position than we were 2 years ago with regards to OVN performance. These days, ovn-controller is typically not the performance bottleneck anymore, and I'm curious if we think this sort of optimization would show real gains, performance-wise.

Comment 4 Dumitru Ceara 2022-10-06 10:04:57 UTC
(In reply to Mark Michelson from comment #3)
> I'm going to echo Dan's question from last year and ask if this is still
> relevant. I suppose that the optimization potential may still exist, but the
> bigger question is whether it's worth pursuing. We're in a different
> position than we were 2 years ago with regards to OVN performance. These
> days, ovn-controller is typically not the performance bottleneck anymore,
> and I'm curious if we think this sort of optimization would show real gains,
> performance-wise.

Not sure whether this is a good argument as it's quite subjective but I think the code will also get significantly more complex than it already is.

Comment 5 Ilya Maximets 2022-10-21 08:03:47 UTC
(In reply to Mark Michelson from comment #3)
> I'm going to echo Dan's question from last year and ask if this is still
> relevant. I suppose that the optimization potential may still exist, but the
> bigger question is whether it's worth pursuing. We're in a different
> position than we were 2 years ago with regards to OVN performance. These
> days, ovn-controller is typically not the performance bottleneck anymore,
> and I'm curious if we think this sort of optimization would show real gains,
> performance-wise.

I think, at this stage this is more of a tech-debt task.  Even though the
code may become a bit more complex from one side, it should be much better
isolated providing more flexibility to developers on how to use it.

So, I'm not sure if this BZ should stay open or how much benefit it may
provide if actually implemented.  But that's a common thing with this kind
of tech-debt tasks.

Comment 6 OVN Bot 2024-02-14 21:11:40 UTC
This issue is being closed as an automatic process due to the issue's age. If you wish to re-open this issue, please do so in Jira (https://issues.redhat.com) in the 'FDP' project. Please be sure to set the component to the latest OVN version where this issue is known to occur. If this is a feature request or improvement, please set the component to 'OVN'.


Note You need to log in before you can comment on or make changes to this bug.