Hey Eugene,

I will try to quickly address some of you questions inline below:

Thanks,
-Don Skidmore <donald.c.skidm...@intel.com>

> -----Original Message-----
> From: Eugene L. Vorokov [mailto:v...@pidarasy.org]
> Sent: Tuesday, June 30, 2015 9:36 AM
> To: e1000-devel@lists.sourceforge.net
> Subject: [E1000-devel] 82599, SR-IOV and ntuple filters
> 
> Hi guys,
> 
> I'm using Intel 82599 in SR-IOV mode, and my goal is to switch traffic to 
> given
> VF by some L3/L4 criteria. The simplest setup looks like: there is a PF and 
> one
> VF on it, and I need all UDP:55777 incoming packets to be switched to VF,
> while all other packets should go to PF. Of course, remote network
> equipment doesn't know that I have PF and VF, all packets arrive with the
> same destination MAC (the PF's one), but need to be switched based of
> higher level criteria, so I can handle some of them on a virtual machine and
> some on the host machine.
> 
> I tried to use ntuple filters for that, but somehow it doesn't work - 
> modifying
> the target queue doesn't direct packet to VF when it's destined to PF's MAC.
> Reading through 82599 datasheet, I can see that in SR-IOV mode the queues
> are grouped to pools, and each VF is associated with a pool.
> It's not quite clear if the pool, once selected, can be changed with ntuple
> filters.
> 
> What I don't quite understand about 82599 and ixgbe driver is:
> 1) How exactly queues are grouped in pools in SR-IOV mode under ixgbe
> driver? How many queues belong to each pool (and thus to each VF)  by
> default, is it 1 queue or more?

Well it depends the hardware can be configured in lots of ways depending if you 
need DCB or not.  By default each VF gets 2 queues, which is the effective max 
per VF.  If you request more than 32 VF's then you only get 1 queue.

> 2) As I understand from the datasheet, the pool is first selected for Rx 
> packet
> by MAC address filters. Can it be changed later by 5-tuple or flow director
> filters (by selecting a queue that belongs to another pool), or can those only
> change queue number within a pool that is selected by MAC address?

Flow director would only be for choosing the queues with in a pool.  So in your 
VF case at most 2 queues.  This is why we only support RSS in the VF driver.

> 3) If the pool can't be changed with 5-tuple or flow director filters, should 
> it
> be possible to select multiple pools by MAC address (by modifying MPSAR[n]
> registers and enabling more than one pool bits for given MAC
> address) and then finally select queue (and a pool along with it) with 5-tuple
> or flow director filters? Does current ixgbe driver have any infrastructure 
> for
> this behavious?

I haven't set this up myself (multiple pool destination per MAC address) and 
believe it would be adversely affect performance due to all the replication. 

> 4) Does ethool ntuple features correspond to 5-tuple filters or flow director
> filters in 82599? They look pretty similar but seems to be two different sets 
> of
> filters.

ntuple feature is corresponds to perfect filter (mode of flow director).

> 
> Any help is really appreciated!

I know the above might not have been much help.  But if you aren't tied to 
SR-IOV you might want to look at VMDq.  Of course you would have to hack up the 
driver to make it work.  But then even if you use MPSAR to point at multiple 
pools you will have to make modifications to the driver.

> 
> Best regards,
> Eugene
------------------------------------------------------------------------------
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel&#174; Ethernet, visit 
http://communities.intel.com/community/wired

Reply via email to