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.