> -----Original Message----- > From: Ben Pfaff <[email protected]> > Sent: Thursday, January 17, 2019 6:11 AM > To: Vishal Deep Ajmera <[email protected]> > Cc: [email protected]; Ashvin Lakshmikantha > <[email protected]> > Subject: Re: [ovs-dev] [PATCH] Support for match & set ICMPv6 reserved and > options type fields > > On Fri, Jan 11, 2019 at 08:32:48AM +0000, Vishal Deep Ajmera wrote: > > Currently OVS supports all ARP protocol fields as OXM match fields to > > implement the relevant ARP procedures for IPv4. This includes support > > for matching copying and setting ARP fields. In IPv6 ARP has been > > replaced by ICMPv6 neighbor discovery (ND) procedures, neighbor > > advertisement and neighbor solicitation. > > > > The support for ICMPv6 fields in OVS is not complete for the use cases > > equivalent to ARP in IPv4. OVS lacks support for matching, copying and > > setting the “ND option type” and “ND reserved” fields. Without these user > > cannot implement all ICMPv6 ND procedures for IPv6 support. > > > > This commit adds additional OXM fields to OVS for ICMPv6 “ND option type“ > > and ICMPv6 “ND reserved” using the OXM extension mechanism. This allows > > support for parsing these fields from an ICMPv6 packet header and extending > > the OpenFlow protocol with specifications for these new OXM fields for > > matching, copying and setting. > > > > Signed-off-by: Vishal Deep Ajmera <[email protected]> > > Co-authored-by: Ashvin Lakshmikantha > <[email protected]> > > Signed-off-by: Ashvin Lakshmikantha <[email protected]> > > Please fix up the compiler and "sparse" warnings: >
Thanks Ben for reviewing the patch. I have sent V2 version after fixing compiler and sparse warnings. > ../ofproto/ofproto-dpif-sflow.c:969:13: error: enumeration value > 'OVS_KEY_ATTR_ND_EXTENSIONS' not explicitly handled in switch [-Werror,- > Wswitch-enum] > > ../lib/match.c:1084:1: error: symbol 'match_set_nd_reserved' redeclared with > different type (originally declared at ../include/openvswitch/match.h:222) - > incompatible argument 2 (different base types) > > ../lib/meta-flow.c:924:21: error: incorrect type in assignment (different base > types) > ../lib/meta-flow.c:924:21: expected restricted ovs_be32 [usertype] be32 > ../lib/meta-flow.c:924:21: got unsigned int > ../lib/meta-flow.c:1275:43: error: incorrect type in argument 2 (different > base > types) > ../lib/meta-flow.c:1275:43: expected unsigned int [unsigned] [usertype] > <noident> > ../lib/meta-flow.c:1275:43: got restricted ovs_be32 const [usertype] be32 > ../lib/meta-flow.c:1691:43: error: incorrect type in argument 1 (different > base > types) > ../lib/meta-flow.c:1691:43: expected unsigned int [unsigned] [usertype] x > ../lib/meta-flow.c:1691:43: got restricted ovs_be32 const [usertype] be32 > > ../lib/nx-match.c:995:33: error: incorrect type in argument 4 (different base > types) > ../lib/nx-match.c:995:33: expected restricted ovs_be32 [addressable] > [usertype] value > ../lib/nx-match.c:995:33: got unsigned int > > ../lib/odp-util.c:4056:34: error: incorrect type in argument 1 (different base > types) > ../lib/odp-util.c:4056:34: expected unsigned int [unsigned] [usertype] x > ../lib/odp-util.c:4056:34: got restricted ovs_be32 [usertype] <noident> > ../lib/odp-util.c:5964:31: error: incorrect type in argument 1 (different base > types) > ../lib/odp-util.c:5964:31: expected restricted ovs_be32 [usertype] x > ../lib/odp-util.c:5964:31: got restricted ovs_be16 const [usertype] > tcp_flags > ../lib/odp-util.c:5969:45: error: incorrect type in assignment (different base > types) > ../lib/odp-util.c:5969:45: expected restricted ovs_be32 [usertype] > nd_reserved > ../lib/odp-util.c:5969:45: got unsigned int > ../lib/odp-util.c:6605:60: error: incorrect type in argument 1 (different base > types) > ../lib/odp-util.c:6605:60: expected unsigned int [unsigned] [usertype] x > ../lib/odp-util.c:6605:60: got restricted ovs_be32 const [usertype] > nd_reserved > ../lib/odp-util.c:7526:25: error: incorrect type in assignment (different base > types) > ../lib/odp-util.c:7526:25: expected restricted ovs_be32 [usertype] > nd_reserved > ../lib/odp-util.c:7526:25: got unsigned int > ../lib/odp-util.c:7534:39: error: incorrect type in argument 1 (different base > types) > ../lib/odp-util.c:7534:39: expected unsigned int [unsigned] [usertype] x > ../lib/odp-util.c:7534:39: got restricted ovs_be32 const [usertype] > nd_reserved > ../lib/odp-util.c:7599:34: error: incorrect type in argument 1 (different base > types) > ../lib/odp-util.c:7599:34: expected restricted ovs_be16 [usertype] x > ../lib/odp-util.c:7599:34: got int _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
