Mon, Mar 18, 2019 at 08:16:42PM CET, jakub.kicin...@netronome.com wrote: >On Mon, 18 Mar 2019 13:11:54 +0100, Jiri Pirko wrote: >> >> >2. flavour should not be vf/pf, flavour should be hostport, switchport. >> >> >Because switch is flat and agnostic of pf/vf/mdev. >> >> >> >> Not sure. It's good to have this kind of visibility. >> > >> >Yes, this subthread honestly makes me go from 60% sure to 95% sure we >> >shouldn't do the dual object thing :( Seems like Parav is already >> >confused by it and suggests host port can exist without switch port :( >> >> Although I understand your hesitation, the host ports are also >> associated with the asic and should be under the devlink instance. >> It is just a matter of proper documentation and clear code to avoid >> confusions. > >They are certainly a part and belong to the ASIC, the question in my >mind is more along the lines of do we want "one pipe/one port" or is >it okay to have multiple software objects of the same kind for those >objects. > >To put it differently - do want a port object for each port of the ASIC >or do we want a port object for each netdev..
Perhaps "port" name of the object is misleading. From the beginning, I ment to have it for both switch ports and host ports. I admit that "host port" is a bit misleading, as it is not really a port of eswitch, but the counter part. But if we introduce another object for that purpose in devlink (like "partititon"), it would be a lot of duplication I think. Question is, do we need the "host port"? Can't we just put a relation to host netdev in the eswitch port. So as you suggest, we would have devlink_port -+-- switch netdev/ibdev | +-- host netdev/ibdev So the "weights" of both switch/host netdev/ibdev to devlink_port relations would be equivalent. Then, the devlink_port would represent the whole "pipe" with both ends. More I think about it, the more it makes sense to me...