[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <533312A3.5070600@cumulusnetworks.com>
Date: Wed, 26 Mar 2014 10:47:15 -0700
From: Roopa Prabhu <roopa@...ulusnetworks.com>
To: Jiri Pirko <jiri@...nulli.us>
CC: Jamal Hadi Salim <jhs@...atatu.com>,
Florian Fainelli <f.fainelli@...il.com>,
Neil Horman <nhorman@...driver.com>,
Thomas Graf <tgraf@...g.ch>, netdev <netdev@...r.kernel.org>,
David Miller <davem@...emloft.net>,
Andy Gospodarek <andy@...yhouse.net>,
dborkman <dborkman@...hat.com>, ogerlitz <ogerlitz@...lanox.com>,
jesse <jesse@...ira.com>, pshelar <pshelar@...ira.com>,
azhou <azhou@...ira.com>, Ben Hutchings <ben@...adent.org.uk>,
Stephen Hemminger <stephen@...workplumber.org>,
jeffrey.t.kirsher@...el.com, vyasevic <vyasevic@...hat.com>,
Cong Wang <xiyou.wangcong@...il.com>,
John Fastabend <john.r.fastabend@...el.com>,
Eric Dumazet <edumazet@...gle.com>,
Scott Feldman <sfeldma@...ulusnetworks.com>,
Lennert Buytenhek <buytenh@...tstofly.org>,
Shrijeet Mukherjee <shm@...ulusnetworks.com>
Subject: Re: [patch net-next RFC 0/4] introduce infrastructure for support
of switch chip datapath
On 3/26/14, 9:59 AM, Jiri Pirko wrote:
> Wed, Mar 26, 2014 at 05:54:17PM CET, roopa@...ulusnetworks.com wrote:
>> On 3/26/14, 3:54 AM, Jamal Hadi Salim wrote:
>>> On 03/26/14 01:37, Roopa Prabhu wrote:
>>>> On 3/25/14, 1:11 PM, Florian Fainelli wrote:
>>>>> 2014-03-25 12:35 GMT-07:00 Neil Horman <nhorman@...driver.com>:
>>>> Sorry about getting on this thread late and possibly in the middle.
>>>> Agree on the idea of keeping the ports linked to the master switch dev
>>>> (or the 'conduit' to the switch chip) via private list instead of the
>>>> master-slave relationship proposed earlier.
>>>> By private i mean the netdev->priv linkage to the master switch dev and
>>>> not really keeping the ports from being exposed to the user.
>>>>
>>>> We think its better to keep the switch ports exposed as any other netdev
>>>> on linux.
>>>> This approach will make the switch ports look exactly like a nic port
>>>> and all tools will continue to work seamlessly. The switch port
>>>> operations could internally be forwarded to the switch netdev (sw1 in
>>>> the above case).
>>>>
>>>> example:
>>>> $ip link set dev sw1p0 up
>>>> $ethtool -S sw1p0
>>>>
>>> I like the approach. I know the above is a simple version, but i am
>>> assuming you also mean i can do things like
>>> ip route add ...
>>> bridge fdb add ... (and if you like your brctl go ahead)
>>> bonding ...
>>>
>> yes, exactly. We support this model on our boxes today.
>> User can bond switch ports on our box in the exact same way as he/she
>> would bond two nic ports.
>> Our 'conduit to switch chip' reflects the corresponding lag
>> configuration in the switch chip.
>> Same goes for bridging, routing, acls.
>
> So you implement bonding netlink api? Or you hook into bonding driver
> itselt? Can you show us the code?
We use the netlink API and libnl. In our current model, our switch chip
driver listens to netlink notifications and programs the switch chip.
The switch chip driver uses libnl caches and libnl netlink apis to
reflect the kernel state to switch chip.
Thanks,
Roopa
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists