All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-wired-lan] [net-next PATCH v3 1/2] ethtool: Add helper routines to pass vf to rx_flow_spec
@ 2015-05-18 15:31 John Fastabend
  2015-05-18 15:32 ` [Intel-wired-lan] [net-next PATCH v3 2/2] ixgbe: Allow flow director to use entire queue space John Fastabend
  2015-05-18 15:46 ` [Intel-wired-lan] [net-next PATCH v3 1/2] ethtool: Add helper routines to pass vf to rx_flow_spec Alexander Duyck
  0 siblings, 2 replies; 4+ messages in thread
From: John Fastabend @ 2015-05-18 15:31 UTC (permalink / raw)
  To: intel-wired-lan

The ring_cookie is 64 bits wide which is much larger than can be used
for actual queue index values. So provide some helper routines to
pack a VF index into the cookie. This is useful to steer packets to
a VF ring without having to know the queue layout of the device.

Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
---
 include/uapi/linux/ethtool.h |   20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/include/uapi/linux/ethtool.h b/include/uapi/linux/ethtool.h
index 2e49fc8..ecc658d 100644
--- a/include/uapi/linux/ethtool.h
+++ b/include/uapi/linux/ethtool.h
@@ -796,6 +796,26 @@ struct ethtool_rx_flow_spec {
 	__u32		location;
 };
 
+/* How rings are layed out when accessing virtual functions or
+ * offloaded queues is device specific. To allow users to flow
+ * steering and specify these queues though break the ring cookie
+ * into a 32bit queue index with an 8 bit virtual function id.
+ * This also leaves the 3bytes for further specifiers.
+ */
+#define ETHTOOL_RX_FLOW_SPEC_RING	0x00000000FFFFFFFF
+#define ETHTOOL_RX_FLOW_SPEC_RING_VF	0x000000FF00000000
+#define ETHTOOL_RX_FLOW_SPEC_RING_VF_OFF 32
+static inline __u64 ethtool_get_flow_spec_ring(__u64 ring_cookie)
+{
+	return ETHTOOL_RX_FLOW_SPEC_RING & ring_cookie;
+};
+
+static inline __u64 ethtool_get_flow_spec_ring_vf(__u64 ring_cookie)
+{
+	return (ETHTOOL_RX_FLOW_SPEC_RING_VF & ring_cookie) >>
+				ETHTOOL_RX_FLOW_SPEC_RING_VF_OFF;
+};
+
 /**
  * struct ethtool_rxnfc - command to get or set RX flow classification rules
  * @cmd: Specific command number - %ETHTOOL_GRXFH, %ETHTOOL_SRXFH,


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-05-18 15:55 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-18 15:31 [Intel-wired-lan] [net-next PATCH v3 1/2] ethtool: Add helper routines to pass vf to rx_flow_spec John Fastabend
2015-05-18 15:32 ` [Intel-wired-lan] [net-next PATCH v3 2/2] ixgbe: Allow flow director to use entire queue space John Fastabend
2015-05-18 15:46 ` [Intel-wired-lan] [net-next PATCH v3 1/2] ethtool: Add helper routines to pass vf to rx_flow_spec Alexander Duyck
2015-05-18 15:55   ` John Fastabend

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.