0% found this document useful (0 votes)
41 views

Ocp Sai Openissues and Cps Dec 2

The document discusses SAI (Switch Abstraction Interface) extensibility and open issues. SAI defines objects and attributes that can be used to configure and manage a switch. Extending SAI involves defining new attributes or objects. Attributes have data types and objects can have add/delete functions for list attributes. SAI versioning allows discovery of supported objects/attributes. The document also discusses mandatory/optional features, default values, testing needs, OS integration, and using CPS (Control Plane Service) as a way to exchange configuration data models in a loosely coupled way.

Uploaded by

mach75
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views

Ocp Sai Openissues and Cps Dec 2

The document discusses SAI (Switch Abstraction Interface) extensibility and open issues. SAI defines objects and attributes that can be used to configure and manage a switch. Extending SAI involves defining new attributes or objects. Attributes have data types and objects can have add/delete functions for list attributes. SAI versioning allows discovery of supported objects/attributes. The document also discusses mandatory/optional features, default values, testing needs, OS integration, and using CPS (Control Plane Service) as a way to exchange configuration data models in a loosely coupled way.

Uploaded by

mach75
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

SAI Open Issues & Extensibility

CPS Control Plane Service API


Sanjay Sane, Mike Lazar, Arun Subash, Cliff Wichmann

SAI Extensibility ?
SAI version N

...

Obj-2

...

Obj-N

Attr-N

Attr-2

Attr-1

Obj-1

SAI API is essentially various methods that can access objects and attributes.
API has essential functions to create/delete these objects, and get/set the attributes
within those objects.
Attributes can be of basic data-types
List attributes also have add/delete functions
Objects & attributes are well-defined switching abstractions.
At SAI initialization time, Adapter-host queries the method-table corresponding to a
version. This allows discovery of which objects/attributes are supported by the
adapter.

Confidential

Global Solutions Marketing & Messaging

SAI Extensibility ?
SAI version N

...

Obj-2

...

Obj-N

Attr-N

Attr-2

Attr-1

Obj-1

Extending SAI for new


functionality could involve
defining a new attribute or even
a new object.

...

During the experimentation


process (or a ASIC-specific
functionality), the new
attribtues/objects can be outside
of SAIs upstream.
(do grab the ID space, though)

SAI version N+1

Confidential

Obj-N

Attr-1

Attr-N+1

...

Obj-2
Attr-N

Attr-2

Attr-1

Obj-1

Obj-N
+1

However, strong suggestion to


provide patch/proposals so these
abstractions are upstreamed
into SAI.

Global Solutions Marketing & Messaging

SAI Issues - Discussions


Mandatory/optional
Global API level version
Each object and attribute will either be mandatory or optional, for
any global API level version
During initialization, its expected that all mandatory objects/
attributes, for _that_ global API version are supported by the adapter.
Defaults
Each attribute to have defaults.
these can be changed at SAI initialization
Test harness
Testing correctness of SAI adapter will need a test Adapter Host
Can be used to test interoperability as well as performance.
Contributions expected in this area.

Confidential

Global Solutions Marketing & Messaging

SAI Issues - Discussions


OS integration
Many facets of integrating with native OS (kernel APIs).
Kernel APIs should allow Packet Tx/rx, interface status in kernel,
configuration, statistics, et al
Not addressed.
Multi-chip support
SAI assumes one SAI adapter instance per forwarding ASIC.
Support for multiple chip platforms is NOT in SAI, but can be
handled over the top.
Various platforms can string in multiple chips with various fabric
interconnect methods
Perhaps different CPUs control different chips.

Confidential

Global Solutions Marketing & Messaging

CPS discussion.
SAI is a way to express switch abstractions as seen by the
Forwarding ASIC. Objects and Attributes in SAI are
essentially a logical forwarding model.

data

Mgmt.

CPS is a data-centric publish-subscribe infrastructure, and a


network state repository.
This allows for loose coupling of applications

data

data

Control-Plane service

Sample
(Protocol)
App

Adapter Host
SAI

I/O

Adapter

kernel I/O
driver

Any OS

CPS is a way to express services in a much generic,


application-friendly manner. Thus, it can be used to
exchange data models for variety of usecases, such as
Protocol configuration
L2-L3 forwarding configurations
Services such as Topology, Inventory
PBR, Traffic Engineering
Affinities/Group-based Policy
etc.
Initial target is to define data-models for L2-L3 forwarding
configurations, mirroring those that will eventually drive
SAI interactions.

Networking
ASIC(s)

Confidential

Global Solutions Marketing & Messaging

Thank you

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy