This series adds basic support for logical L3 routing to OVN, for your review.
Ben Pfaff (23): ovn: Extend logical "next" action to jump to arbitrary flow tables. ovn: Implement logical action to decrement IPv4 TTL. ovn: Change h1 titles to title case in documentation. ovn-nbctl: Remove external-ids commands. nx-match: Serialize match on IP TTL even when outputting OXM. ovn: Update TODO, ovn-northd flow table design, ovn-architecture for L3. ovn-controller: Un-inline get_chassis_by_name(). ovn-controller: Factor patch port management into new "patch" module. patch: Bail out earlier if OVS IDL transactions cannot be executed. patch: Refactor to better support new kinds of patches. patch: Allow client to determine port names. ovn-controller: Rename "ovn-patch-port" to "ovn-localnet-port". ovn: Implement logical patch ports. ovn: Add new predicates for matching broadcast and multicast packets. ovn-nb: Extend schema to support networks of routers. ovn-nb: Rename Port_Bindings 'macs' column to 'addresses'. ovn-nb: Add support for IP+MAC binding pairs in Port_Binding 'address'. ovn-nb.xml: Reorganize documentation for Logical_Port table. ovn-nb: Change how router ports work. ovn-nb: Add "enabled" column to Logical_Router_Port. packets: New function ip_parse_masked(). ovn-northd: Add stages for logical routers. ovn: Implement basic logical L3 routing. lib/meta-flow.c | 19 +- lib/nx-match.c | 2 +- lib/packets.c | 21 + lib/packets.h | 2 + ovn/TODO | 225 ++++++++++ ovn/controller/automake.mk | 2 + ovn/controller/binding.c | 4 +- ovn/controller/chassis.c | 4 +- ovn/controller/lflow.c | 19 +- ovn/controller/ovn-controller.8.xml | 8 +- ovn/controller/ovn-controller.c | 227 +--------- ovn/controller/ovn-controller.h | 18 +- ovn/controller/patch.c | 262 ++++++++++++ ovn/controller/patch.h | 30 ++ ovn/controller/physical.c | 17 +- ovn/lib/actions.c | 95 ++++- ovn/lib/actions.h | 10 +- ovn/lib/expr.c | 11 +- ovn/lib/lex.c | 34 ++ ovn/lib/lex.h | 3 + ovn/northd/ovn-northd.8.xml | 391 ++++++++++++++++- ovn/northd/ovn-northd.c | 809 +++++++++++++++++++++++++++++------- ovn/ovn-architecture.7.xml | 14 +- ovn/ovn-nb.ovsschema | 21 +- ovn/ovn-nb.xml | 447 ++++++++++++-------- ovn/ovn-sb.xml | 167 +++++++- ovn/utilities/ovn-nbctl.8.xml | 70 +--- ovn/utilities/ovn-nbctl.c | 167 +------- tests/ovn-controller-vtep.at | 18 +- tests/ovn-controller.at | 40 +- tests/ovn-nbctl.at | 14 +- tests/ovn-sbctl.at | 4 +- tests/ovn.at | 188 ++++++++- tests/test-ovn.c | 4 +- tutorial/OVN-Tutorial.md | 68 +-- tutorial/ovn/env1/add-third-port.sh | 2 +- tutorial/ovn/env1/setup.sh | 4 +- tutorial/ovn/env2/setup.sh | 8 +- tutorial/ovn/env3/setup.sh | 8 +- tutorial/ovn/env4/setup2.sh | 4 +- tutorial/ovn/env5/setup.sh | 4 +- utilities/ovs-sim.1.xml | 4 +- 42 files changed, 2528 insertions(+), 941 deletions(-) create mode 100644 ovn/controller/patch.c create mode 100644 ovn/controller/patch.h -- 2.1.3 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev