All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jamal Hadi Salim <jhs@mojatatu.com>
To: Roopa Prabhu <roopa@cumulusnetworks.com>
Cc: John Fastabend <john.fastabend@gmail.com>,
	Hubert Sokolowski <h.sokolowski@wit.edu.pl>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	Vlad Yasevich <vyasevic@redhat.com>,
	Shrijeet Mukherjee <shm@cumulusnetworks.com>
Subject: Re: SRIOV as bridge Re: [PATCH net-next RESEND] net: Do not call ndo_dflt_fdb_dump if ndo_fdb_dump is defined.
Date: Mon, 22 Dec 2014 07:10:27 -0500	[thread overview]
Message-ID: <54980A33.6000801@mojatatu.com> (raw)
In-Reply-To: <5497B916.1020605@cumulusnetworks.com>

On 12/22/14 01:24, Roopa Prabhu wrote:
> On 12/21/14, 7:13 PM, Jamal Hadi Salim wrote:

>> For SRIOV it is. Example to add via pf eth10 an
>> fdb entry to the igb hardware fdb to point to vf1:
>> ip link set eth10 vf 1 mac aa:bb:cc:dd:ee:ff vlan 10
>> That last part "vf 1 mac aa:bb:cc:dd:ee:ff vlan 10" is typically
>> part of an "fdb add semantic" - but we explicitly call out
>> eth10, the parent. The PF has control of the hardware fdb.
>
> Ah......i did not know this syntax with 'ip link set'. thanks for
> pointing out.
> I always thought that you can still use 'bridge fdb add' for vfs.
> Curious why its not that way.
>

It was there before bridge command showed up. I think thats why
John feels it can be repaired. The main challenge is that most
of the time the VFs are "migrated" from host to VMs, so you cant
even list them on the host.
Actually you cant list them as netdevs (please someone
correct me if i am wrong). What you see are PCI devices.

 From my notes:
---
modprobe igb max_vfs=6
# lspci | grep 82576
0b:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network 
Connection (rev 01)
0b:00.1 Ethernet controller: Intel Corporation 82576 Gigabit Network 
Connection(rev 01)
0b:10.0 Ethernet controller: Intel Corporation 82576 Virtual Function 
(rev 01)
0b:10.1 Ethernet controller: Intel Corporation 82576 Virtual Function 
(rev 01)
..
...
....
---

And then you can tell qemu to use one of these devices as a network
device and holla it disappears from the host.

What you can do from the host side is tell the embedded hardware switch
to add an fdb which sends  packets to a VF using the above syntax (via
PF). I think PF as control interface to the VFs is a convinience issue.
It just happened to be there and could be used as the anchor.
This is why i was mapping it instead to theclassthingy which i think
is more generic.

>
>> So what do you do if the user sets either one of master/self and it
>> doesnt make sense?
>
> Am guessing it will continue to do what it does today. If there is no
> master or if there is master and the master does not support the op, it
> will return -EOPNOTSUPP. And, self does not make sense in cases where
> the port driver does not support the op. In which case again you will
> get a -EOPNOTSUPP. Have not thought through all the other cases yet.
>

So master is only valid if there is a software device parent?
Again note - none of these VFs are attached to a bridge today.
It doesnt seem to me like it even makes sense people want to
do that.
The PF could be and in such a case its master is the bridge.

cheers,
jamal

  reply	other threads:[~2014-12-22 12:10 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-10 19:37 [PATCH net-next RESEND] net: Do not call ndo_dflt_fdb_dump if ndo_fdb_dump is defined Hubert Sokolowski
2014-12-11  4:32 ` David Miller
2014-12-11 11:49   ` Jamal Hadi Salim
2014-12-11 16:51     ` Hubert Sokolowski
2014-12-11  7:31 ` Roopa Prabhu
2014-12-11 16:39   ` Hubert Sokolowski
2014-12-11 18:47     ` Arad, Ronen
2014-12-11 17:06   ` Hubert Sokolowski
2014-12-11 17:32     ` Roopa Prabhu
2014-12-11 20:40       ` Jamal Hadi Salim
2014-12-12 11:38       ` Hubert Sokolowski
2014-12-12 11:54         ` Jamal Hadi Salim
2014-12-12 13:36           ` Hubert Sokolowski
2014-12-12 14:35             ` Jamal Hadi Salim
2014-12-12 20:05               ` John Fastabend
2014-12-15 14:29                 ` Jamal Hadi Salim
2014-12-16  0:45                   ` John Fastabend
2014-12-16 13:06                     ` Jamal Hadi Salim
2014-12-16 14:35                       ` Hubert Sokolowski
2014-12-16 16:35                       ` John Fastabend
2014-12-16 17:21                         ` Samudrala, Sridhar
2014-12-16 19:30                           ` Roopa Prabhu
2014-12-16 20:11                             ` Samudrala, Sridhar
2014-12-17  5:54                               ` Roopa Prabhu
2014-12-21 14:27                         ` SRIOV as bridge " Jamal Hadi Salim
     [not found]                           ` <443500166.23675449.1419179623398.JavaMail.zimbra@cumulusnetworks.com>
2014-12-21 16:33                             ` Shrijeet Mukherjee
2014-12-21 19:08                           ` Roopa Prabhu
2014-12-21 19:19                             ` Jamal Hadi Salim
2014-12-21 19:36                               ` Roopa Prabhu
2014-12-21 20:06                                 ` Jamal Hadi Salim
2014-12-21 20:46                                   ` Roopa Prabhu
2014-12-22  3:13                                     ` Jamal Hadi Salim
2014-12-22  6:24                                       ` Roopa Prabhu
2014-12-22 12:10                                         ` Jamal Hadi Salim [this message]
2014-12-22 13:04                                           ` Jamal Hadi Salim
2014-12-21 19:52                             ` John Fastabend
2014-12-22  2:59                               ` Jamal Hadi Salim
2014-12-21 14:46                         ` SRIOV fdb and modes WAS(Re: " Jamal Hadi Salim
2014-12-17  5:51                       ` Roopa Prabhu
2014-12-17 15:39                     ` Vlad Yasevich
2014-12-17 16:18                       ` Hubert Sokolowski
2014-12-18 22:32                         ` Jamal Hadi Salim
2014-12-19 15:17                           ` Hubert Sokolowski
2014-12-19 16:32                             ` Roopa Prabhu
2015-01-05 12:56                               ` Hubert Sokolowski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54980A33.6000801@mojatatu.com \
    --to=jhs@mojatatu.com \
    --cc=h.sokolowski@wit.edu.pl \
    --cc=john.fastabend@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=roopa@cumulusnetworks.com \
    --cc=shm@cumulusnetworks.com \
    --cc=vyasevic@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.