This patchset introduces matching support for sctp src,dst ports. I've tested
the changes with both dpif-netdev and dpif-linux, using lksctp on kvm instances
as the endpoints. Traffic flows normally, then by adding a rule to drop SCTP
traffic on a particular port, I prevent the hosts communicating. Removing the
rule allowed the endpoints to communicate again.

Although I've added to the codepaths for IPv6, I did not try this in my test
set up. I'd welcome suggestions for unit-testing sctp behaviour if more tests
are wanted. I am aware of one broken test from patch #2.

Joe Stringer (4):
  lib: Add CRC32C Implementation
  dpif-netdev: Add SCTP support
  dpif-linux: Add SCTP support
  ofp-util: Support matching on SCTP src,dst ports

 datapath/actions.c                         |   34 +++++++
 datapath/checksum.c                        |    3 +
 datapath/datapath.c                        |    6 +
 datapath/flow.c                            |   60 ++++++++++++
 datapath/flow.h                            |    8 +-
 datapath/linux/Modules.mk                  |    1 +
 datapath/linux/compat/include/linux/sctp.h |   17 ++++
 include/linux/openvswitch.h                |    6 +
 include/sparse/netinet/in.h                |    1 +
 lib/automake.mk                            |    2 +
 lib/classifier.c                           |    4 +
 lib/crc32c.c                               |  140 ++++++++++++++++++++++++++++
 lib/crc32c.h                               |   24 +++++
 lib/dpif-netdev.c                          |    6 +
 lib/flow.c                                 |   34 ++++++-
 lib/flow.h                                 |    4 +-
 lib/meta-flow.c                            |   40 ++++++++
 lib/meta-flow.h                            |    4 +
 lib/nx-match.c                             |    3 +
 lib/odp-util.c                             |   52 ++++++++++
 lib/ofp-parse.c                            |    2 +
 lib/ofp-print.c                            |    6 +
 lib/ofp-util.c                             |    8 +-
 lib/packets.c                              |   20 ++++
 lib/packets.h                              |   10 ++
 ofproto/ofproto-dpif.c                     |    3 +
 tests/ovs-ofctl.at                         |    9 +-
 tests/test-netflow.c                       |    6 +
 utilities/ovs-ofctl.8.in                   |    6 +
 29 files changed, 499 insertions(+), 20 deletions(-)
 create mode 100644 datapath/linux/compat/include/linux/sctp.h
 create mode 100644 lib/crc32c.c
 create mode 100644 lib/crc32c.h

-- 
1.7.2.5

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

Reply via email to