Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Controller ¶
type Controller struct {
Config Config
// contains filtered or unexported fields
}
Controller p4rt controller
func StartController ¶
func StartController(cfg Config) *Controller
StartController creates a new P4RTController instance and starts it
func (*Controller) Client ¶
func (c *Controller) Client(ctx context.Context, targetID topoapi.ID) (TargetClient, error)
Client returns a master client for the given target
type TargetClient ¶
type TargetClient interface {
ID() topoapi.ID
Capabilities(ctx context.Context, opts ...grpc.CallOption) (*p4api.CapabilitiesResponse, error)
Read(ctx context.Context, entities []*p4api.Entity, ch chan *p4api.Entity, opts ...grpc.CallOption) error
Write(ctx context.Context, updates []*p4api.Update, atomicity p4api.WriteRequest_Atomicity, opts ...grpc.CallOption) (*p4api.WriteResponse, error)
GetForwardingPipelineConfig(ctx context.Context, responseType p4api.GetForwardingPipelineConfigRequest_ResponseType, opts ...grpc.CallOption) (*p4api.GetForwardingPipelineConfigResponse, error)
PacketIn(ch chan *p4api.PacketIn) error
PacketOut(packetOut *p4api.PacketOut) error
}
TargetClient an interface to interact with the P4 programmable device via P4Runtime API
Click to show internal directories.
Click to hide internal directories.