Documentation ¶
Overview ¶
Package dataplane is an implementation of the dataplane HAL API.
Index ¶
- type Dataplane
- func (d *Dataplane) FwdClient() (fwdpb.ServiceClient, error)
- func (d *Dataplane) ID() string
- func (d *Dataplane) Start(ctx context.Context, c gpb.GNMIClient, target string) error
- func (d *Dataplane) Stop(ctx context.Context) error
- func (d *Dataplane) Validate(*oc.Root) error
- func (d *Dataplane) ValidationPaths() []ygnmi.PathStruct
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Dataplane ¶
type Dataplane struct {
// contains filtered or unexported fields
}
Dataplane is an implementation of Dataplane HAL API.
func (*Dataplane) FwdClient ¶
func (d *Dataplane) FwdClient() (fwdpb.ServiceClient, error)
FwdClient gets a gRPC client to the packet forwarding engine.
func (*Dataplane) ValidationPaths ¶
func (d *Dataplane) ValidationPaths() []ygnmi.PathStruct
ValidationPaths is a noop to implement to the reconciler interface.
Directories ¶
Path | Synopsis |
---|---|
Package forwarding manages forwarding contexts and forwarding objects.
|
Package forwarding manages forwarding contexts and forwarding objects. |
fwdaction
Package fwdaction contains routines and types to manage forwarding actions.
|
Package fwdaction contains routines and types to manage forwarding actions. |
fwdaction/actions
Package actions implements various types of actions supported within Lucius.
|
Package actions implements various types of actions supported within Lucius. |
fwdaction/mock_fwdpacket
Package mock_fwdpacket is a generated GoMock package.
|
Package mock_fwdpacket is a generated GoMock package. |
fwdaction/mock_fwdport
Package mock_fwdport is a generated GoMock package.
|
Package mock_fwdport is a generated GoMock package. |
fwdaction/mock_fwdtable
Package mock_fwdtable is a generated GoMock package.
|
Package mock_fwdtable is a generated GoMock package. |
fwdport
Package fwdport contains routines and types to manage forwarding ports.
|
Package fwdport contains routines and types to manage forwarding ports. |
fwdport/mock_fwdpacket
Package mock_fwdpacket is a generated GoMock package.
|
Package mock_fwdpacket is a generated GoMock package. |
fwdport/ports
Package ports implements various types of ports supported within Lucius.
|
Package ports implements various types of ports supported within Lucius. |
fwdport/porttestutil
Package porttestutil contains routines used to create and manage ports for test cases.
|
Package porttestutil contains routines used to create and manage ports for test cases. |
fwdtable
Package fwdtable contains routines and types to manage forwarding tables.
|
Package fwdtable contains routines and types to manage forwarding tables. |
fwdtable/bridge
Package bridge implements an exact match table that operates on the packet's mac address.
|
Package bridge implements an exact match table that operates on the packet's mac address. |
fwdtable/exact
Package exact implements a Lucius table that performs packet matches using an exact match match and satisfies the interface fwdtable.Table.
|
Package exact implements a Lucius table that performs packet matches using an exact match match and satisfies the interface fwdtable.Table. |
fwdtable/flow
Package flow implements a Lucius table that performs packet matches using an flow matching and satisfies the interface fwdtable.Table.
|
Package flow implements a Lucius table that performs packet matches using an flow matching and satisfies the interface fwdtable.Table. |
fwdtable/mock_fwdpacket
Package mock_fwdpacket is a generated GoMock package.
|
Package mock_fwdpacket is a generated GoMock package. |
fwdtable/prefix
Package prefix implements a Lucius table that performs packet matches using the longest prefix match and satisfies the interface fwdtable.Table.
|
Package prefix implements a Lucius table that performs packet matches using the longest prefix match and satisfies the interface fwdtable.Table. |
fwdtable/tabletestutil
Package tabletestutil consists of routines used to test Lucius tables like prefix match, exact match and flow match tables.
|
Package tabletestutil consists of routines used to test Lucius tables like prefix match, exact match and flow match tables. |
fwdtable/tableutil
Package tableutil contains utilites used to implement tables in Lucius like prefix, flow and exact match.
|
Package tableutil contains utilites used to implement tables in Lucius like prefix, flow and exact match. |
infra/deadlock
Package deadlock is a set of simple utilities meant to detect deadlocks based on timeouts.
|
Package deadlock is a set of simple utilities meant to detect deadlocks based on timeouts. |
infra/fwdattribute
Package fwdattribute provides types and mechanisms used to manage attributes for forwarding objects.
|
Package fwdattribute provides types and mechanisms used to manage attributes for forwarding objects. |
infra/fwdcontext
Package fwdcontext contains routines for managing the context of the forwarding engine.
|
Package fwdcontext contains routines for managing the context of the forwarding engine. |
infra/fwdflowcounter
Package fwdflowcounter implements the functionality of Flow Counters.
|
Package fwdflowcounter implements the functionality of Flow Counters. |
infra/fwdobject
Package fwdobject contains routines and interfaces used to implement various forwarding objects.
|
Package fwdobject contains routines and interfaces used to implement various forwarding objects. |
infra/fwdpacket
Package fwdpacket contains routines and types for manipulating packets.
|
Package fwdpacket contains routines and types for manipulating packets. |
infra/fwdset
Package fwdset implements a set of members.
|
Package fwdset implements a set of members. |
protocol
Package protocol enables Lucius to uniformly query and mutate network packets containing various protocols.
|
Package protocol enables Lucius to uniformly query and mutate network packets containing various protocols. |
protocol/arp
Package arp implements the ARP header.
|
Package arp implements the ARP header. |
protocol/ethernet
Package ethernet implements the Ethernet header.
|
Package ethernet implements the Ethernet header. |
protocol/icmp
Package icmp implements the ICMP header support in Lucius.
|
Package icmp implements the ICMP header support in Lucius. |
protocol/ip
Package ip handles the IP L3 portion of the packet.
|
Package ip handles the IP L3 portion of the packet. |
protocol/metadata
Package metadata implements the metadata packet header.
|
Package metadata implements the metadata packet header. |
protocol/opaque
Package opaque implements the opaque packet header.
|
Package opaque implements the opaque packet header. |
protocol/packettestutil
Package packettestutil contains a set of routines used to test the processing of packet headers and fields.
|
Package packettestutil contains a set of routines used to test the processing of packet headers and fields. |
protocol/tcp
Package tcp implements the TCP header support in Lucius.
|
Package tcp implements the TCP header support in Lucius. |
protocol/udp
Package udp implements the UDP header support in Lucius.
|
Package udp implements the UDP header support in Lucius. |
util/frame
Package frame contains utilities to implement various network protocols and describe their relationship within Lucius.
|
Package frame contains utilities to implement various network protocols and describe their relationship within Lucius. |
util/hash/crc16
Package crc16 computes the 16 bit checksum over a series of bytes.
|
Package crc16 computes the 16 bit checksum over a series of bytes. |
util/hash/csum16
Package csum16 computes the 16 bit Internet checksum.
|
Package csum16 computes the 16 bit Internet checksum. |
util/hash/hash16
Package hash16 provides interfaces for functions computing 16 bit hashes.
|
Package hash16 provides interfaces for functions computing 16 bit hashes. |
util/queue
Package queue provides a queue to processes elements in FIFO order using a specified handler, while allowing non-blocking writes to the queue.
|
Package queue provides a queue to processes elements in FIFO order using a specified handler, while allowing non-blocking writes to the queue. |
util/stats
Package stats implements Stats that collects data.
|
Package stats implements Stats that collects data. |
Package handlers contains gNMI task handlers.
|
Package handlers contains gNMI task handlers. |
internal
|
|
engine
Package engine contains funcs for interacting with the forwarding engine.
|
Package engine contains funcs for interacting with the forwarding engine. |
kernel
Package kernel contains funcs that interact with the kernel (sycalls, netlink).
|
Package kernel contains funcs that interact with the kernel (sycalls, netlink). |
kernel/kerneltest
package kerneltest contains fake implemetation of structs in kernel package
|
package kerneltest contains fake implemetation of structs in kernel package |
Click to show internal directories.
Click to hide internal directories.