On 16-06-27 09:07 AM, Saeed Mahameed wrote: > From: Or Gerlitz <ogerl...@mellanox.com> > > Add the commands to set and show the mode of SRIOV E-Switch, > two modes are supported: > > * legacy : operating in the "old" L2 based mode (DMAC --> VF vport) > * offloads : offloading SW rules/policy (e.g Bridge/FDB or TC/Flows based) > set by the host OS > > Signed-off-by: Or Gerlitz <ogerl...@mellanox.com> > Signed-off-by: Saeed Mahameed <sae...@mellanox.com> > ---
Hi, Nice work overall also I really appreciated that the core networking interfaces appear to able to support this without any change. On this patch though do we really need modes like this? My concern with modes is two fold. One its another knob that some controller will have to get right which I would prefer to avoid. And two I suspect switching between the two modes flushes the tables or leaves them in some unexpected state? At least I can't figure out what the expected should be off-hand. Could we instead continue to use the "legacy" mode by default by just populating the fdb table correctly and then if users want to enable the "offloads" mode they can modify the fdb tables by deleting entries or adding them or just extending the dmac/vf mapping via 'tc'. This would seem natural to me. The flooding rules in fdb might need to be exposed a bit more cleanly to get the right default flooding behavior etc. But to me at least this would be much cleaner. Everything will be nicely defined and we wont have issues with drivers doing slightly and subtle different defaults between legacy/offload and the transitions between the states or on resets or etc. If users need to discover the current configuration then they just query fdb, query tc, and the state is known no need for any magic toggle switch as best I can see. Otherwise I didn't review the mlx code but read the commit msgs and it looks good. I'll take a closer look in the morning. Thanks, John