From: Jamal Hadi Salim <jhs-jkUAjuhPggJWk0Htik3J/w@public.gmane.org>
To: Jesse Gross <jesse-l0M0P4e3n4LQT0dZR+AlfA@public.gmane.org>
Cc: dev-yBygre7rU0TnMu66kgdUjQ@public.gmane.org,
netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
"David S. Miller" <davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
Subject: Re: [PATCH net-next 4/4] net: Add Open vSwitch kernel components.
Date: Tue, 22 Nov 2011 20:45:55 -0500 [thread overview]
Message-ID: <1322012755.2039.36.camel@mojatatu> (raw)
In-Reply-To: <CAEP_g=8puZh8hihoyoHTc4f6cBu4jiDJQ6tqk6suQxR=dchyjA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
On Tue, 2011-11-22 at 15:11 -0800, Jesse Gross wrote:
> As you mention, one of the biggest benefits of Open vSwitch is how
> simple the kernel portions are (it's less than 6000 lines).
I said that was the reason _you_ were using to justify things
and i argue that is not accurate.
You will be adding more actions and more classification fields to
the datapath - and you are going to add them to that monolithic
"simple" code. And it is going to grow.
BTW, you _are using some of the actions_ already (the policer for
example to do rate control; no disrespect intended but in a terrible
way).
Eventually you will canibalize that in your code because it is "simpler"
to do that.
So to be explicit: I dont think this is a good arguement.
> It's
> existed as an out-of-tree project for several years now so it's
> actually fairly mature already and unlikely that there will be a
> sudden influx of new code over the coming months. There's already
> quite a bit of functionality that has been implemented on top of it
> and it's been mentioned that several other components can be written
> in terms of it
I very much empathize with this point. But that is not a technical
issue.
> so I think that it's fairly generic infrastructure that
> can be used in many ways. Over time, I think it will result in a net
> reduction of code in the kernel as the design is heavily focused on
> delegating work to userspace.
Both your goal and the Linux qos/filtering/action code is to be be
modular and move policy control out of the kernel. In our case,
any of the actions, classifiers, qos schedulers can be experimented
with out of tree with zero patch needs and when ready pushed into the
kernel with zero code changes to the core. So nothing in what we have
says the policy control sits in the kernel.
> I would view it as similar in many ways to the recently added team
> device, which is based on the idea of keeping simple things simple.
Good analogy, but wrong direction: Bonding is a monolithic christmas
tree which people kept adding code to because it was "simpler" to do
so.
Your code is heading that way because as openflow progresses or some
new thing comes along (I notice capwap) you'll be adding more code for
more classifiers and more actions and maybe more schedulers and will
have to replicate things we provide. And they all go into this
monolithic code because it is "simpler".
Is there anything we do that makes it hard for you to use the
infrastructure provided? Is there anything you do that we cant
provide via the classifier-action-scheduler infrastructure?
If you need help let me know.
cheers,
jamal
next prev parent reply other threads:[~2011-11-23 1:45 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-18 23:12 [GIT PULL net-next] Open vSwitch Jesse Gross
[not found] ` <1321657938-21761-1-git-send-email-jesse-l0M0P4e3n4LQT0dZR+AlfA@public.gmane.org>
2011-11-18 23:12 ` [PATCH net-next 1/4] genetlink: Add genl_notify() Jesse Gross
2011-11-18 23:12 ` [PATCH net-next 2/4] genetlink: Add lockdep_genl_is_held() Jesse Gross
2011-11-18 23:12 ` [PATCH net-next 3/4] vlan: Move vlan_set_encap_proto() to vlan header file Jesse Gross
2011-11-18 23:12 ` [PATCH net-next 4/4] net: Add Open vSwitch kernel components Jesse Gross
[not found] ` <1321657938-21761-5-git-send-email-jesse-l0M0P4e3n4LQT0dZR+AlfA@public.gmane.org>
2011-11-18 23:23 ` Stephen Hemminger
[not found] ` <20111118152334.2c2a9761-We1ePj4FEcvRI77zikRAJc56i+j3xesD0e7PPNI6Mm0@public.gmane.org>
2011-11-19 0:58 ` Jesse Gross
[not found] ` <CAEP_g=8PjK3GWuDVT36UVxWsQsGwf1WGYXZDCdax+3XqX5-T4A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-11-19 1:09 ` Stephen Hemminger
[not found] ` <93c2cdf4-43be-4a83-88a6-8f4c8a45e581-bX68f012229Xuxj3zoTs5AC/G2K4zDHf@public.gmane.org>
2011-11-19 1:37 ` David Miller
[not found] ` <20111118.203732.971277374822526847.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2011-11-19 18:19 ` Jesse Gross
2011-11-19 5:30 ` John Fastabend
[not found] ` <4EC73EDB.1010204-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2011-11-19 23:06 ` Jesse Gross
[not found] ` <CAEP_g=8EpR_Z54ZvGZzFAeCVwVED3SUrddvLt7-aQ76Q919ekQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-11-20 4:55 ` John Fastabend
2011-11-21 12:20 ` jamal
2011-11-21 12:29 ` jamal
2011-11-22 23:11 ` Jesse Gross
2011-11-22 23:11 ` Jesse Gross
[not found] ` <CAEP_g=8puZh8hihoyoHTc4f6cBu4jiDJQ6tqk6suQxR=dchyjA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-11-22 23:19 ` David Miller
[not found] ` <20111122.181930.1186109067515095173.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2011-11-23 1:34 ` Jesse Gross
[not found] ` <CAEP_g=8EqkfRq4XmGy_8-f1FrXrvjHNBT6u70a_2mqDnyp2Miw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-11-23 1:42 ` David Miller
2011-11-23 1:45 ` Jamal Hadi Salim [this message]
2011-11-23 2:30 ` John Fastabend
[not found] ` <4ECC5AAB.8000605-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2011-11-23 3:07 ` Jamal Hadi Salim
2011-11-23 5:37 ` Chris Wright
2011-11-24 2:34 ` Justin Pettit
[not found] ` <E521938A-E5E5-48CE-B784-6BF38ED274AE-l0M0P4e3n4LQT0dZR+AlfA@public.gmane.org>
2011-11-24 13:25 ` jamal
2011-11-27 7:17 ` Justin Pettit
[not found] ` <198A6700-6BB3-4639-A2AC-C306DFB24CE0-l0M0P4e3n4LQT0dZR+AlfA@public.gmane.org>
2011-11-27 18:00 ` jamal
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=1322012755.2039.36.camel@mojatatu \
--to=jhs-jkuajuhpggjwk0htik3j/w@public.gmane.org \
--cc=davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org \
--cc=dev-yBygre7rU0TnMu66kgdUjQ@public.gmane.org \
--cc=jesse-l0M0P4e3n4LQT0dZR+AlfA@public.gmane.org \
--cc=netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
/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).