This series is also available at:
        https://github.com/blp/ovs-reviews/tree/l3-4
        g...@github.com:blp/ovs-reviews.git l3-4

This is the fourth revision of my "closures" series.

The first version was:
http://openvswitch.org/pipermail/dev/2016-January/064607.html

The second version, unfortunately not marked v2, was:
https://patchwork.ozlabs.org/patch/574946/
and the v1->v2 changes were described at:
http://openvswitch.org/pipermail/dev/2016-January/064875.html

Changes v2->v3:
  - Patches 1 through 6 are new.
  - There's a terminology change starting in patch 6.  Now the process
    of pausing translation is called "freezing", and there are two users
    of freezing, which are recirculation and closures.
  - I added the ability to provide arbitrary user data on NXAST_PAUSE
    which is passed to the controller in a property on NXT_CLOSURE.
  - I made all the changes described in:
    http://openvswitch.org/pipermail/dev/2016-February/065984.html
  - I added a few more tests to ofp-print.at and ofp-actions.at.
  - Probably other refinements I've forgotten.

Changes v3->v4:
  - Several patches were applied and thus dropped from the series.
  - I added the previous L3 ARP patches at the end, revised (see below).
  - I had a major change of heart on the approach here.  Until now, I
    had an idea that "closures" were fundamentally different from
    OpenFlow "packet-ins" and thus deserved separate but parallel
    infrastructure.  Now that I started to use them for ARP, I realized
    that there in fact isn't that much difference.  Thus, this revision
    merges closures into packet-ins and drops the "closure" naming.
    Instead, what was previously a closure is just a packet-in that
    includes a "continuation", that is, the state that can be used to
    resume the pipeline.
  - The ARP series from before is tacked on the end here, but it is
    revised to use packet-ins instead of adding a specialized OpenFlow
    action for ARP.
  - The ARP patches (patches 8 and later) are not as mature as the rest of
    the series.  In particular, I haven't been able to figure out why the
    final patch is necessary; it may indicate a bug in my test for the ARP
    support.  In testing, I've definitely figured out that debugging is
    harder than it should be.

Ben Pfaff (14):
  ofpbuf: New function ofpbuf_const_initializer().
  ofp-util: Remove 'const' from struct ofputil_packet_in's 'packet'
    member.
  Implement new packet-in format NXT_PACKET_IN2.
  ofp-util: Rename struct ofputil_packet_in member 'len' to
    'packet_len'.
  Support userdata in NXT_PACKET_IN2.
  ofp-prop: Add support for putting and parsing nested properties.
  Implement serializing the state of packet traversal in
    "continuations".
  pinctrl: Fix header guard.
  ofp-actions: Introduce macro for padding struct members.
  actions: Implement OVN "arp" action.
  ovn: Use callback function instead of simap for logical port number
    map.
  ovn-controller: Add data structure for indexing lports, multicast
    groups.
  ovn: Implement basic ARP support for L3 logical routers.
  [RFC] lflow: Disable egress table optimization.

 NEWS                            |   5 +
 include/openflow/nicira-ext.h   | 136 +++++-
 lib/dpif-netlink.c              |  72 ++-
 lib/learning-switch.c           |  11 +-
 lib/meta-flow.c                 |   9 +-
 lib/meta-flow.h                 |   3 +-
 lib/netdev-windows.c            |  18 +-
 lib/netlink-socket.c            |   9 +-
 lib/nx-match.c                  |  15 +-
 lib/ofp-actions.c               | 269 ++++++++---
 lib/ofp-actions.h               |  67 +--
 lib/ofp-errors.c                |   8 +-
 lib/ofp-errors.h                |  16 +-
 lib/ofp-msgs.c                  |   4 +-
 lib/ofp-msgs.h                  |   7 +
 lib/ofp-print.c                 | 150 ++++---
 lib/ofp-prop.c                  |  49 ++
 lib/ofp-prop.h                  |   4 +
 lib/ofp-util.c                  | 957 ++++++++++++++++++++++++++++------------
 lib/ofp-util.h                  |  65 ++-
 lib/ofpbuf.h                    |  26 +-
 lib/packets.c                   |  38 +-
 lib/packets.h                   |   3 +-
 lib/rconn.c                     |   3 +-
 ofproto/connmgr.c               |  26 +-
 ofproto/connmgr.h               |   2 +-
 ofproto/fail-open.c             |  16 +-
 ofproto/ofproto-dpif-xlate.c    | 211 +++++++--
 ofproto/ofproto-dpif-xlate.h    |   4 +
 ofproto/ofproto-dpif.c          |  35 ++
 ofproto/ofproto-provider.h      |   3 +
 ofproto/ofproto.c               |  61 ++-
 ovn/TODO                        | 112 +----
 ovn/controller/automake.mk      |   2 +
 ovn/controller/lflow.c          | 251 +++++------
 ovn/controller/lflow.h          |  11 +-
 ovn/controller/lport.c          | 157 +++++++
 ovn/controller/lport.h          |  67 +++
 ovn/controller/ovn-controller.c |  47 +-
 ovn/controller/pinctrl.c        | 323 ++++++++++++--
 ovn/controller/pinctrl.h        |  14 +-
 ovn/lib/actions.c               | 235 +++++++++-
 ovn/lib/actions.h               |  39 +-
 ovn/lib/expr.c                  | 141 ++++--
 ovn/lib/expr.h                  |  16 +-
 ovn/northd/ovn-northd.8.xml     | 112 +++--
 ovn/northd/ovn-northd.c         | 105 +++--
 ovn/ovn-architecture.7.xml      |  78 +++-
 ovn/ovn-sb.ovsschema            |  15 +-
 ovn/ovn-sb.xml                  | 158 ++++++-
 ovn/utilities/ovn-sbctl.c       |   4 +
 tests/ofp-actions.at            |  14 +
 tests/ofp-print.at              |  37 +-
 tests/ofproto-dpif.at           | 346 +++++++++++----
 tests/ofproto-macros.at         |  35 +-
 tests/ofproto.at                |  54 ++-
 tests/ovn.at                    | 190 +++++++-
 tests/test-ovn.c                |  20 +-
 tests/tunnel-push-pop.at        |   2 +-
 utilities/ovs-ofctl.8.in        |  76 +++-
 utilities/ovs-ofctl.c           | 187 +++++---
 61 files changed, 3853 insertions(+), 1297 deletions(-)
 create mode 100644 ovn/controller/lport.c
 create mode 100644 ovn/controller/lport.h

-- 
2.1.3

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to