[ovs-dev] [PATCH v10 0/2] ovn: Support native DHCP using 'continuations'
Numan Siddique
nusiddiq at redhat.com
Tue Jun 7 05:48:21 UTC 2016
v9 > v10 changes
---------------
* Resolved the patch conflicts in tests/ovn.at
* The dhcp test case "put_dhcp_opts"was failing because of the commit
"ovn-controller: Assign conntrack zones for gateway router".
Fixed it.
v8 > v9 changes
---------------
* Resolved the patch conflicts
v7 -> v8 changes
----------------
* Added warn logs in the failure cases in the function pinctrl_handle_put_dhcp_opts()
as per Ramu' suggestion
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 | 188 +++++++++++++++++++++++-
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 | 193 ++++++++++++++++++++++++
ovn/utilities/ovn-nbctl.8.xml | 29 ++++
ovn/utilities/ovn-nbctl.c | 196 +++++++++++++++++++++++++
tests/automake.mk | 1 +
tests/ovn.at | 301 ++++++++++++++++++++++++++++++++++++++
tests/test-ovn-dhcp.c | 284 ++++++++++++++++++++++++++++++++++++
21 files changed, 2288 insertions(+), 51 deletions(-)
create mode 100644 ovn/lib/ovn-dhcp.h
create mode 100644 tests/test-ovn-dhcp.c
--
2.5.5
More information about the dev
mailing list