All of lore.kernel.org
 help / color / mirror / Atom feed
* L2 switching in igb
@ 2009-09-03  9:16 Or Gerlitz
  2009-09-04  4:35 ` Alexander Duyck
  0 siblings, 1 reply; 7+ messages in thread
From: Or Gerlitz @ 2009-09-03  9:16 UTC (permalink / raw)
  To: Alexander Duyck; +Cc: Kirsher, Jeffrey T, Fischer, Anna, netdev

Hi Alex, Jeff

I see that igb_vmm_control enables L2 switch functionality & replication of
multicast/broadcast packets across multiple pools (it calls both
igb_vmdq_set_loopback/replication_pf with true).

I wanted to check few related things with you:

First, what you think would be the correct method for letting the user control
if she wants the NIC to operate in VEPA mode (e.g forward VF/VF traffic to an
outside bridge and let the later do a Uturn) or to handle VF/VF traffic
internally? maybe it can be part or extension of the kernel DCB netlink API?

second, does igb_vmdq_set_replication_pf cause multicast packets to be
replicated to all VFs? I see that after invoking igb_vmm_control, there's
a call to igb_set_vmolr which sets the "Accept packets matched in MTA"
bit, so I wasn't sure what's is the final result, will the PF flood all
multicast packets and the VF accept only those that have a match in the MTA?

Or.

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

* Re: L2 switching in igb
  2009-09-03  9:16 L2 switching in igb Or Gerlitz
@ 2009-09-04  4:35 ` Alexander Duyck
  2009-09-10  8:04   ` Or Gerlitz
  0 siblings, 1 reply; 7+ messages in thread
From: Alexander Duyck @ 2009-09-04  4:35 UTC (permalink / raw)
  To: Or Gerlitz; +Cc: Kirsher, Jeffrey T, Fischer, Anna, netdev

In regards to changing the VEPA mode I haven't given it much thought.
I don't think it would work out as an extension to the DCB netlink API
since the two technologies are mostly unrelated.  The suggestion I
received from Dave and Stephen was to consider an rtnl_link_ops for
configuring the VFs, but I still have issues trying to visualize how
that would work since I don't want the VFs spawning in the
host/hypervisor OS as network devices.

The replication enable allows multicast and broadcast packets to be
replicated across multiple VFs and the PF.  With it disabled the
packet will be forwarded to the first matching VF/PF pool and will not
be delivered to any others.  The Multicast Table Arrary (MTA) is
shared between all of the enabled VFs and the PF.  By setting the
accept packets matched in the MTA bit it essentially enables multicast
addresses for the VF/PF pool being enabled.  Without that bit being
set no multicast packets would be accepted.

Thanks,

Alex

On Thu, Sep 3, 2009 at 2:16 AM, Or Gerlitz<ogerlitz@voltaire.com> wrote:
> Hi Alex, Jeff
>
> I see that igb_vmm_control enables L2 switch functionality & replication of
> multicast/broadcast packets across multiple pools (it calls both
> igb_vmdq_set_loopback/replication_pf with true).
>
> I wanted to check few related things with you:
>
> First, what you think would be the correct method for letting the user control
> if she wants the NIC to operate in VEPA mode (e.g forward VF/VF traffic to an
> outside bridge and let the later do a Uturn) or to handle VF/VF traffic
> internally? maybe it can be part or extension of the kernel DCB netlink API?
>
> second, does igb_vmdq_set_replication_pf cause multicast packets to be
> replicated to all VFs? I see that after invoking igb_vmm_control, there's
> a call to igb_set_vmolr which sets the "Accept packets matched in MTA"
> bit, so I wasn't sure what's is the final result, will the PF flood all
> multicast packets and the VF accept only those that have a match in the MTA?
>
> Or.
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

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

* Re: L2 switching in igb
  2009-09-04  4:35 ` Alexander Duyck
@ 2009-09-10  8:04   ` Or Gerlitz
  2009-09-10 17:30     ` Alexander Duyck
  0 siblings, 1 reply; 7+ messages in thread
From: Or Gerlitz @ 2009-09-10  8:04 UTC (permalink / raw)
  To: Alexander Duyck
  Cc: Kirsher, Jeffrey T, Fischer, Anna, netdev, David Miller,
	Stephen Hemminger

Alexander Duyck wrote:
> The suggestion I received from Dave and Stephen was to consider an rtnl_link_ops for
> configuring the VFs, but I still have issues trying to visualize how that would work since I don't want the VFs spawning in the host/hypervisor OS as network devices.
Note that VEPA mode is a characteristic of the PF, correct? and the PF 
resides in the host kernel. Also, as I wrote you earlier, I do see many 
schemes where a VF spawned in the host kernel IS very useful, and as 
such I'd be happy to continue the discussion on the approach suggested 
by Dave and Stephen, can you provide a pointer? (thanks).

Or.


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

