diff options
author | Justin Pettit <jpettit@nicira.com> | 2011-02-01 22:54:11 -0800 |
---|---|---|
committer | Justin Pettit <jpettit@nicira.com> | 2011-02-02 13:22:34 -0800 |
commit | 685a51a5b89750cead1b2934c2079d2bb9c52a4a (patch) | |
tree | 8f111094c5cdce669521ac673a1f52456db71c1c /datapath/flow.h | |
parent | d31f1109f10e5ffb9bf266306b913ebf23781666 (diff) |
nicira-ext: Support matching IPv6 Neighbor Discovery messages.
IPv6 uses Neighbor Discovery messages in a similar manner to how IPv4
uses ARP. This commit adds support for matching deeper into the
payloads of Neighbor Solicitation (NS) and Neighbor Advertisement (NA)
messages. Currently, the matching fields include:
- NS and NA Target (nd_target)
- NS Source Link Layer Address (nd_sll)
- NA Target Link Layer Address (nd_tll)
When defining IPv6 Neighbor Discovery rules, the Nicira Extensible Match
(NXM) extension to OVS must be used.
Signed-off-by: Justin Pettit <jpettit@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
Diffstat (limited to 'datapath/flow.h')
-rw-r--r-- | datapath/flow.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/datapath/flow.h b/datapath/flow.h index ee1c4c92..21df5fbe 100644 --- a/datapath/flow.h +++ b/datapath/flow.h @@ -41,6 +41,7 @@ struct sw_flow_key { __be32 ipv6_dst[4]; /* IPv6 source address. */ }; }; + __be32 nd_target[4]; /* IPv6 ND target address. */ u16 in_port; /* Input switch port. */ __be16 dl_tci; /* 0 if no VLAN, VLAN_TAG_PRESENT set otherwise. */ __be16 dl_type; /* Ethernet frame type. */ @@ -50,8 +51,8 @@ struct sw_flow_key { u8 dl_dst[ETH_ALEN]; /* Ethernet destination address. */ u8 nw_proto; /* IP protocol or lower 8 bits of ARP opcode. */ u8 nw_tos; /* IP ToS (DSCP field, 6 bits). */ - u8 arp_sha[ETH_ALEN]; /* ARP source hardware address. */ - u8 arp_tha[ETH_ALEN]; /* ARP target hardware address. */ + u8 arp_sha[ETH_ALEN]; /* ARP/ND source hardware address. */ + u8 arp_tha[ETH_ALEN]; /* ARP/ND target hardware address. */ }; struct sw_flow { |