summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorNuman Siddique <nusiddiq@redhat.com>2016-06-15 14:47:35 +0530
committerBen Pfaff <blp@ovn.org>2016-06-23 15:57:22 -0700
commit42814145d70c77462ce28b38841cd160f0486776 (patch)
tree82517d62565949a1081338ac6bda930bc5aaf7e4 /include
parent8fb72d297dab0015cd07236dd6f08f7bf9ecc713 (diff)
downloadopenvswitch-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')
-rw-r--r--include/openvswitch/meta-flow.h12
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;
};