diff options
author | Numan Siddique <nusiddiq@redhat.com> | 2016-06-15 14:47:35 +0530 |
---|---|---|
committer | Ben Pfaff <blp@ovn.org> | 2016-06-23 15:57:22 -0700 |
commit | 42814145d70c77462ce28b38841cd160f0486776 (patch) | |
tree | 82517d62565949a1081338ac6bda930bc5aaf7e4 /include/openvswitch | |
parent | 8fb72d297dab0015cd07236dd6f08f7bf9ecc713 (diff) | |
download | openvswitch-42814145d70c77462ce28b38841cd160f0486776.tar.gz |
ovn-controller: Add 'put_dhcp_opts' action in ovn-controller
This patch adds a new OVN action 'put_dhcp_opts' to support native
DHCP in OVN.
ovn-controller parses this action and adds a NXT_PACKET_IN2
OF flow with 'pause' flag set and the DHCP options stored in
'userdata' field.
When the valid DHCP packet is received by ovn-controller, it frames a
new DHCP reply packet with the DHCP options present in the
'userdata' field and resumes the packet and stores 1 in the 1-bit subfield.
If the packet is invalid, it resumes the packet without any modifying and
stores 0 in the 1-bit subfield.
Eg. reg0[0] = put_dhcp_opts(offerip = 10.0.0.4, router = 10.0.0.1,
netmask = 255.255.255.0, lease_time = 3600,....)
A new 'DHCP_Options' table is added in SB DB which stores
the supported DHCP options with DHCP code and type. ovn-northd is
expected to popule this table.
The next patch will add logical flows with this action.
Signed-off-by: Numan Siddique <nusiddiq@redhat.com>
Co-authored-by: Ben Pfaff <blp@ovn.org>
Signed-off-by: Ben Pfaff <blp@ovn.org>
Diffstat (limited to 'include/openvswitch')
-rw-r--r-- | include/openvswitch/meta-flow.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/openvswitch/meta-flow.h b/include/openvswitch/meta-flow.h index e5f996208..84a0946d1 100644 --- a/include/openvswitch/meta-flow.h +++ b/include/openvswitch/meta-flow.h @@ -1930,6 +1930,18 @@ union mf_subvalue { /* Convenient access to just least-significant bits in various forms. */ struct { + uint8_t dummy_u8[127]; + uint8_t u8_val; + }; + struct { + ovs_be16 dummy_be16[63]; + ovs_be16 be16_int; + }; + struct { + ovs_be32 dummy_be32[31]; + ovs_be32 be32_int; + }; + struct { ovs_be64 dummy_integer[15]; ovs_be64 integer; }; |