net: ethool: Document struct ethtool_flow_ext
authorYan Burman <yanb@mellanox.com>
Thu, 13 Dec 2012 05:20:59 +0000 (05:20 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 13 Dec 2012 17:58:11 +0000 (12:58 -0500)
Add documentation for struct ethtool_flow_ext especially in regard
to what flags are needed for which fields.

Signed-off-by: Yan Burman <yanb@mellanox.com>
Reviewed-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/uapi/linux/ethtool.h

index be8c41e2dc1589f8e899dee0642418f76628a551..0c9b44871df07b3f7e09de4a2d922f421a4895b5 100644 (file)
@@ -503,9 +503,20 @@ union ethtool_flow_union {
        __u8                                    hdata[52];
 };
 
+/**
+ * struct ethtool_flow_ext - additional RX flow fields
+ * @h_dest: destination MAC address
+ * @vlan_etype: VLAN EtherType
+ * @vlan_tci: VLAN tag control information
+ * @data: user defined data
+ *
+ * Note, @vlan_etype, @vlan_tci, and @data are only valid if %FLOW_EXT
+ * is set in &struct ethtool_rx_flow_spec @flow_type.
+ * @h_dest is valid if %FLOW_MAC_EXT is set.
+ */
 struct ethtool_flow_ext {
        __u8            padding[2];
-       unsigned char   h_dest[ETH_ALEN];       /* destination eth addr */
+       unsigned char   h_dest[ETH_ALEN];
        __be16          vlan_etype;
        __be16          vlan_tci;
        __be32          data[2];
@@ -519,7 +530,8 @@ struct ethtool_flow_ext {
  * @m_u: Masks for flow field bits to be matched
  * @m_ext: Masks for additional field bits to be matched
  *     Note, all additional fields must be ignored unless @flow_type
- *     includes the %FLOW_EXT flag.
+ *     includes the %FLOW_EXT or %FLOW_MAC_EXT flag
+ *     (see &struct ethtool_flow_ext description).
  * @ring_cookie: RX ring/queue index to deliver to, or %RX_CLS_FLOW_DISC
  *     if packets should be discarded
  * @location: Location of rule in the table.  Locations must be