Messages in this thread | | | From | Hans Schultz <> | Subject | Re: [PATCH net-next 5/5] net: dsa: mv88e6xxx: implementation of dynamic ATU entries | Date | Tue, 14 Feb 2023 22:14:55 +0100 |
| |
On Mon, Feb 06, 2023 at 17:02, Simon Horman <simon.horman@corigine.com> wrote: > > Just to clarify my suggestion one last time, it would be along the lines > of the following (completely untested!). I feel that it robustly covers > all cases for fdb_flags. And as a bonus doesn't need to be modified > if other (unsupported) flags are added in future. > > if (fdb_flags & ~(DSA_FDB_FLAG_DYNAMIC)) > return -EOPNOTSUPP; > > is_dynamic = !!(fdb_flags & DSA_FDB_FLAG_DYNAMIC) > if (is_dynamic) > state = MV88E6XXX_G1_ATU_DATA_STATE_UC_AGE_7_NEWEST; > > > And perhaps for other drivers: > > if (fdb_flags & ~(DSA_FDB_FLAG_DYNAMIC)) > return -EOPNOTSUPP; > if (fdb_flags) > return 0; > > Perhaps a helper would be warranted for the above.
How would such a helper look? Inline function is not clean.
> > But in writing this I think that, perhaps drivers could return -EOPNOTSUPP > for the DSA_FDB_FLAG_DYNAMIC case and the caller can handle, rather tha > propagate, -EOPNOTSUPP.
I looked at that, but changing the caller is also a bit ugly.
> > Returning -EOPNOTSUPP is the normal way to drivers to respond to requests > for unsupported hardware offloads. Sticking to that may be clearner > in the long run. That said, I do agree your current patch is correct > given the flag that is defined (by your patchset).
| |