* Re: L2 switching in igb
  2009-09-10  8:04   ` Or Gerlitz
@ 2009-09-10 17:30     ` Alexander Duyck
  2009-09-14 10:02       ` Or Gerlitz
  0 siblings, 1 reply; 7+ messages in thread
From: Alexander Duyck @ 2009-09-10 17:30 UTC (permalink / raw)
  To: Or Gerlitz
  Cc: Alexander Duyck, Kirsher, Jeffrey T, Fischer, Anna, netdev,
	David Miller, Stephen Hemminger

Or Gerlitz wrote:
> Note that VEPA mode is a characteristic of the PF, correct? and the PF 
> resides in the host kernel. Also, as I wrote you earlier, I do see many 
> schemes where a VF spawned in the host kernel IS very useful, and as 
> such I'd be happy to continue the discussion on the approach suggested 
> by Dave and Stephen, can you provide a pointer? (thanks).
> 
> Or.

You are correct, the vSwitch can basically do VEPA by disabling local 
loopback enable bit in the DTXSWC register.  This would force all 
traffic from the PF/VFs out the lan physical port and from the lan 
physical port to the appropriate PF/VFs without doing any switching in 
between PF/VFs.

I am currently thinking what probably needs to be done is to add an 
rtnl_link_ops interface to handle vSwitch configuration that could then 
be applied to the igb netdevs that support VEPA/vSwitch technologies.  A 
subset of that interface could then be dedicated to VF configuration to 
handle things such as spawning VFs, setting the default mac addresses, 
security controls, etc.

Thanks,

Alex


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

* Re: L2 switching in igb
  2009-09-10 17:30     ` Alexander Duyck
@ 2009-09-14 10:02       ` Or Gerlitz
  2009-09-15  2:52         ` Alexander Duyck
  0 siblings, 1 reply; 7+ messages in thread
From: Or Gerlitz @ 2009-09-14 10:02 UTC (permalink / raw)
  To: Alexander Duyck
  Cc: Alexander Duyck, Kirsher, Jeffrey T, Fischer, Anna, netdev,
	David Miller, Stephen Hemminger

Alexander Duyck wrote:
> You are correct, the vSwitch can basically do VEPA by disabling local 
> loopback enable bit in the DTXSWC register.  This would force all 
> traffic from the PF/VFs out the lan physical port and from the lan 
> physical port to the appropriate PF/VFs without doing any switching in 
> between PF/VFs.
To have VEPA support another bit has to be programmed... its the one 
that doesn't let the PF to forward a packet to a VF whose source mac 
matches the one in the packet (e.g multicast sender).

> add an rtnl_link_ops interface to handle vSwitch configuration that 
> could then be applied to the igb netdevs that support VEPA/vSwitch 
> technologies.  A subset of that interface could then be dedicated to 
> VF configuration to handle things such as spawning VFs, setting the 
> default mac addresses, security controls, etc.
Yes, lets do that. I'd like to suggest that a "VF programmable from user 
space" context  will contain a <mac, vlan-id, priority-bits, rate> 
tuple, such that in the absence of vlan tag, the VF driver will "sign" 
the packet (skb) with vlan-id and priority-bits assigned by the admin 
and the PF NIC will mandate that the VF originated traffic will not 
exceed the rate.

Or.


Or.


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

* Re: L2 switching in igb
  2009-09-14 10:02       ` Or Gerlitz
@ 2009-09-15  2:52         ` Alexander Duyck
  2009-09-15 13:19           ` Or Gerlitz
  0 siblings, 1 reply; 7+ messages in thread
From: Alexander Duyck @ 2009-09-15  2:52 UTC (permalink / raw)
  To: Or Gerlitz
  Cc: Alexander Duyck, Kirsher, Jeffrey T, Fischer, Anna, netdev,
	David Miller, Stephen Hemminger

On Mon, Sep 14, 2009 at 3:02 AM, Or Gerlitz <ogerlitz@voltaire.com> wrote:
> To have VEPA support another bit has to be programmed... its the one that
> doesn't let the PF to forward a packet to a VF whose source mac matches the
> one in the packet (e.g multicast sender).

The bit I was referring to not setting would handle that.  By
disabling the DTXSWC local loopback bit the PF will not send anything
to the VFs or visa versa.

> Yes, lets do that. I'd like to suggest that a "VF programmable from user
> space" context  will contain a <mac, vlan-id, priority-bits, rate> tuple,
> such that in the absence of vlan tag, the VF driver will "sign" the packet
> (skb) with vlan-id and priority-bits assigned by the admin and the PF NIC
> will mandate that the VF originated traffic will not exceed the rate.

Well whenever I can get to it I will try to add that support.  In the
meantime I believe there is a BOF session covering "Virtual Ethernet
switch enhancements and configuration" at the Linux Plumbers Conf that
will cover some of this so hopefully we can come up with a solid plan
on how to address this.

Thanks,

Alex

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

* Re: L2 switching in igb
  2009-09-15  2:52         ` Alexander Duyck
@ 2009-09-15 13:19           ` Or Gerlitz
  0 siblings, 0 replies; 7+ messages in thread
From: Or Gerlitz @ 2009-09-15 13:19 UTC (permalink / raw)
  To: Alexander Duyck
  Cc: Alexander Duyck, Kirsher, Jeffrey T, Fischer, Anna, netdev,
	David Miller, Stephen Hemminger

Alexander Duyck wrote:
> Well whenever I can get to it I will try to add that support.  In the meantime I believe there is a BOF session covering "Virtual Ethernet switch enhancements and configuration" at the Linux Plumbers Conf that will cover some of this so hopefully we can come up with a solid plan on how to address this.
>   
thanks for the BOF pointer, I see that this takes place next week, so it 
would be nice if someone will drop a note to the list on what is more or 
less the proposed design.

Or.


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

end of thread, other threads:[~2009-09-15 13:19 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-09-03  9:16 L2 switching in igb Or Gerlitz
2009-09-04  4:35 ` Alexander Duyck
2009-09-10  8:04   ` Or Gerlitz
2009-09-10 17:30     ` Alexander Duyck
2009-09-14 10:02       ` Or Gerlitz
2009-09-15  2:52         ` Alexander Duyck
2009-09-15 13:19           ` Or Gerlitz

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.