Thu, Aug 01, 2019 at 12:31:52AM CEST, dsah...@gmail.com wrote: >On 7/31/19 4:28 PM, Jakub Kicinski wrote: >> On Wed, 31 Jul 2019 16:07:31 -0600, David Ahern wrote: >>> On 7/31/19 4:02 PM, Jakub Kicinski wrote: >>>> Can you elaborate further? Ports for most purposes are represented by >>>> netdevices. Devlink port instances expose global topological view of >>>> the ports which is primarily relevant if you can see the entire ASIC. >>>> I think the global configuration and global view of resources is still >>>> the most relevant need, so in your diagram you must account for some >>>> "all-seeing" instance, e.g.: >>>> >>>> namespace 1 | namespace 2 | ... | namespace N >>>> | | | >>>> { ports 1 } | { ports 2 } | ... | { ports N } >>>> | | | >>>> subdevlink 1 | subdevlink 2 | ... | subdevlink N >>>> \______ | _______/ >>>> master ASIC devlink >>>> ================================================= >>>> driver >>>> >>>> No? >>> >>> sure, there could be a master devlink visible to the user if that makes >>> sense or the driver can account for it behind the scenes as the sum of >>> the devlink instances. >>> >>> The goal is to allow ports within an asic [1] to be divided across >>> network namespace where each namespace sees a subset of the ports. This >>> allows creating multiple logical switches from a single physical asic. >>> >>> [1] within constraints imposed by the driver/hardware - for example to >>> account for resources shared by a set of ports. e.g., front panel ports >>> 1 - 4 have shared resources and must always be in the same devlink instance. >> >> So the ASIC would start out all partitioned? Presumably some would >> still like to use it non-partitioned? What follows there must be a top >> level instance to decide on partitioning, and moving resources between >> sub-instances. >> >> Right now I don't think there is much info in devlink ports which would >> be relevant without full view of the ASIC.. >> > >not sure how it would play out. really just 'thinking out loud' about >the above use case to make sure devlink with proper namespace support >allows it - or does not prevent it.
I Don't see reason or usecase to have ports or other objects of devlink in separate namespaces. Devlink and it's objects are one big item, should be always together.