[ovs-git] [ovn-org/ovn] c8565b: ovn-northd-ddlog: Optimize AggregatedFlow rules.

Dumitru Ceara noreply at github.com
Fri Jul 23 16:28:27 UTC 2021


  Branch: refs/heads/master
  Home:   https://github.com/ovn-org/ovn
  Commit: c8565bbb778c4ee58d84c079b40d16e130cee156
      https://github.com/ovn-org/ovn/commit/c8565bbb778c4ee58d84c079b40d16e130cee156
  Author: Ben Pfaff <blp at ovn.org>
  Date:   2021-07-23 (Fri, 23 Jul 2021)

  Changed paths:
    M northd/ovn_northd.dl

  Log Message:
  -----------
  ovn-northd-ddlog: Optimize AggregatedFlow rules.

This should avoid some work by doing the cheapest check (the one on
UseLogicalDatapathGroups) before any joins.  DDlog is probably
factoring out the reference to the Flow relation, which is identical
in both, but this ought to avoid the group_by aggregation (which is
relatively expensive) in the case where UseLogicalDatapathGroups is
not enabled.

Acked-by: Han Zhou <hzhou at ovn.org>
Acked-by: Dumitru Ceara <dceara at redhat.com>
Signed-off-by: Ben Pfaff <blp at ovn.org>
Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi at redhat.com>
Signed-off-by: Mark Michelson <mmichels at redhat.com>


  Commit: 71f2b5683091a8e04ceb1e1adcdc77085dd15142
      https://github.com/ovn-org/ovn/commit/71f2b5683091a8e04ceb1e1adcdc77085dd15142
  Author: Dumitru Ceara <dceara at redhat.com>
  Date:   2021-07-23 (Fri, 23 Jul 2021)

  Changed paths:
    M controller/lflow.c
    M controller/ofctrl.c
    M controller/ofctrl.h
    M controller/physical.c
    M include/ovn/actions.h
    M lib/actions.c
    M northd/ovn_northd.dl
    M ovn-sb.ovsschema
    M ovn-sb.xml

  Log Message:
  -----------
  ovn-controller: Add support for Logical_Flow control meters

Add a new 'controller_meter' column to OVN Southbound Logical_Flow
table. This stores an optional string which should correspond to
the Meter that must be used for rate limiting controller actions
generated by packets hitting the flow.

Add a new 'ofctrl_add_flow_metered' function to create a new 'ovn_flow'
with an attached controller meter.

Change ofctrl_check_and_add_flow to allow specifying a meter ID for
packets that are punted to controller.

Change consider_logical_flow to parse controller_meter from the logical
flow and use it when building openflow entries.

Add a new 'ctrl_meter_id' field to 'struct ovnact_encode_params' to be
used when encoding controller actions from logical flow actions.

Acked-by: Mark D. Gray <mark.d.gray at redhat.com>
Co-authored-by: Lorenzo Bianconi <lorenzo.bianconi at redhat.com>
Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi at redhat.com>
Signed-off-by: Dumitru Ceara <dceara at redhat.com>
Signed-off-by: Mark Michelson <mmichels at redhat.com>


  Commit: b92bdeab2904528a60d777cb131e5fa809837f75
      https://github.com/ovn-org/ovn/commit/b92bdeab2904528a60d777cb131e5fa809837f75
  Author: Dumitru Ceara <dceara at redhat.com>
  Date:   2021-07-23 (Fri, 23 Jul 2021)

  Changed paths:
    M lib/automake.mk
    A lib/copp.c
    A lib/copp.h
    M northd/ovn-northd.c
    M ovn-nb.ovsschema
    M ovn-nb.xml
    M tests/ovn-controller.at
    M tests/ovn-northd.at
    M utilities/ovn-nbctl.8.xml
    M utilities/ovn-nbctl.c

  Log Message:
  -----------
  ovn-northd: Add support for CoPP.

Add new 'Copp' (Control plane protection) table to OVN Northbound DB:
- this stores mappings between control plane protocol names and meters
  that should be used to rate limit controller-destined traffic for
  those protocols.

Add new 'copp' columns to the following OVN Northbound DB tables:
- Logical_Switch
- Logical_Router

For now, no control plane protection policy is installed for any of
the existing flows that punt packets to ovn-controller. This will be
added in follow-up patches.

Add CLI commands in 'ovn-nbctl' to allow the user to manage Control
Plane Protection Policies at different levels (logical switch,
logical router).

Acked-by: Mark D. Gray <mark.d.gray at redhat.com>
Co-authored-by: Lorenzo Bianconi <lorenzo.bianconi at redhat.com>
Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi at redhat.com>
Signed-off-by: Dumitru Ceara <dceara at redhat.com>
Signed-off-by: Mark Michelson <mmichels at redhat.com>


  Commit: e050e63c6c846afe1a8f54a214702ce74f538951
      https://github.com/ovn-org/ovn/commit/e050e63c6c846afe1a8f54a214702ce74f538951
  Author: Dumitru Ceara <dceara at redhat.com>
  Date:   2021-07-23 (Fri, 23 Jul 2021)

  Changed paths:
    M include/ovn/actions.h
    M lib/actions.c
    M lib/copp.c
    M lib/copp.h
    M northd/automake.mk
    A northd/copp.dl
    M northd/lrouter.dl
    M northd/lswitch.dl
    M northd/ovn-northd.c
    M northd/ovn_northd.dl
    M ovn-nb.xml
    M tests/atlocal.in
    M tests/ovn.at
    M tests/system-ovn.at
    M utilities/ovn-nbctl.8.xml

  Log Message:
  -----------
  ovn-northd: Add CoPP policies for flows that punt packets to ovn-controller.

Change the ovn-northd implementation to set the new 'controller_meter'
field for flows that need to punt packets to ovn-controller.

Protocol packets for which CoPP is enforced when sending packets to
ovn-controller (if configured):
- ARP
- ND_NS
- ND_NA
- ND_RA
- DNS
- IGMP
- packets that require ARP resolution before forwarding
- packets that require ND_NS before forwarding
- packets that need to be replied to with ICMP Errors
- packets that need to be replied to with TCP RST
- packets that need to be replied to with DHCP_OPTS
- packets that trigger a SCTP abort action
- contoller_events
- BFD

Acked-by: Mark D. Gray <mark.d.gray at redhat.com>
Co-authored-by: Lorenzo Bianconi <lorenzo.bianconi at redhat.com>
Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi at redhat.com>
Co-authored-by: Ben Pfaff <blp at ovn.org>
Signed-off-by: Ben Pfaff <blp at ovn.org>
Signed-off-by: Dumitru Ceara <dceara at redhat.com>
Signed-off-by: Mark Michelson <mmichels at redhat.com>


  Commit: 74eac03b40ec2214e765dc735364442a11dfabc6
      https://github.com/ovn-org/ovn/commit/74eac03b40ec2214e765dc735364442a11dfabc6
  Author: Dumitru Ceara <dceara at redhat.com>
  Date:   2021-07-23 (Fri, 23 Jul 2021)

  Changed paths:
    M NEWS

  Log Message:
  -----------
  NEWS: Add CoPP support.

Acked-by: Mark D. Gray <mark.d.gray at redhat.com>
Co-authored-by: Lorenzo Bianconi <lorenzo.bianconi at redhat.com>
Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi at redhat.com>
Signed-off-by: Dumitru Ceara <dceara at redhat.com>
Signed-off-by: Mark Michelson <mmichels at redhat.com>


Compare: https://github.com/ovn-org/ovn/compare/da4d13813576...74eac03b40ec


More information about the git mailing list