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