From: Shrijeet Mukherjee <shm@cumulusnetworks.com>
To: Hannes Frederic Sowa <hannes@stressinduktion.org>
Cc: "Scott Feldman" <sfeldma@gmail.com>,
Netdev <netdev@vger.kernel.org>, "Jiří Pírko" <jiri@resnulli.us>,
"john fastabend" <john.fastabend@gmail.com>,
"Thomas Graf" <tgraf@suug.ch>,
"Jamal Hadi Salim" <jhs@mojatatu.com>,
"Andy Gospodarek" <andy@greyhouse.net>,
"Roopa Prabhu" <roopa@cumulusnetworks.com>
Subject: RE: [PATCH net-next 1/3] net: add IPv4 routing FIB support for swdev
Date: Wed, 7 Jan 2015 09:54:30 -0800 [thread overview]
Message-ID: <1b5a5a02b187fde4c2491ce757cb0045@mail.gmail.com> (raw)
In-Reply-To: <1420629792.26870.59.camel@stressinduktion.org>
>
>I could come up with several ways how to model hardware. Depending on that
>the integration with rules is easy or nearly impossible:
>
>1) it simply cannot deal with ip rules, so there is no way an ACL can
>influence the
>outcome of a routing table lookup - if the feature should be used, it has
>to use
>the slow-path in the kernel.
As Scott was saying, most hardware has table id's and the ability to
identify and prioritize that way.
>
>2) ACLs can influence which routing table will get queried - this sounds
>very much
>like the ip rule model and it seems not too hard to model that.
This clearly can be made to work .. the problem is really the space of
policy routing (i.e jump across VRF's incase of a lookup failure) when
combined with the space of ip rule flexibility.
>
>3) Routing implementations in the hardware have a single routing table and
>the
>leafs carry different actions with priorities: making this kind of model
>working
>with the ip rule concept will become very difficult and it might require
>lots of
>algorithmic code by every driver to adapt to a single API provided by
>Linux. It
>might be possible, if the hardware provides actions like backtrack and
>retrack and
>can keep state of priorities during walking the tree, I really doubt that.
In the short term .. this maybe a good way to go but with a simplication.
Some tables are offloaded and the rest at the full table level is in
software. Finally then you can put a "default route" in the hardware table
to punt to cpu and then keep the software model clever and the hardware
model fast ?
>
>Implementations of type 3) would look naturally to do in hardware (see
>different
>Cisco policy routing configurations or ipv6 subtree feature), so it seems
>it won't
>be possible to find a simple way to fuse rules and offloading in case of
>point 3).
>
>Rocker sounds a lot like model 2) and this seems possible and should be a
>matter
>of API design. It should merely be a matter of nicely model the data
>structures. ;)
>
>Also, @Scott: if you build drivers with l3 offloading as modules, don't you
>need to
>push the full routing tables to the hw once? Maybe we should think about
>the
>drivers pulling routing information from the kernel, the kernel only
>notifying
>something changed?
>
>Bye,
>Hannes
>
next prev parent reply other threads:[~2015-01-07 18:00 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-02 3:29 [PATCH net-next 1/3] net: add IPv4 routing FIB support for swdev sfeldma
2015-01-02 5:49 ` roopa
2015-01-02 8:00 ` Scott Feldman
2015-01-02 11:39 ` Arad, Ronen
2015-01-02 17:20 ` Scott Feldman
2015-01-02 22:57 ` roopa
2015-01-02 20:55 ` roopa
2015-01-02 11:21 ` Arad, Ronen
2015-01-02 21:53 ` roopa
2015-01-06 13:58 ` Hannes Frederic Sowa
2015-01-06 17:51 ` Scott Feldman
2015-01-06 19:59 ` Hannes Frederic Sowa
2015-01-06 20:26 ` Hannes Frederic Sowa
2015-01-07 2:08 ` Shrijeet Mukherjee
2015-01-07 11:23 ` Hannes Frederic Sowa
2015-01-07 17:54 ` Shrijeet Mukherjee [this message]
2015-01-08 13:03 ` Hannes Frederic Sowa
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=1b5a5a02b187fde4c2491ce757cb0045@mail.gmail.com \
--to=shm@cumulusnetworks.com \
--cc=andy@greyhouse.net \
--cc=hannes@stressinduktion.org \
--cc=jhs@mojatatu.com \
--cc=jiri@resnulli.us \
--cc=john.fastabend@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=roopa@cumulusnetworks.com \
--cc=sfeldma@gmail.com \
--cc=tgraf@suug.ch \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).