[ovs-dev] [PATCH 00/12] Use Netlink for actions and expand tunnel IDs to 64 bits

Ben Pfaff blp at nicira.com
Tue Dec 7 19:00:22 UTC 2010


This series of patches changes the datapath to use Netlink attributes
for actions, so that actions can have variable-width arguments, and
then takes advantage of this to expand tunnel IDs to 64 bits.  No
tunnels actually implement 64-bit IDs yet.

I've tested that this doesn't break basic functionality on 32-bit,
but I haven't tested the tunnels themselves.  I did a build test
only on 64-bit.

Ben Pfaff (12):
  datapath: Fix odp-compat definition of struct compat_odp_execute.
  ofp-util: Fully initialize flow_wildcards in
    ofputil_cls_rule_from_match().
  odp-util: Bump up maximum number of ODP actions.
  cfm: Use ofpbuf_new() instead of its out-of-line expansion.
  dpif-netdev: Use ofpbuf functions instead of their out-of-line
    expansions.
  ofpbuf: New function ofpbuf_use_const().
  netlink: Make netlink-protocol.h compatible with <linux/netlink.h>.
  netlink: Add functions for working with big-endian attribute values.
  netlink: New function nl_attr_type().
  netlink: Add macros for iterating through attributes.
  datapath: Replace "struct odp_action" by Netlink attributes.
  Expand tunnel IDs from 32 to 64 bits.

 datapath/actions.c                      |  101 ++++++------
 datapath/actions.h                      |    3 +-
 datapath/datapath.c                     |  154 ++++++++++-------
 datapath/datapath.h                     |    8 +-
 datapath/flow.c                         |   12 +-
 datapath/flow.h                         |    6 +-
 datapath/loop_counter.c                 |    2 +-
 datapath/odp-compat.h                   |    8 +-
 datapath/tunnel.c                       |   11 +-
 datapath/tunnel.h                       |    4 +-
 datapath/vport-gre.c                    |   12 +-
 include/openflow/nicira-ext.h           |   19 ++-
 include/openvswitch/datapath-protocol.h |  145 ++++------------
 include/openvswitch/tunnel.h            |   14 +-
 lib/cfm.c                               |    4 +-
 lib/classifier.c                        |    4 +-
 lib/dhcp.c                              |    3 +-
 lib/dpif-linux.c                        |    6 +-
 lib/dpif-netdev.c                       |  144 +++++++++-------
 lib/dpif-provider.h                     |    9 +-
 lib/dpif.c                              |   30 ++--
 lib/dpif.h                              |   11 +-
 lib/flow.c                              |    6 +-
 lib/flow.h                              |    6 +-
 lib/learning-switch.c                   |    3 +-
 lib/netdev-vport.c                      |    8 +-
 lib/netlink-protocol.h                  |   25 +++-
 lib/netlink.c                           |   93 ++++++++--
 lib/netlink.h                           |   39 ++++
 lib/nx-match.c                          |    8 +-
 lib/odp-util.c                          |  145 +++++++++++-----
 lib/odp-util.h                          |   33 +---
 lib/ofp-parse.c                         |   19 ++-
 lib/ofp-print.c                         |   13 +-
 lib/ofp-util.c                          |    6 +-
 lib/ofpbuf.c                            |   11 ++
 lib/ofpbuf.h                            |    1 +
 ofproto/in-band.c                       |   12 +-
 ofproto/in-band.h                       |    4 +-
 ofproto/ofproto-sflow.c                 |   68 +++----
 ofproto/ofproto.c                       |  288 +++++++++++++++---------------
 ofproto/ofproto.h                       |    7 +-
 tests/test-classifier.c                 |    2 +-
 utilities/ovs-dpctl.c                   |    6 +-
 utilities/ovs-ofctl.8.in                |    7 +-
 vswitchd/bridge.c                       |   35 ++--
 46 files changed, 848 insertions(+), 707 deletions(-)





More information about the dev mailing list