On 08/24/14 22:42, John Fastabend wrote:
In the L2 case we already have the fdb_add and fdb_del semantics that are being used today by NICs with embedded switches. And we have a DSA patch we could dig out of patchwork for those drivers.
Indeed. That is an excellent starting point of something that is proven to work. I was hoping L3 would follow this path. For L2, there is the mess of claiming unicast NIC addresses as part of the fdb, but that can almost be ignored. Caveat: fdb_XXX works well for NICs as well as different larger ASICs - but some quark handling is going to be needed for the tinier openwrt type devices. For larger switches we are going to need more for L2: Really, the bridge already covers everthing large switches offer (Vlan filtering, bridge port setting etc). We just need to offload that...
So I think it makes more sense to use the explicit interface rather than put another shim layer in the kernel. Its simpler and more to the point IMO. I suspect the resulting code will be smaller and easier to read. I'm the squemish one in the audience here.
L2/3 should be left alone and go this path. My concern on excessive NDOs was more on the flow view of the world. cheers, jamal
.John
_______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev