Re: [patch net-next v2 8/9] switchdev: introduce Netlink API
From: Jamal Hadi Salim <hidden>
Date: 2014-09-20 12:35:52
On 09/20/14 07:51, Thomas Graf wrote:
I fail to see the connection. You can use switch vendor SDK no matter how we define the kernel APIs. They already exist and have been designed in a way to be completely indepenedent from the kernel. Are you referring to vendor specific decisions in user space in general? I believe that the whole point of swdev is to provide *that* level of abstraction so decisions can be made in a vendor neutral way.
I am not against the swdev idea. I think we have disagreements for the general classification/action interface how that should look like - but that is resolvable with correct interfaces. The vendor neutral way *already exists* via current netlink abstractions that existing tools use. When we need to add new interfaces then we should.
I don't think anybody is saying that. P4 is likely a reality soon. But we definitely want hardware offload in a BPF world even if the hardware can't do BPF yet.
I dont think we have contradictions. We are speaking past each other. You implied that in the future OVS s/w path might be based on BPF. I implied BPF itself could be offloaded and stands on its own merit and should work if we have the correct interface. As an example, I dont care about P4 or OVS - but i have no problem if they use the common interfaces provided by Linux. i.e If i want to build a little cpu running the BPF instruction set and use that as my offload then that interface should work and if it doesnt i should provide extensions.
Not sure I understand. OVS would be a user of eBPF just like tracing, xt_BPF, socket filter, ...
Ok, we are on the same page then.
As I said, this can be argued about. It would require to push a lot of context into the kernel though. The FDB offload is relatively trivial in comparison to the complexity OVS user space can handle. I can't think of any reasons why to complicate the kernel further with OVS specific knowledge as long as we can guarantee the vendor abstraction.
I disagree. OVS maybe complex in that sense (I am sorry i am making an assumption based on what you are saying) but i dont think there is any other kernel subsystem that has this challenge. Note: i am pointing to fdb only because it carries the concept of "put this in hardware and/or software". I agree the fdb maybe reasonably simpler. cheers, jamal