[ovs-dev] [IPv6 IV: A New Hope 5/6] nicira-ext: Support matching IPv6 traffic.
blp at nicira.com
Wed Feb 2 18:36:07 UTC 2011
On Tue, Feb 01, 2011 at 12:53:52AM -0800, Justin Pettit wrote:
> Provides ability to match over IPv6 traffic in the same manner as IPv4.
> Currently, the matching fields include:
> - IPv6 source and destination addresses (ipv6_src and ipv6_dst)
> - Traffic Class (nw_tos)
> - Next Header (nw_proto)
> - ICMPv6 Type and Code (icmp_type and icmp_code)
> - TCP and UDP Ports over IPv6 (tp_src and tp_dst)
> When defining IPv6 rules, the Nicira Extensible Match (NXM) extension to
> OVS must be used.
> Signed-off-by: Justin Pettit <jpettit at nicira.com>
I have a few comments in addition to my earlier ones.
I believe that in parse_ipv6hdr(), the statement
nh_len = payload_ofs - skb_network_offset(skb);
can be simplified to:
nh_len = payload_ofs - nh_ofs;
because I don't see anything in between nh_ofs and nh_len that would
change the network header offset.
Why does parse_ipv6hdr() return the network header length? I don't see
where the caller uses it. I think that it could just return 0.
In odp_key_ipv6, the uint32_t fields should be ovs_be32.
In odp_flow_key_to_flow(), I don't really like the mixing of IP_TYPE_*
(from packets.h) with IPPROTO_* (from some system header). I'd rather
add a IP_TYPE_ICMPV6 or use IPPROTO_* uniformly. Ditto in
parse_protocol() in ofp-parse.c.
Acked-by: Ben Pfaff <blp at nicira.com>
More information about the dev