Three Models of Smart NIC Offload In late

  • Slides: 5
Download presentation
Three Models of Smart. NIC Offload In late April, we had an email thread

Three Models of Smart. NIC Offload In late April, we had an email thread where we talked about various ways to structure the work, which in turn provided focus on which option or options should be in scope for the Tungsten Fabric TSC. These slides illustrate three models that were identified by Marc to illustrate the spectrum of possibilities. These models are presented to facilitate communication and work toward a common understanding of exactly what is in scope, and what is not in scope. We do not have agreement to support all three models; the question now is, which do we as a group want to tackle? Models 1 and 3 show extremes. Model 2 can have a varying mix of generic and vendor-specific functions in the GOM. Please see the “Smart. NIC Discussion” in the Tungsten Fabric Google Group, https: //groups. google. com/forum/#!topic/tungsten-dev/KMP 1 u. NIAMs 0 Model 1 Model 2 Model 3

Model 1: TSC defines Interface A. Each vendor builds its own OM. Tungsten Fabric

Model 1: TSC defines Interface A. Each vendor builds its own OM. Tungsten Fabric Agent Tungsten Fabric v. Router terface A could involve multiple APIs; i. e. , it could be ought of as a set of interfaces if needed. ? It is currently an open question whether this interface should be supported Open. Contrail (and ideally any v. S/v. R) A Vendor-Specific Offload Module (OM) Flow API Interface API Exception Path API Vendor X’s Smart. NIC Driver Flow Route Load Balancer Smart. NIC Tunnel Vendor X’s nongeneric functions Stats Each supplier builds its own GOM, Driver, and Smart. NIC, and conforms to Interface A

Model 2: There are both generic and vendor-specific interfaces Tungsten Fabric Agent Tungsten Fabric

Model 2: There are both generic and vendor-specific interfaces Tungsten Fabric Agent Tungsten Fabric v. Router Open. Contrail (and ideally any v. S/v. R) ? A Generic Offload Module (GOM) Generic Offload Plugins This is an example of possible multiple APIs to support Flow API Interface API Exception Path API Vendor Offload Plugin Smart. NIC work structured by this group; open source. There is one of these B Linux TC Module Flow API C E D Interface API Exception Path API Vendor X’s Smart. NIC Driver Flow Route Load Balancer Smart. NIC Tunnel Vendor X’s nongeneric functions Stats Developed by each Smart. NIC vendor, to meet the defined APIs

Model 3: There are no vendor-specific interfaces in this model. Tungsten Fabric Agent Tungsten

Model 3: There are no vendor-specific interfaces in this model. Tungsten Fabric Agent Tungsten Fabric v. Router Open. Contrail (and ideally any v. S/v. R) ? A Generic Offload Module (GOM) Generic Offload Plugin This is an example of possible multiple APIs to support Flow API Interface API Exception Path API Other APIs Smart. NIC work structured by this group; open source. There is one of these B Linux TC Module Flow API C etc D Interface API Exception Path API Other APIs Vendor X’s Smart. NIC Driver Flow Route Load Balancer Smart. NIC Tunnel Stats Developed by each Smart. NIC vendor, to meet the defined APIs

Model 3: was selected as the basis for initial work. A few modifications are

Model 3: was selected as the basis for initial work. A few modifications are made here 8/14/2018 Agent periodically scans shared memory to detect closed sessions. Scan rate = ? Tungsten Fabric Agent Tungsten Fabric v. Router A ? v. Router keeps flow state and counters. In memory shared with Agent Generic Offload Module (GOM) Smart. NIC work structured by this group; open source. There is one of these Generic Offload Plugin B Single API twn GOM and Driver Linux TC Module and/or rte_flow Vendor X’s Smart. NIC Driver Flow Open. Contrail (and ideally any v. S/v. R) Route Load Balancer Tunnel Smart. NIC (w example functions) Stats Developed by each Smart. NIC vendor, to meet the defined APIs