mbox series

[ovs-dev,v3,0/4] respin CoPP series

Message ID cover.1622759829.git.lorenzo.bianconi@redhat.com
Headers show
Series respin CoPP series | expand

Message

Lorenzo Bianconi June 3, 2021, 10:50 p.m. UTC
This series respin CoPP support introduced here [0] by Dumitru rebasing on top
of ovn master branch and adding some missing meters (e.g. bfd or acl reject).
The main goal of this series is to continue the discussion about the proposed
approach and to align on CMS APIs.
For the moment no ddlog support has been added.
Related bz:
https://bugzilla.redhat.com/show_bug.cgi?id=1947913
https://bugzilla.redhat.com/show_bug.cgi?id=1946610

Changes since v2:
- add sbctl checks in tests/ovn-northd.at unit tests
- remove letfovers in utilities/ovn-nbctl.8.xml

Changes since v1:
- merge patch 3/5 and 4/5
- cosmetics
- improve naming conventions
- add more unit-tests/system-tests
- remove duplicated flow
- remove some leftover entries in ovn-nbctl.8.xml
- add metering for sctp abort packets

Changes since RFC:
- drop per-port metering
- add unit/system tests
- add reject action metering

[0] https://patchwork.ozlabs.org/project/openvswitch/list/?series=140778&state=*

Dumitru Ceara (4):
  ovn-controller: Add support for Logical_Flow control meters
  ovn-northd: Add support for CoPP.
  ovn-northd: Add CoPP policies for flows that punt packets to
    ovn-controller.
  NEWS: Add CoPP support.

 NEWS                      |   1 +
 controller/lflow.c        |  40 ++-
 controller/ofctrl.c       |  55 ++--
 controller/ofctrl.h       |  21 +-
 controller/physical.c     |   7 +-
 include/ovn/actions.h     |   3 +-
 lib/actions.c             | 116 ++++-----
 lib/automake.mk           |   2 +
 lib/copp.c                | 143 ++++++++++
 lib/copp.h                |  59 +++++
 northd/ovn-northd.c       | 535 ++++++++++++++++++++++++--------------
 ovn-nb.ovsschema          |  16 +-
 ovn-nb.xml                |  81 ++++++
 ovn-sb.ovsschema          |   6 +-
 ovn-sb.xml                |   6 +
 tests/atlocal.in          |   3 +
 tests/ovn-controller.at   |  48 ++++
 tests/ovn-northd.at       |  92 +++++++
 tests/ovn.at              |   4 +-
 tests/system-ovn.at       | 135 ++++++++++
 utilities/ovn-nbctl.8.xml |  75 ++++++
 utilities/ovn-nbctl.c     | 178 +++++++++++++
 22 files changed, 1327 insertions(+), 299 deletions(-)
 create mode 100644 lib/copp.c
 create mode 100644 lib/copp.h

Comments

Mark Gray June 4, 2021, 8:52 a.m. UTC | #1
On 03/06/2021 23:50, Lorenzo Bianconi wrote:
> This series respin CoPP support introduced here [0] by Dumitru rebasing on top
> of ovn master branch and adding some missing meters (e.g. bfd or acl reject).
> The main goal of this series is to continue the discussion about the proposed
> approach and to align on CMS APIs.
> For the moment no ddlog support has been added.
> Related bz:
> https://bugzilla.redhat.com/show_bug.cgi?id=1947913
> https://bugzilla.redhat.com/show_bug.cgi?id=1946610
> 
> Changes since v2:
> - add sbctl checks in tests/ovn-northd.at unit tests
> - remove letfovers in utilities/ovn-nbctl.8.xml
> 
> Changes since v1:
> - merge patch 3/5 and 4/5
> - cosmetics
> - improve naming conventions
> - add more unit-tests/system-tests
> - remove duplicated flow
> - remove some leftover entries in ovn-nbctl.8.xml
> - add metering for sctp abort packets
> 
> Changes since RFC:
> - drop per-port metering
> - add unit/system tests
> - add reject action metering
> 
> [0] https://patchwork.ozlabs.org/project/openvswitch/list/?series=140778&state=*

Thanks for the changes. They generally look good.

I was unable to compile with ddlog support

./ddlog/bin/ddlog -i northd/ovn_northd.dl -o ./northd -L ./ddlog/lib/lib
-L ./northd

error: northd/ovn_northd.dl:1669.29-1679.5: Missing field
'controller_meter' in constructor OVN_Southbound::Out_Logical_Flow
        sb::Out_Logical_Flow(
                            ^

Also the 0-day robot is complaining. I will do some final testing when
these are fixed.