This is the second version of the "learning" series that I originally sent out on Wednesday.
The following patches have already been reviewed and have not changed from the first time I sent them: packets: Add more utility functions for IPv4 and IPv6 addresses. ofp-util: New functions for parsing and formatting OpenFlow port numbers. ofp-util: Further abstract definitions of action properties. ofp-parse: Refactor action parsing to improve compiler warnings. ofp-util: Add type-safe functions for serializing actions. The following patches are new: ofp-util: New function for parsing key-value pairs. ofproto: Avoid using list_size() to compute length of 'pending' list. ofproto: Add 'ofproto' parameter to most flow_mod functions. ofproto: Mark some parameters 'const'. The following patch has not changed but has not yet been reviewed either: meta-flow: New library for working with fields by id. These patches are new or significantly revised and have not been reviewed: ofproto-dpif: Add -packet option to ofproto/trace command. dpif-netdev: Also allow "dummy" netdevs in a dpif-netdev. test-openflowd: Allow specifying port type on --ports option. ofproto: Reinterpret meaning of OpenFlow hard timeouts with OFPFC_MODIFY. Implement new "learn" action. classifier: Move zero_wildcards() to flow.c as public flow_zero_wildcards(). flow: New function flow_wildcards_is_catchall(). ofproto-dpif: Introduce an enum for the number of tables. ofproto-dpif: Optimize flow revalidation for MAC learning. NEWS | 1 + include/openflow/nicira-ext.h | 201 +++++- lib/automake.mk | 5 + lib/autopath.c | 6 +- lib/bundle.c | 7 +- lib/classifier.c | 85 +-- lib/classifier.h | 12 + lib/dpif-netdev.c | 2 +- lib/flow.c | 157 ++++ lib/flow.h | 5 + lib/learn.c | 592 ++++++++++++++ lib/learn.h | 40 + lib/meta-flow.c | 1739 +++++++++++++++++++++++++++++++++++++++++ lib/meta-flow.h | 207 +++++ lib/multipath.c | 6 +- lib/netdev.c | 19 + lib/netdev.h | 2 + lib/nx-match.c | 372 +-------- lib/nx-match.def | 83 +-- lib/nx-match.h | 3 +- lib/ofp-parse.c | 858 +++++--------------- lib/ofp-print.c | 62 +-- lib/ofp-util.c | 288 ++++++-- lib/ofp-util.def | 38 + lib/ofp-util.h | 107 ++- lib/packets.c | 55 ++- lib/packets.h | 4 + lib/util.c | 33 + lib/util.h | 3 +- ofproto/ofproto-dpif.c | 271 ++++++- ofproto/ofproto-provider.h | 18 +- ofproto/ofproto-unixctl.man | 24 +- ofproto/ofproto.c | 187 +++-- tests/automake.mk | 1 + tests/learn.at | 64 ++ tests/test-openflowd.c | 6 +- tests/test-util.c | 31 +- tests/testsuite.at | 1 + utilities/ovs-ofctl.8.in | 62 ++ 39 files changed, 4271 insertions(+), 1386 deletions(-) create mode 100644 lib/learn.c create mode 100644 lib/learn.h create mode 100644 lib/meta-flow.c create mode 100644 lib/meta-flow.h create mode 100644 lib/ofp-util.def create mode 100644 tests/learn.at -- 1.7.4.4 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev