v6 -> v7 changes ---------------- * In the patch 2 added "free(laddrs.ipv4_addrs)" which was missing earlier. Thats the only change.
v5 -> v6 changes ----------------- * Resolved the patch conflict * Added 3 new DHCP options - 58 (Renewal (T1) Time Value), 59 (Renewal (T2) Time Value) and 249 (ms-classless-static-route) as suggested by Ansis Atteka * Added some more documentation in ovn-nb for the DHCP options in the "Subnet" table. v4 -> v5 changes ---------------- * Addressed the v4 review comments * Renamed the action name from "dhcp_offer" to "put_dhcp_opts". * The action "put_dhcp_opts" will now store the result in the OVS register to indicate the success or failure of the action. v3 - > v4 changes ---------------- * Resolved the patch conflict * Addressed few comments from v2 (which got missed in v3) v2 -> v3 changes ---------------- * Removed RFC tag * Added a new table 'Subnet' in NB DB to store the DHCP options. A new column 'subnets' is added in 'Logical_Switch' table which refers to this table. * Added new commands in ovn-nbctl to create and delete subnets belonging to a lswitch and to set DHCP options. * Added a new table 'DHCP_Options' in SB DB to store the supported DHCP option codes. * Added test cases. v1 -> v2 changes -------------- * Added basic documentation * Added support for classless static routes - dhcp option 121 * Added a new egress table (Table 0) to skip the ACL stages for response dhcp packets. This is required until the below reported bug is fixed. Please see - http://openvswitch.org/pipermail/dev/2016-April/069542.html * Added support for storing dhcp options for multiple subnets belonging to a lswitch. Example. If a lswitch has logical ports having IPv4 addresses belonging to 2 subnets - 10.0.0.0/24 and 20.0.0.0/24, Then the DHCP options needs to be stored in Logical_Switch.dhcp_options as : "10.0.0.0/24": "{"server_id": "10.0.0.1", "lease_time": "43200", "mtu": "1450", "netmask": "255.255.255.0", "router": "10.0.0.1", "dns_server": "{7.7.7.7,8.8.8.8}", "server_mac": "fa:16:3e:3e:b8:8a"}" "20.0.0.0/24": "{"server_id": "20.0.0.1", "lease_time": "43200", "mtu": "1450", "netmask": "255.255.255.0", "router": "20.0.0.1", "server_mac": "fa:16:3e:3e:b8:8b", "classless_static_route": "{30.0.0.0/24,20.0.0.4, 0.0.0.0/0,20.0.0.1}"}" * Few other small changes. TODO : * Add a new table in southbound db and store the supported dhcp option names and codes. * Test cases With v3 hoping to remove the RFC tag. ------------------------- Numan Siddique (2): ovn-controller: Add 'put_dhcp_opts' action in ovn-controller ovn-northd: Add logical flows to support native DHCP include/openvswitch/meta-flow.h | 12 ++ lib/dhcp.h | 13 ++ ovn/controller/lflow.c | 11 ++ ovn/controller/pinctrl.c | 169 ++++++++++++++++++++- ovn/lib/actions.c | 203 +++++++++++++++++++++++++- ovn/lib/actions.h | 8 + ovn/lib/automake.mk | 1 + ovn/lib/expr.c | 48 ++---- ovn/lib/expr.h | 37 +++++ ovn/lib/ovn-dhcp.h | 111 ++++++++++++++ ovn/northd/ovn-northd.8.xml | 89 +++++++++++- ovn/northd/ovn-northd.c | 265 ++++++++++++++++++++++++++++++++- ovn/ovn-nb.ovsschema | 19 ++- ovn/ovn-nb.xml | 314 +++++++++++++++++++++++++++++++++++++++- ovn/ovn-sb.ovsschema | 16 +- ovn/ovn-sb.xml | 194 +++++++++++++++++++++++++ ovn/utilities/ovn-nbctl.8.xml | 29 ++++ ovn/utilities/ovn-nbctl.c | 196 +++++++++++++++++++++++++ tests/automake.mk | 1 + tests/ovn.at | 302 ++++++++++++++++++++++++++++++++++++++ tests/test-ovn-dhcp.c | 284 ++++++++++++++++++++++++++++++++++++ 21 files changed, 2271 insertions(+), 51 deletions(-) create mode 100644 ovn/lib/ovn-dhcp.h create mode 100644 tests/test-ovn-dhcp.c -- 2.5.5 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev