bess_pb

package
v0.0.0-...-7b7dccf Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 7, 2019 License: Apache-2.0 Imports: 6 Imported by: 1

Documentation

Overview

Package bess_pb is a generated protocol buffer package.

It is generated from these files:

bess_msg.proto
error.proto
module_msg.proto
service.proto
util_msg.proto

It has these top-level messages:

EmptyRequest
EmptyResponse
VersionResponse
ImportPluginRequest
UnloadPluginRequest
ListPluginsResponse
ListWorkersResponse
AddWorkerRequest
DestroyWorkerRequest
TrafficClass
ListTcsRequest
ListTcsResponse
CheckSchedulingConstraintsResponse
AddTcRequest
UpdateTcParamsRequest
UpdateTcParentRequest
GetTcStatsRequest
GetTcStatsResponse
ListDriversResponse
GetDriverInfoRequest
GetDriverInfoResponse
ListPortsResponse
CreatePortRequest
PortConf
SetPortConfRequest
GetPortConfRequest
GetPortConfResponse
CreatePortResponse
DestroyPortRequest
GetPortStatsRequest
GetPortStatsResponse
GetLinkStatusRequest
GetLinkStatusResponse
ListMclassResponse
GetMclassInfoRequest
GetMclassInfoResponse
ListModulesResponse
CreateModuleRequest
CreateModuleResponse
DestroyModuleRequest
GetModuleInfoRequest
GetModuleInfoResponse
ConnectModulesRequest
DisconnectModulesRequest
MempoolDump
DumpMempoolRequest
DumpMempoolResponse
CommandRequest
CommandResponse
ListGateHookClassResponse
GetGateHookClassInfoRequest
GetGateHookClassInfoResponse
TrackArg
TcpdumpArg
PcapngArg
GateHookInfo
ConfigureGateHookRequest
ConfigureGateHookResponse
ListGateHooksResponse
GateHookCommandRequest
ConfigureResumeHookRequest
PauseWorkerRequest
ResumeWorkerRequest
Error
EmptyArg
BPFCommandClearArg
ExactMatchCommandAddArg
ExactMatchCommandDeleteArg
ExactMatchCommandClearArg
ExactMatchCommandSetDefaultGateArg
FlowGenCommandSetBurstArg
HashLBCommandSetModeArg
HashLBCommandSetGatesArg
IPLookupCommandAddArg
IPLookupCommandDeleteArg
IPLookupCommandClearArg
L2ForwardCommandAddArg
L2ForwardCommandDeleteArg
L2ForwardCommandSetDefaultGateArg
L2ForwardCommandLookupArg
L2ForwardCommandLookupResponse
L2ForwardCommandPopulateArg
MeasureCommandGetSummaryArg
MeasureCommandGetSummaryResponse
DRRArg
DRRQuantumArg
DRRMaxFlowQueueSizeArg
PortIncCommandSetBurstArg
QueueIncCommandSetBurstArg
QueueCommandSetBurstArg
QueueCommandSetSizeArg
QueueCommandGetStatusArg
QueueCommandGetStatusResponse
RandomUpdateCommandClearArg
RewriteCommandClearArg
UpdateCommandClearArg
WildcardMatchCommandAddArg
WildcardMatchCommandDeleteArg
WildcardMatchCommandClearArg
WildcardMatchCommandSetDefaultGateArg
ACLArg
BPFArg
BufferArg
BypassArg
DumpArg
EtherEncapArg
ExactMatchArg
ExactMatchConfig
FlowGenArg
GenericDecapArg
GenericEncapArg
HashLBArg
IPEncapArg
IPLookupArg
L2ForwardArg
MACSwapArg
MeasureArg
MergeArg
MetadataTestArg
NATArg
StaticNATArg
NoOpArg
PortIncArg
PortOutArg
QueueIncArg
QueueOutArg
QueueArg
RandomSplitArg
RandomSplitCommandSetDroprateArg
RandomSplitCommandSetGatesArg
RandomUpdateArg
RewriteArg
RoundRobinCommandSetGatesArg
RoundRobinCommandSetModeArg
RoundRobinArg
ReplicateArg
ReplicateCommandSetGatesArg
SetMetadataArg
SinkArg
SourceCommandSetBurstArg
SourceCommandSetPktSizeArg
SourceArg
SplitArg
TimestampArg
UpdateArg
UrlFilterArg
UrlFilterConfig
VLANPopArg
VLANPushArg
VLANSplitArg
VXLANDecapArg
VXLANEncapArg
WildcardMatchArg
WildcardMatchConfig
ArpResponderArg
MplsPopArg
WorkerSplitArg
Field
FieldData

Package bess_pb is a generated protocol buffer package.

It is generated from these files:

ports/port_msg.proto

It has these top-level messages:

PCAPPortArg
PMDPortArg
UnixSocketPortArg
VPortArg

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterBESSControlServer

func RegisterBESSControlServer(s *grpc.Server, srv BESSControlServer)

Types

type ACLArg

type ACLArg struct {
	Rules []*ACLArg_Rule `protobuf:"bytes,1,rep,name=rules" json:"rules,omitempty"`
}

* The module ACL creates an access control module which by default blocks all traffic, unless it contains a rule which specifies otherwise. Examples of ACL can be found in [acl.bess](https://github.com/NetSys/bess/blob/master/bessctl/conf/samples/acl.bess)

__Input Gates__: 1 __Output Gates__: 1

func (*ACLArg) Descriptor

func (*ACLArg) Descriptor() ([]byte, []int)

func (*ACLArg) GetRules

func (m *ACLArg) GetRules() []*ACLArg_Rule

func (*ACLArg) ProtoMessage

func (*ACLArg) ProtoMessage()

func (*ACLArg) Reset

func (m *ACLArg) Reset()

func (*ACLArg) String

func (m *ACLArg) String() string

type ACLArg_Rule

type ACLArg_Rule struct {
	SrcIp       string `protobuf:"bytes,1,opt,name=src_ip,json=srcIp" json:"src_ip,omitempty"`
	DstIp       string `protobuf:"bytes,2,opt,name=dst_ip,json=dstIp" json:"dst_ip,omitempty"`
	SrcPort     uint32 `protobuf:"varint,3,opt,name=src_port,json=srcPort" json:"src_port,omitempty"`
	DstPort     uint32 `protobuf:"varint,4,opt,name=dst_port,json=dstPort" json:"dst_port,omitempty"`
	Established bool   `protobuf:"varint,5,opt,name=established" json:"established,omitempty"`
	Drop        bool   `protobuf:"varint,6,opt,name=drop" json:"drop,omitempty"`
}

* One ACL rule is represented by the following 6-tuple.

func (*ACLArg_Rule) Descriptor

func (*ACLArg_Rule) Descriptor() ([]byte, []int)

func (*ACLArg_Rule) GetDrop

func (m *ACLArg_Rule) GetDrop() bool

func (*ACLArg_Rule) GetDstIp

func (m *ACLArg_Rule) GetDstIp() string

func (*ACLArg_Rule) GetDstPort

func (m *ACLArg_Rule) GetDstPort() uint32

func (*ACLArg_Rule) GetEstablished

func (m *ACLArg_Rule) GetEstablished() bool

func (*ACLArg_Rule) GetSrcIp

func (m *ACLArg_Rule) GetSrcIp() string

func (*ACLArg_Rule) GetSrcPort

func (m *ACLArg_Rule) GetSrcPort() uint32

func (*ACLArg_Rule) ProtoMessage

func (*ACLArg_Rule) ProtoMessage()

func (*ACLArg_Rule) Reset

func (m *ACLArg_Rule) Reset()

func (*ACLArg_Rule) String

func (m *ACLArg_Rule) String() string

type AddTcRequest

type AddTcRequest struct {
	Class *TrafficClass `protobuf:"bytes,1,opt,name=class" json:"class,omitempty"`
}

func (*AddTcRequest) Descriptor

func (*AddTcRequest) Descriptor() ([]byte, []int)

func (*AddTcRequest) GetClass

func (m *AddTcRequest) GetClass() *TrafficClass

func (*AddTcRequest) ProtoMessage

func (*AddTcRequest) ProtoMessage()

func (*AddTcRequest) Reset

func (m *AddTcRequest) Reset()

func (*AddTcRequest) String

func (m *AddTcRequest) String() string

type AddWorkerRequest

type AddWorkerRequest struct {
	Wid       int64  `protobuf:"varint,1,opt,name=wid" json:"wid,omitempty"`
	Core      int64  `protobuf:"varint,2,opt,name=core" json:"core,omitempty"`
	Scheduler string `protobuf:"bytes,3,opt,name=scheduler" json:"scheduler,omitempty"`
}

func (*AddWorkerRequest) Descriptor

func (*AddWorkerRequest) Descriptor() ([]byte, []int)

func (*AddWorkerRequest) GetCore

func (m *AddWorkerRequest) GetCore() int64

func (*AddWorkerRequest) GetScheduler

func (m *AddWorkerRequest) GetScheduler() string

func (*AddWorkerRequest) GetWid

func (m *AddWorkerRequest) GetWid() int64

func (*AddWorkerRequest) ProtoMessage

func (*AddWorkerRequest) ProtoMessage()

func (*AddWorkerRequest) Reset

func (m *AddWorkerRequest) Reset()

func (*AddWorkerRequest) String

func (m *AddWorkerRequest) String() string

type ArpResponderArg

type ArpResponderArg struct {
	// *
	// One ARP IP-MAC mapping
	Ip      string `protobuf:"bytes,1,opt,name=ip" json:"ip,omitempty"`
	MacAddr string `protobuf:"bytes,2,opt,name=mac_addr,json=macAddr" json:"mac_addr,omitempty"`
}

* The ARP Responder module is responding to ARP requests TODO: Dynamic learn new MAC's-IP's mapping

__Input Gates__: 1 __Output Gates__: 1

func (*ArpResponderArg) Descriptor

func (*ArpResponderArg) Descriptor() ([]byte, []int)

func (*ArpResponderArg) GetIp

func (m *ArpResponderArg) GetIp() string

func (*ArpResponderArg) GetMacAddr

func (m *ArpResponderArg) GetMacAddr() string

func (*ArpResponderArg) ProtoMessage

func (*ArpResponderArg) ProtoMessage()

func (*ArpResponderArg) Reset

func (m *ArpResponderArg) Reset()

func (*ArpResponderArg) String

func (m *ArpResponderArg) String() string

type BESSControlClient

type BESSControlClient interface {
	// / Query version of bessd
	GetVersion(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*VersionResponse, error)
	// / Reset the current packet processing datapath to the initial state.
	// /
	// / This command is identical to the following sequence:
	// /   ResetModules()
	// /   ResetPorts()
	// /   ResetTcs()
	// /   ResetWorkers()
	// / As it clears everything, BESS should appear as if the daemon has freshly
	// / started (if not, it is a bug; please report).
	// /
	// / NOTE: There should be no running worker to run this command.
	ResetAll(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error)
	// / Terminate the BESS daemon.
	// /
	// / BESS daemon shuts off in a graceful manner. Note that this command is
	// / "asynchronous": this command doesn't block until the BESS daemon has
	// / shut off.
	// /
	// / NOTE: There should be no running worker to run this command.
	// / FIXME: rename (e.g., Terminate)
	KillBess(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error)
	// / Import a plugin
	// /
	// / At the moment plugins can only contain module types,
	// / but might also support drivers/hooks/schedulers in the future.
	ImportPlugin(ctx context.Context, in *ImportPluginRequest, opts ...grpc.CallOption) (*EmptyResponse, error)
	// / Unload a plugin
	// /
	// / At the moment plugins can only contain module types,
	// / but might also support drivers/hooks/schedulers in the future.
	UnloadPlugin(ctx context.Context, in *UnloadPluginRequest, opts ...grpc.CallOption) (*EmptyResponse, error)
	// / List imported plugins
	// /
	// / At the moment plugins can only contain module types,
	// / but might also support drivers/hooks/schedulers in the future.
	ListPlugins(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListPluginsResponse, error)
	// / Pause all running workers temporarily
	// /
	// / Some RPC commands to BESS or individual modules/ports require that
	// / threads must be inactive, to avoid race conditions.
	// / For such commands, use PauseALl at the beginning and ResumeAll at the end.
	// /  PauseAll()
	// /   SomeCommand1()
	// /   SomeCommand2()
	// /   ...
	// /  ResumeAll()
	// / Keep the duration as short as possible, to avoid packet drops.
	PauseAll(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error)
	// / Pause the specified worker temporarily
	// /
	// / Some RPC commands to BESS or individual modules/ports require that
	// / threads must be inactive, to avoid race conditions.
	// / For such commands, use PauseWorker at the beginning and ResumeWorker at the end.
	// /  PauseWorker(0)
	// /   SomeCommand1()
	// /   SomeCommand2()
	// /   ...
	// /  ResumeWorker(0)
	// / Keep the duration as short as possible, to avoid packet drops.
	PauseWorker(ctx context.Context, in *PauseWorkerRequest, opts ...grpc.CallOption) (*EmptyResponse, error)
	// / Resume the specified worker
	ResumeWorker(ctx context.Context, in *ResumeWorkerRequest, opts ...grpc.CallOption) (*EmptyResponse, error)
	// / Resume all paused workers
	ResumeAll(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error)
	// / Remove all existing workers
	// /
	// / NOTE: There should be no running worker to run this command.
	ResetWorkers(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error)
	// / Enumerate all existing workers
	ListWorkers(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListWorkersResponse, error)
	// / Create a new worker
	// /
	// / NOTE: There should be no running worker to run this command.
	AddWorker(ctx context.Context, in *AddWorkerRequest, opts ...grpc.CallOption) (*EmptyResponse, error)
	// / Remove a single worker
	// /
	// / NOTE: There should be no running worker to run this command.
	DestroyWorker(ctx context.Context, in *DestroyWorkerRequest, opts ...grpc.CallOption) (*EmptyResponse, error)
	// / Remove all existing traffic classes
	// /
	// / NOTE: There should be no running worker to run this command.
	ResetTcs(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error)
	// / Enumerate all existing workers
	ListTcs(ctx context.Context, in *ListTcsRequest, opts ...grpc.CallOption) (*ListTcsResponse, error)
	// / Check scheduling contraints
	CheckSchedulingConstraints(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*CheckSchedulingConstraintsResponse, error)
	// / Create a new traffic class
	// /
	// / NOTE: There should be no running worker to run this command.
	AddTc(ctx context.Context, in *AddTcRequest, opts ...grpc.CallOption) (*EmptyResponse, error)
	// / Update parameters of an existing traffic class
	// /
	// / NOTE: There should be no running worker to run this command.
	UpdateTcParams(ctx context.Context, in *UpdateTcParamsRequest, opts ...grpc.CallOption) (*EmptyResponse, error)
	// / Change parent (and child arguments) of an existing traffic class
	// /
	// / NOTE: There should be no running worker to run this command.
	UpdateTcParent(ctx context.Context, in *UpdateTcParentRequest, opts ...grpc.CallOption) (*EmptyResponse, error)
	// / Collect statistics of a traffic class
	GetTcStats(ctx context.Context, in *GetTcStatsRequest, opts ...grpc.CallOption) (*GetTcStatsResponse, error)
	// / Enumerate all port drivers available
	ListDrivers(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListDriversResponse, error)
	// / Query detailed information of a port driver
	GetDriverInfo(ctx context.Context, in *GetDriverInfoRequest, opts ...grpc.CallOption) (*GetDriverInfoResponse, error)
	// / Remove all initialized ports
	// /
	// / Will fail if there are modules that are still using ports.
	// / (e.g., PortInc, PortOut, QueueInc, QueueOut)
	// /
	// / NOTE: There should be no running worker to run this command.
	ResetPorts(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error)
	// / Enumerate all initialized ports
	ListPorts(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListPortsResponse, error)
	// / Create a new port from the specified driver
	CreatePort(ctx context.Context, in *CreatePortRequest, opts ...grpc.CallOption) (*CreatePortResponse, error)
	// / Remove a port
	// /
	// / The port should not be being used by a port-related module.
	// / (e.g., PortInc, PortOut, QueueInc, QueueOut)
	DestroyPort(ctx context.Context, in *DestroyPortRequest, opts ...grpc.CallOption) (*EmptyResponse, error)
	// / Runtime-updatable configuration
	SetPortConf(ctx context.Context, in *SetPortConfRequest, opts ...grpc.CallOption) (*EmptyResponse, error)
	GetPortConf(ctx context.Context, in *GetPortConfRequest, opts ...grpc.CallOption) (*GetPortConfResponse, error)
	// / Collect port statistics
	// /
	// / At the moment, per-queue stats are not supported.
	GetPortStats(ctx context.Context, in *GetPortStatsRequest, opts ...grpc.CallOption) (*GetPortStatsResponse, error)
	// / Query link status
	GetLinkStatus(ctx context.Context, in *GetLinkStatusRequest, opts ...grpc.CallOption) (*GetLinkStatusResponse, error)
	// / Enumerate all module types available
	ListMclass(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListMclassResponse, error)
	// / Query detailed information of a module type
	GetMclassInfo(ctx context.Context, in *GetMclassInfoRequest, opts ...grpc.CallOption) (*GetMclassInfoResponse, error)
	// / Remove all modules.
	// /
	// / This RPC will always succeed (unless there is a running worker)
	// /
	// / NOTE: There should be no running worker to run this command.
	ResetModules(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error)
	// / Enumerate all initialized modules
	ListModules(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListModulesResponse, error)
	// / Create a new module instance from the given module type
	// /
	// / NOTE: There should be no running worker to run this command.
	CreateModule(ctx context.Context, in *CreateModuleRequest, opts ...grpc.CallOption) (*CreateModuleResponse, error)
	// / Destroy an exsting module
	// /
	// / If the module is connected to other modules' input/output gate, they are
	// / disconnected first. All tasks created by the module will also be destoyed.
	// /
	// / NOTE: There should be no running worker to run this command.
	DestroyModule(ctx context.Context, in *DestroyModuleRequest, opts ...grpc.CallOption) (*EmptyResponse, error)
	// / Fetch detailed information of an module instance
	GetModuleInfo(ctx context.Context, in *GetModuleInfoRequest, opts ...grpc.CallOption) (*GetModuleInfoResponse, error)
	// / Connect two modules.
	// /
	// / Connect between m1's ogate and n2's igate (i.e., ackets sent to m1's ogate
	// / will be fed to m2's igate). The oate can be connected to only one igate,
	// / while the igate can be connected to multiple output gates.
	// /
	// / NOTE: There should be no running worker to run this command.
	ConnectModules(ctx context.Context, in *ConnectModulesRequest, opts ...grpc.CallOption) (*EmptyResponse, error)
	// / Disconnect two modules.
	// /
	// / It removes a connection between two modules (you specify the previous one
	// / and its output gate). All packets coming out from the ogate will be
	// / dropped. Once disconnected, the ogate can be connected
	// / to any input gate.
	// /
	// / NOTE: There should be no running worker to run this command.
	DisconnectModules(ctx context.Context, in *DisconnectModulesRequest, opts ...grpc.CallOption) (*EmptyResponse, error)
	// / Dump various stats about BESS's packet pools
	DumpMempool(ctx context.Context, in *DumpMempoolRequest, opts ...grpc.CallOption) (*DumpMempoolResponse, error)
	// / Send a command to the specified module instance.
	// /
	// / Each module type defines a list of modyle-specific commands, which
	// / allow external programs to communicate with the module at runtime.
	// / See module_msg.proto for details.
	// /
	// / NOTE: Some commands cannot be used if there are running workers.
	// /       For those commands you must pause all workers first.
	ModuleCommand(ctx context.Context, in *CommandRequest, opts ...grpc.CallOption) (*CommandResponse, error)
	// / Enumerate all gatehook types available
	ListGateHookClass(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListGateHookClassResponse, error)
	// / Query detailed information of a gatehook type
	GetGateHookClassInfo(ctx context.Context, in *GetGateHookClassInfoRequest, opts ...grpc.CallOption) (*GetGateHookClassInfoResponse, error)
	// / Enable/Disable a gate hook.
	ConfigureGateHook(ctx context.Context, in *ConfigureGateHookRequest, opts ...grpc.CallOption) (*ConfigureGateHookResponse, error)
	// / Enumerate all gatehook installed
	ListGateHooks(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListGateHooksResponse, error)
	// / Send command to gate hook instance.
	GateHookCommand(ctx context.Context, in *GateHookCommandRequest, opts ...grpc.CallOption) (*CommandResponse, error)
	// / Enable/Disable a resume hook.
	ConfigureResumeHook(ctx context.Context, in *ConfigureResumeHookRequest, opts ...grpc.CallOption) (*CommandResponse, error)
}

func NewBESSControlClient

func NewBESSControlClient(cc *grpc.ClientConn) BESSControlClient

type BESSControlServer

type BESSControlServer interface {
	// / Query version of bessd
	GetVersion(context.Context, *EmptyRequest) (*VersionResponse, error)
	// / Reset the current packet processing datapath to the initial state.
	// /
	// / This command is identical to the following sequence:
	// /   ResetModules()
	// /   ResetPorts()
	// /   ResetTcs()
	// /   ResetWorkers()
	// / As it clears everything, BESS should appear as if the daemon has freshly
	// / started (if not, it is a bug; please report).
	// /
	// / NOTE: There should be no running worker to run this command.
	ResetAll(context.Context, *EmptyRequest) (*EmptyResponse, error)
	// / Terminate the BESS daemon.
	// /
	// / BESS daemon shuts off in a graceful manner. Note that this command is
	// / "asynchronous": this command doesn't block until the BESS daemon has
	// / shut off.
	// /
	// / NOTE: There should be no running worker to run this command.
	// / FIXME: rename (e.g., Terminate)
	KillBess(context.Context, *EmptyRequest) (*EmptyResponse, error)
	// / Import a plugin
	// /
	// / At the moment plugins can only contain module types,
	// / but might also support drivers/hooks/schedulers in the future.
	ImportPlugin(context.Context, *ImportPluginRequest) (*EmptyResponse, error)
	// / Unload a plugin
	// /
	// / At the moment plugins can only contain module types,
	// / but might also support drivers/hooks/schedulers in the future.
	UnloadPlugin(context.Context, *UnloadPluginRequest) (*EmptyResponse, error)
	// / List imported plugins
	// /
	// / At the moment plugins can only contain module types,
	// / but might also support drivers/hooks/schedulers in the future.
	ListPlugins(context.Context, *EmptyRequest) (*ListPluginsResponse, error)
	// / Pause all running workers temporarily
	// /
	// / Some RPC commands to BESS or individual modules/ports require that
	// / threads must be inactive, to avoid race conditions.
	// / For such commands, use PauseALl at the beginning and ResumeAll at the end.
	// /  PauseAll()
	// /   SomeCommand1()
	// /   SomeCommand2()
	// /   ...
	// /  ResumeAll()
	// / Keep the duration as short as possible, to avoid packet drops.
	PauseAll(context.Context, *EmptyRequest) (*EmptyResponse, error)
	// / Pause the specified worker temporarily
	// /
	// / Some RPC commands to BESS or individual modules/ports require that
	// / threads must be inactive, to avoid race conditions.
	// / For such commands, use PauseWorker at the beginning and ResumeWorker at the end.
	// /  PauseWorker(0)
	// /   SomeCommand1()
	// /   SomeCommand2()
	// /   ...
	// /  ResumeWorker(0)
	// / Keep the duration as short as possible, to avoid packet drops.
	PauseWorker(context.Context, *PauseWorkerRequest) (*EmptyResponse, error)
	// / Resume the specified worker
	ResumeWorker(context.Context, *ResumeWorkerRequest) (*EmptyResponse, error)
	// / Resume all paused workers
	ResumeAll(context.Context, *EmptyRequest) (*EmptyResponse, error)
	// / Remove all existing workers
	// /
	// / NOTE: There should be no running worker to run this command.
	ResetWorkers(context.Context, *EmptyRequest) (*EmptyResponse, error)
	// / Enumerate all existing workers
	ListWorkers(context.Context, *EmptyRequest) (*ListWorkersResponse, error)
	// / Create a new worker
	// /
	// / NOTE: There should be no running worker to run this command.
	AddWorker(context.Context, *AddWorkerRequest) (*EmptyResponse, error)
	// / Remove a single worker
	// /
	// / NOTE: There should be no running worker to run this command.
	DestroyWorker(context.Context, *DestroyWorkerRequest) (*EmptyResponse, error)
	// / Remove all existing traffic classes
	// /
	// / NOTE: There should be no running worker to run this command.
	ResetTcs(context.Context, *EmptyRequest) (*EmptyResponse, error)
	// / Enumerate all existing workers
	ListTcs(context.Context, *ListTcsRequest) (*ListTcsResponse, error)
	// / Check scheduling contraints
	CheckSchedulingConstraints(context.Context, *EmptyRequest) (*CheckSchedulingConstraintsResponse, error)
	// / Create a new traffic class
	// /
	// / NOTE: There should be no running worker to run this command.
	AddTc(context.Context, *AddTcRequest) (*EmptyResponse, error)
	// / Update parameters of an existing traffic class
	// /
	// / NOTE: There should be no running worker to run this command.
	UpdateTcParams(context.Context, *UpdateTcParamsRequest) (*EmptyResponse, error)
	// / Change parent (and child arguments) of an existing traffic class
	// /
	// / NOTE: There should be no running worker to run this command.
	UpdateTcParent(context.Context, *UpdateTcParentRequest) (*EmptyResponse, error)
	// / Collect statistics of a traffic class
	GetTcStats(context.Context, *GetTcStatsRequest) (*GetTcStatsResponse, error)
	// / Enumerate all port drivers available
	ListDrivers(context.Context, *EmptyRequest) (*ListDriversResponse, error)
	// / Query detailed information of a port driver
	GetDriverInfo(context.Context, *GetDriverInfoRequest) (*GetDriverInfoResponse, error)
	// / Remove all initialized ports
	// /
	// / Will fail if there are modules that are still using ports.
	// / (e.g., PortInc, PortOut, QueueInc, QueueOut)
	// /
	// / NOTE: There should be no running worker to run this command.
	ResetPorts(context.Context, *EmptyRequest) (*EmptyResponse, error)
	// / Enumerate all initialized ports
	ListPorts(context.Context, *EmptyRequest) (*ListPortsResponse, error)
	// / Create a new port from the specified driver
	CreatePort(context.Context, *CreatePortRequest) (*CreatePortResponse, error)
	// / Remove a port
	// /
	// / The port should not be being used by a port-related module.
	// / (e.g., PortInc, PortOut, QueueInc, QueueOut)
	DestroyPort(context.Context, *DestroyPortRequest) (*EmptyResponse, error)
	// / Runtime-updatable configuration
	SetPortConf(context.Context, *SetPortConfRequest) (*EmptyResponse, error)
	GetPortConf(context.Context, *GetPortConfRequest) (*GetPortConfResponse, error)
	// / Collect port statistics
	// /
	// / At the moment, per-queue stats are not supported.
	GetPortStats(context.Context, *GetPortStatsRequest) (*GetPortStatsResponse, error)
	// / Query link status
	GetLinkStatus(context.Context, *GetLinkStatusRequest) (*GetLinkStatusResponse, error)
	// / Enumerate all module types available
	ListMclass(context.Context, *EmptyRequest) (*ListMclassResponse, error)
	// / Query detailed information of a module type
	GetMclassInfo(context.Context, *GetMclassInfoRequest) (*GetMclassInfoResponse, error)
	// / Remove all modules.
	// /
	// / This RPC will always succeed (unless there is a running worker)
	// /
	// / NOTE: There should be no running worker to run this command.
	ResetModules(context.Context, *EmptyRequest) (*EmptyResponse, error)
	// / Enumerate all initialized modules
	ListModules(context.Context, *EmptyRequest) (*ListModulesResponse, error)
	// / Create a new module instance from the given module type
	// /
	// / NOTE: There should be no running worker to run this command.
	CreateModule(context.Context, *CreateModuleRequest) (*CreateModuleResponse, error)
	// / Destroy an exsting module
	// /
	// / If the module is connected to other modules' input/output gate, they are
	// / disconnected first. All tasks created by the module will also be destoyed.
	// /
	// / NOTE: There should be no running worker to run this command.
	DestroyModule(context.Context, *DestroyModuleRequest) (*EmptyResponse, error)
	// / Fetch detailed information of an module instance
	GetModuleInfo(context.Context, *GetModuleInfoRequest) (*GetModuleInfoResponse, error)
	// / Connect two modules.
	// /
	// / Connect between m1's ogate and n2's igate (i.e., ackets sent to m1's ogate
	// / will be fed to m2's igate). The oate can be connected to only one igate,
	// / while the igate can be connected to multiple output gates.
	// /
	// / NOTE: There should be no running worker to run this command.
	ConnectModules(context.Context, *ConnectModulesRequest) (*EmptyResponse, error)
	// / Disconnect two modules.
	// /
	// / It removes a connection between two modules (you specify the previous one
	// / and its output gate). All packets coming out from the ogate will be
	// / dropped. Once disconnected, the ogate can be connected
	// / to any input gate.
	// /
	// / NOTE: There should be no running worker to run this command.
	DisconnectModules(context.Context, *DisconnectModulesRequest) (*EmptyResponse, error)
	// / Dump various stats about BESS's packet pools
	DumpMempool(context.Context, *DumpMempoolRequest) (*DumpMempoolResponse, error)
	// / Send a command to the specified module instance.
	// /
	// / Each module type defines a list of modyle-specific commands, which
	// / allow external programs to communicate with the module at runtime.
	// / See module_msg.proto for details.
	// /
	// / NOTE: Some commands cannot be used if there are running workers.
	// /       For those commands you must pause all workers first.
	ModuleCommand(context.Context, *CommandRequest) (*CommandResponse, error)
	// / Enumerate all gatehook types available
	ListGateHookClass(context.Context, *EmptyRequest) (*ListGateHookClassResponse, error)
	// / Query detailed information of a gatehook type
	GetGateHookClassInfo(context.Context, *GetGateHookClassInfoRequest) (*GetGateHookClassInfoResponse, error)
	// / Enable/Disable a gate hook.
	ConfigureGateHook(context.Context, *ConfigureGateHookRequest) (*ConfigureGateHookResponse, error)
	// / Enumerate all gatehook installed
	ListGateHooks(context.Context, *EmptyRequest) (*ListGateHooksResponse, error)
	// / Send command to gate hook instance.
	GateHookCommand(context.Context, *GateHookCommandRequest) (*CommandResponse, error)
	// / Enable/Disable a resume hook.
	ConfigureResumeHook(context.Context, *ConfigureResumeHookRequest) (*CommandResponse, error)
}

type BPFArg

type BPFArg struct {
	Filters []*BPFArg_Filter `protobuf:"bytes,1,rep,name=filters" json:"filters,omitempty"`
}

* The BPF module is an access control module that sends packets out on a particular gate based on whether they match a BPF filter.

__Input Gates__: 1 __Output Gates__: many (configurable)

func (*BPFArg) Descriptor

func (*BPFArg) Descriptor() ([]byte, []int)

func (*BPFArg) GetFilters

func (m *BPFArg) GetFilters() []*BPFArg_Filter

func (*BPFArg) ProtoMessage

func (*BPFArg) ProtoMessage()

func (*BPFArg) Reset

func (m *BPFArg) Reset()

func (*BPFArg) String

func (m *BPFArg) String() string

type BPFArg_Filter

type BPFArg_Filter struct {
	Priority int64  `protobuf:"varint,1,opt,name=priority" json:"priority,omitempty"`
	Filter   string `protobuf:"bytes,2,opt,name=filter" json:"filter,omitempty"`
	Gate     int64  `protobuf:"varint,3,opt,name=gate" json:"gate,omitempty"`
}

* One BPF filter is represented by the following 3-tuple.

func (*BPFArg_Filter) Descriptor

func (*BPFArg_Filter) Descriptor() ([]byte, []int)

func (*BPFArg_Filter) GetFilter

func (m *BPFArg_Filter) GetFilter() string

func (*BPFArg_Filter) GetGate

func (m *BPFArg_Filter) GetGate() int64

func (*BPFArg_Filter) GetPriority

func (m *BPFArg_Filter) GetPriority() int64

func (*BPFArg_Filter) ProtoMessage

func (*BPFArg_Filter) ProtoMessage()

func (*BPFArg_Filter) Reset

func (m *BPFArg_Filter) Reset()

func (*BPFArg_Filter) String

func (m *BPFArg_Filter) String() string

type BPFCommandClearArg

type BPFCommandClearArg struct {
}

* The BPF module has a command `clear()` that takes no parameters. This command removes all filters from the module.

func (*BPFCommandClearArg) Descriptor

func (*BPFCommandClearArg) Descriptor() ([]byte, []int)

func (*BPFCommandClearArg) ProtoMessage

func (*BPFCommandClearArg) ProtoMessage()

func (*BPFCommandClearArg) Reset

func (m *BPFCommandClearArg) Reset()

func (*BPFCommandClearArg) String

func (m *BPFCommandClearArg) String() string

type BufferArg

type BufferArg struct {
}

* The Buffer module takes no parameters to initialize (ie, `Buffer()` is sufficient to create one). Buffer accepts packets and stores them; it may forward them to the next module only after it has received enough packets to fill an entire PacketBatch.

__Input Gates__: 1 __Output Gates__: 1

func (*BufferArg) Descriptor

func (*BufferArg) Descriptor() ([]byte, []int)

func (*BufferArg) ProtoMessage

func (*BufferArg) ProtoMessage()

func (*BufferArg) Reset

func (m *BufferArg) Reset()

func (*BufferArg) String

func (m *BufferArg) String() string

type BypassArg

type BypassArg struct {
	CyclesPerBatch  uint32 `protobuf:"varint,1,opt,name=cycles_per_batch,json=cyclesPerBatch" json:"cycles_per_batch,omitempty"`
	CyclesPerPacket uint32 `protobuf:"varint,2,opt,name=cycles_per_packet,json=cyclesPerPacket" json:"cycles_per_packet,omitempty"`
	CyclesPerByte   uint32 `protobuf:"varint,3,opt,name=cycles_per_byte,json=cyclesPerByte" json:"cycles_per_byte,omitempty"`
}

* The Bypass module forwards packets by emulating pre-defined packet processing overhead. It burns cpu cycles per_batch, per_packet, and per-bytes. Bypass is useful primarily for testing and performance evaluation.

__Input Gates__: 1 __Output Gates__: 1

func (*BypassArg) Descriptor

func (*BypassArg) Descriptor() ([]byte, []int)

func (*BypassArg) GetCyclesPerBatch

func (m *BypassArg) GetCyclesPerBatch() uint32

func (*BypassArg) GetCyclesPerByte

func (m *BypassArg) GetCyclesPerByte() uint32

func (*BypassArg) GetCyclesPerPacket

func (m *BypassArg) GetCyclesPerPacket() uint32

func (*BypassArg) ProtoMessage

func (*BypassArg) ProtoMessage()

func (*BypassArg) Reset

func (m *BypassArg) Reset()

func (*BypassArg) String

func (m *BypassArg) String() string

type CheckSchedulingConstraintsResponse

type CheckSchedulingConstraintsResponse struct {
	Error      *Error                                                `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
	Fatal      bool                                                  `protobuf:"varint,2,opt,name=fatal" json:"fatal,omitempty"`
	Violations []*CheckSchedulingConstraintsResponse_ViolatingClass  `protobuf:"bytes,3,rep,name=violations" json:"violations,omitempty"`
	Modules    []*CheckSchedulingConstraintsResponse_ViolatingModule `protobuf:"bytes,4,rep,name=modules" json:"modules,omitempty"`
}

func (*CheckSchedulingConstraintsResponse) Descriptor

func (*CheckSchedulingConstraintsResponse) Descriptor() ([]byte, []int)

func (*CheckSchedulingConstraintsResponse) GetError

func (*CheckSchedulingConstraintsResponse) GetFatal

func (*CheckSchedulingConstraintsResponse) GetModules

func (*CheckSchedulingConstraintsResponse) GetViolations

func (*CheckSchedulingConstraintsResponse) ProtoMessage

func (*CheckSchedulingConstraintsResponse) ProtoMessage()

func (*CheckSchedulingConstraintsResponse) Reset

func (*CheckSchedulingConstraintsResponse) String

type CheckSchedulingConstraintsResponse_ViolatingClass

type CheckSchedulingConstraintsResponse_ViolatingClass struct {
	Name         string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	Constraint   int32  `protobuf:"varint,2,opt,name=constraint" json:"constraint,omitempty"`
	AssignedNode int32  `protobuf:"varint,3,opt,name=assigned_node,json=assignedNode" json:"assigned_node,omitempty"`
	AssignedCore int32  `protobuf:"varint,4,opt,name=assigned_core,json=assignedCore" json:"assigned_core,omitempty"`
}

func (*CheckSchedulingConstraintsResponse_ViolatingClass) Descriptor

func (*CheckSchedulingConstraintsResponse_ViolatingClass) GetAssignedCore

func (*CheckSchedulingConstraintsResponse_ViolatingClass) GetAssignedNode

func (*CheckSchedulingConstraintsResponse_ViolatingClass) GetConstraint

func (*CheckSchedulingConstraintsResponse_ViolatingClass) GetName

func (*CheckSchedulingConstraintsResponse_ViolatingClass) ProtoMessage

func (*CheckSchedulingConstraintsResponse_ViolatingClass) Reset

func (*CheckSchedulingConstraintsResponse_ViolatingClass) String

type CheckSchedulingConstraintsResponse_ViolatingModule

type CheckSchedulingConstraintsResponse_ViolatingModule struct {
	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
}

func (*CheckSchedulingConstraintsResponse_ViolatingModule) Descriptor

func (*CheckSchedulingConstraintsResponse_ViolatingModule) GetName

func (*CheckSchedulingConstraintsResponse_ViolatingModule) ProtoMessage

func (*CheckSchedulingConstraintsResponse_ViolatingModule) Reset

func (*CheckSchedulingConstraintsResponse_ViolatingModule) String

type CommandRequest

type CommandRequest struct {
	Name string               `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	Cmd  string               `protobuf:"bytes,2,opt,name=cmd" json:"cmd,omitempty"`
	Arg  *google_protobuf.Any `protobuf:"bytes,3,opt,name=arg" json:"arg,omitempty"`
}

func (*CommandRequest) Descriptor

func (*CommandRequest) Descriptor() ([]byte, []int)

func (*CommandRequest) GetArg

func (m *CommandRequest) GetArg() *google_protobuf.Any

func (*CommandRequest) GetCmd

func (m *CommandRequest) GetCmd() string

func (*CommandRequest) GetName

func (m *CommandRequest) GetName() string

func (*CommandRequest) ProtoMessage

func (*CommandRequest) ProtoMessage()

func (*CommandRequest) Reset

func (m *CommandRequest) Reset()

func (*CommandRequest) String

func (m *CommandRequest) String() string

type CommandResponse

type CommandResponse struct {
	Error *Error               `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
	Data  *google_protobuf.Any `protobuf:"bytes,2,opt,name=data" json:"data,omitempty"`
}

func (*CommandResponse) Descriptor

func (*CommandResponse) Descriptor() ([]byte, []int)

func (*CommandResponse) GetData

func (m *CommandResponse) GetData() *google_protobuf.Any

func (*CommandResponse) GetError

func (m *CommandResponse) GetError() *Error

func (*CommandResponse) ProtoMessage

func (*CommandResponse) ProtoMessage()

func (*CommandResponse) Reset

func (m *CommandResponse) Reset()

func (*CommandResponse) String

func (m *CommandResponse) String() string

type ConfigureGateHookRequest

type ConfigureGateHookRequest struct {
	Hook   *GateHookInfo `protobuf:"bytes,1,opt,name=hook" json:"hook,omitempty"`
	Enable bool          `protobuf:"varint,2,opt,name=enable" json:"enable,omitempty"`
}

func (*ConfigureGateHookRequest) Descriptor

func (*ConfigureGateHookRequest) Descriptor() ([]byte, []int)

func (*ConfigureGateHookRequest) GetEnable

func (m *ConfigureGateHookRequest) GetEnable() bool

func (*ConfigureGateHookRequest) GetHook

func (m *ConfigureGateHookRequest) GetHook() *GateHookInfo

func (*ConfigureGateHookRequest) ProtoMessage

func (*ConfigureGateHookRequest) ProtoMessage()

func (*ConfigureGateHookRequest) Reset

func (m *ConfigureGateHookRequest) Reset()

func (*ConfigureGateHookRequest) String

func (m *ConfigureGateHookRequest) String() string

type ConfigureGateHookResponse

type ConfigureGateHookResponse struct {
	Error *Error `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
	Name  string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
}

func (*ConfigureGateHookResponse) Descriptor

func (*ConfigureGateHookResponse) Descriptor() ([]byte, []int)

func (*ConfigureGateHookResponse) GetError

func (m *ConfigureGateHookResponse) GetError() *Error

func (*ConfigureGateHookResponse) GetName

func (m *ConfigureGateHookResponse) GetName() string

func (*ConfigureGateHookResponse) ProtoMessage

func (*ConfigureGateHookResponse) ProtoMessage()

func (*ConfigureGateHookResponse) Reset

func (m *ConfigureGateHookResponse) Reset()

func (*ConfigureGateHookResponse) String

func (m *ConfigureGateHookResponse) String() string

type ConfigureResumeHookRequest

type ConfigureResumeHookRequest struct {
	HookName string               `protobuf:"bytes,1,opt,name=hook_name,json=hookName" json:"hook_name,omitempty"`
	Enable   bool                 `protobuf:"varint,2,opt,name=enable" json:"enable,omitempty"`
	Arg      *google_protobuf.Any `protobuf:"bytes,3,opt,name=arg" json:"arg,omitempty"`
}

Enable/Disable a global ResumeHook.

func (*ConfigureResumeHookRequest) Descriptor

func (*ConfigureResumeHookRequest) Descriptor() ([]byte, []int)

func (*ConfigureResumeHookRequest) GetArg

func (*ConfigureResumeHookRequest) GetEnable

func (m *ConfigureResumeHookRequest) GetEnable() bool

func (*ConfigureResumeHookRequest) GetHookName

func (m *ConfigureResumeHookRequest) GetHookName() string

func (*ConfigureResumeHookRequest) ProtoMessage

func (*ConfigureResumeHookRequest) ProtoMessage()

func (*ConfigureResumeHookRequest) Reset

func (m *ConfigureResumeHookRequest) Reset()

func (*ConfigureResumeHookRequest) String

func (m *ConfigureResumeHookRequest) String() string

type ConnectModulesRequest

type ConnectModulesRequest struct {
	M1    string `protobuf:"bytes,1,opt,name=m1" json:"m1,omitempty"`
	M2    string `protobuf:"bytes,2,opt,name=m2" json:"m2,omitempty"`
	Ogate uint64 `protobuf:"varint,3,opt,name=ogate" json:"ogate,omitempty"`
	Igate uint64 `protobuf:"varint,4,opt,name=igate" json:"igate,omitempty"`
	// / If true do not attach default hooks at the input/output gate.
	// / (Currently, the only default hook is the "Track" hook at the ogate)
	SkipDefaultHooks bool `protobuf:"varint,5,opt,name=skip_default_hooks,json=skipDefaultHooks" json:"skip_default_hooks,omitempty"`
}

func (*ConnectModulesRequest) Descriptor

func (*ConnectModulesRequest) Descriptor() ([]byte, []int)

func (*ConnectModulesRequest) GetIgate

func (m *ConnectModulesRequest) GetIgate() uint64

func (*ConnectModulesRequest) GetM1

func (m *ConnectModulesRequest) GetM1() string

func (*ConnectModulesRequest) GetM2

func (m *ConnectModulesRequest) GetM2() string

func (*ConnectModulesRequest) GetOgate

func (m *ConnectModulesRequest) GetOgate() uint64

func (*ConnectModulesRequest) GetSkipDefaultHooks

func (m *ConnectModulesRequest) GetSkipDefaultHooks() bool

func (*ConnectModulesRequest) ProtoMessage

func (*ConnectModulesRequest) ProtoMessage()

func (*ConnectModulesRequest) Reset

func (m *ConnectModulesRequest) Reset()

func (*ConnectModulesRequest) String

func (m *ConnectModulesRequest) String() string

type CreateModuleRequest

type CreateModuleRequest struct {
	// / Name of the module to create. Every module must have a unique name.
	// / If not specified, a default name will be assigned
	// / (returned via CreateModuleResponse for future reference).
	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	// / Name of module type. Must be specified.
	Mclass string `protobuf:"bytes,2,opt,name=mclass" json:"mclass,omitempty"`
	// / Protobuf message to be used for module initialization.
	// / See module_msg.proto for the argument message types.
	Arg *google_protobuf.Any `protobuf:"bytes,3,opt,name=arg" json:"arg,omitempty"`
}

func (*CreateModuleRequest) Descriptor

func (*CreateModuleRequest) Descriptor() ([]byte, []int)

func (*CreateModuleRequest) GetArg

func (*CreateModuleRequest) GetMclass

func (m *CreateModuleRequest) GetMclass() string

func (*CreateModuleRequest) GetName

func (m *CreateModuleRequest) GetName() string

func (*CreateModuleRequest) ProtoMessage

func (*CreateModuleRequest) ProtoMessage()

func (*CreateModuleRequest) Reset

func (m *CreateModuleRequest) Reset()

func (*CreateModuleRequest) String

func (m *CreateModuleRequest) String() string

type CreateModuleResponse

type CreateModuleResponse struct {
	Error *Error `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
	Name  string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
}

func (*CreateModuleResponse) Descriptor

func (*CreateModuleResponse) Descriptor() ([]byte, []int)

func (*CreateModuleResponse) GetError

func (m *CreateModuleResponse) GetError() *Error

func (*CreateModuleResponse) GetName

func (m *CreateModuleResponse) GetName() string

func (*CreateModuleResponse) ProtoMessage

func (*CreateModuleResponse) ProtoMessage()

func (*CreateModuleResponse) Reset

func (m *CreateModuleResponse) Reset()

func (*CreateModuleResponse) String

func (m *CreateModuleResponse) String() string

type CreatePortRequest

type CreatePortRequest struct {
	// / Name of the port to create. Every port must have a unique name.
	// / If not specified, a default name will be assigned
	// / (returned via CreatePortResponse for future reference).
	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	// / Name of port driver. Must be specified.
	Driver string `protobuf:"bytes,2,opt,name=driver" json:"driver,omitempty"`
	// / Number of incoming/RX queues (Ext -> BESS). Default is 1
	NumIncQ uint64 `protobuf:"varint,3,opt,name=num_inc_q,json=numIncQ" json:"num_inc_q,omitempty"`
	// / Number of outgoind/TX queues (BESS -> Ext). Default is 1
	NumOutQ uint64 `protobuf:"varint,4,opt,name=num_out_q,json=numOutQ" json:"num_out_q,omitempty"`
	// / Size of each incoming queue (# of packets).
	// / If not set (0), a driver-specific default value will be used.
	SizeIncQ uint64 `protobuf:"varint,5,opt,name=size_inc_q,json=sizeIncQ" json:"size_inc_q,omitempty"`
	// / Size of each incoming queue (# of packets).
	// / If not set (0), a driver-specific default value will be used.
	SizeOutQ uint64 `protobuf:"varint,6,opt,name=size_out_q,json=sizeOutQ" json:"size_out_q,omitempty"`
	// / Driver specific argument for port initialization. See port_msg.proto
	Arg *google_protobuf.Any `protobuf:"bytes,7,opt,name=arg" json:"arg,omitempty"`
}

func (*CreatePortRequest) Descriptor

func (*CreatePortRequest) Descriptor() ([]byte, []int)

func (*CreatePortRequest) GetArg

func (m *CreatePortRequest) GetArg() *google_protobuf.Any

func (*CreatePortRequest) GetDriver

func (m *CreatePortRequest) GetDriver() string

func (*CreatePortRequest) GetName

func (m *CreatePortRequest) GetName() string

func (*CreatePortRequest) GetNumIncQ

func (m *CreatePortRequest) GetNumIncQ() uint64

func (*CreatePortRequest) GetNumOutQ

func (m *CreatePortRequest) GetNumOutQ() uint64

func (*CreatePortRequest) GetSizeIncQ

func (m *CreatePortRequest) GetSizeIncQ() uint64

func (*CreatePortRequest) GetSizeOutQ

func (m *CreatePortRequest) GetSizeOutQ() uint64

func (*CreatePortRequest) ProtoMessage

func (*CreatePortRequest) ProtoMessage()

func (*CreatePortRequest) Reset

func (m *CreatePortRequest) Reset()

func (*CreatePortRequest) String

func (m *CreatePortRequest) String() string

type CreatePortResponse

type CreatePortResponse struct {
	Error   *Error `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
	Name    string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
	MacAddr string `protobuf:"bytes,3,opt,name=mac_addr,json=macAddr" json:"mac_addr,omitempty"`
}

func (*CreatePortResponse) Descriptor

func (*CreatePortResponse) Descriptor() ([]byte, []int)

func (*CreatePortResponse) GetError

func (m *CreatePortResponse) GetError() *Error

func (*CreatePortResponse) GetMacAddr

func (m *CreatePortResponse) GetMacAddr() string

func (*CreatePortResponse) GetName

func (m *CreatePortResponse) GetName() string

func (*CreatePortResponse) ProtoMessage

func (*CreatePortResponse) ProtoMessage()

func (*CreatePortResponse) Reset

func (m *CreatePortResponse) Reset()

func (*CreatePortResponse) String

func (m *CreatePortResponse) String() string

type DRRArg

type DRRArg struct {
	NumFlows         uint32 `protobuf:"varint,1,opt,name=num_flows,json=numFlows" json:"num_flows,omitempty"`
	Quantum          uint64 `protobuf:"varint,2,opt,name=quantum" json:"quantum,omitempty"`
	MaxFlowQueueSize uint32 `protobuf:"varint,3,opt,name=max_flow_queue_size,json=maxFlowQueueSize" json:"max_flow_queue_size,omitempty"`
}

* The Module DRR provides fair scheduling of flows based on a quantum which is number of bytes allocated to each flow on each round of going through all flows. Examples can be found [./bessctl/conf/samples/drr.bess]

__Input_Gates__: 1 __Output_Gates__: 1

func (*DRRArg) Descriptor

func (*DRRArg) Descriptor() ([]byte, []int)

func (*DRRArg) GetMaxFlowQueueSize

func (m *DRRArg) GetMaxFlowQueueSize() uint32

func (*DRRArg) GetNumFlows

func (m *DRRArg) GetNumFlows() uint32

func (*DRRArg) GetQuantum

func (m *DRRArg) GetQuantum() uint64

func (*DRRArg) ProtoMessage

func (*DRRArg) ProtoMessage()

func (*DRRArg) Reset

func (m *DRRArg) Reset()

func (*DRRArg) String

func (m *DRRArg) String() string

type DRRMaxFlowQueueSizeArg

type DRRMaxFlowQueueSizeArg struct {
	MaxQueueSize uint32 `protobuf:"varint,1,opt,name=max_queue_size,json=maxQueueSize" json:"max_queue_size,omitempty"`
}

* The SetMaxQueueSize function sets a new maximum flow queue size for DRR module. If the flow's queue gets to this size, the module starts dropping packets to that flow until the queue is below this size.

func (*DRRMaxFlowQueueSizeArg) Descriptor

func (*DRRMaxFlowQueueSizeArg) Descriptor() ([]byte, []int)

func (*DRRMaxFlowQueueSizeArg) GetMaxQueueSize

func (m *DRRMaxFlowQueueSizeArg) GetMaxQueueSize() uint32

func (*DRRMaxFlowQueueSizeArg) ProtoMessage

func (*DRRMaxFlowQueueSizeArg) ProtoMessage()

func (*DRRMaxFlowQueueSizeArg) Reset

func (m *DRRMaxFlowQueueSizeArg) Reset()

func (*DRRMaxFlowQueueSizeArg) String

func (m *DRRMaxFlowQueueSizeArg) String() string

type DRRQuantumArg

type DRRQuantumArg struct {
	Quantum uint32 `protobuf:"varint,1,opt,name=quantum" json:"quantum,omitempty"`
}

* the SetQuantumSize function sets a new quantum for DRR module to operate on.

func (*DRRQuantumArg) Descriptor

func (*DRRQuantumArg) Descriptor() ([]byte, []int)

func (*DRRQuantumArg) GetQuantum

func (m *DRRQuantumArg) GetQuantum() uint32

func (*DRRQuantumArg) ProtoMessage

func (*DRRQuantumArg) ProtoMessage()

func (*DRRQuantumArg) Reset

func (m *DRRQuantumArg) Reset()

func (*DRRQuantumArg) String

func (m *DRRQuantumArg) String() string

type DestroyModuleRequest

type DestroyModuleRequest struct {
	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
}

func (*DestroyModuleRequest) Descriptor

func (*DestroyModuleRequest) Descriptor() ([]byte, []int)

func (*DestroyModuleRequest) GetName

func (m *DestroyModuleRequest) GetName() string

func (*DestroyModuleRequest) ProtoMessage

func (*DestroyModuleRequest) ProtoMessage()

func (*DestroyModuleRequest) Reset

func (m *DestroyModuleRequest) Reset()

func (*DestroyModuleRequest) String

func (m *DestroyModuleRequest) String() string

type DestroyPortRequest

type DestroyPortRequest struct {
	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
}

func (*DestroyPortRequest) Descriptor

func (*DestroyPortRequest) Descriptor() ([]byte, []int)

func (*DestroyPortRequest) GetName

func (m *DestroyPortRequest) GetName() string

func (*DestroyPortRequest) ProtoMessage

func (*DestroyPortRequest) ProtoMessage()

func (*DestroyPortRequest) Reset

func (m *DestroyPortRequest) Reset()

func (*DestroyPortRequest) String

func (m *DestroyPortRequest) String() string

type DestroyWorkerRequest

type DestroyWorkerRequest struct {
	Wid int64 `protobuf:"varint,1,opt,name=wid" json:"wid,omitempty"`
}

func (*DestroyWorkerRequest) Descriptor

func (*DestroyWorkerRequest) Descriptor() ([]byte, []int)

func (*DestroyWorkerRequest) GetWid

func (m *DestroyWorkerRequest) GetWid() int64

func (*DestroyWorkerRequest) ProtoMessage

func (*DestroyWorkerRequest) ProtoMessage()

func (*DestroyWorkerRequest) Reset

func (m *DestroyWorkerRequest) Reset()

func (*DestroyWorkerRequest) String

func (m *DestroyWorkerRequest) String() string

type DisconnectModulesRequest

type DisconnectModulesRequest struct {
	Name  string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	Ogate uint64 `protobuf:"varint,2,opt,name=ogate" json:"ogate,omitempty"`
}

func (*DisconnectModulesRequest) Descriptor

func (*DisconnectModulesRequest) Descriptor() ([]byte, []int)

func (*DisconnectModulesRequest) GetName

func (m *DisconnectModulesRequest) GetName() string

func (*DisconnectModulesRequest) GetOgate

func (m *DisconnectModulesRequest) GetOgate() uint64

func (*DisconnectModulesRequest) ProtoMessage

func (*DisconnectModulesRequest) ProtoMessage()

func (*DisconnectModulesRequest) Reset

func (m *DisconnectModulesRequest) Reset()

func (*DisconnectModulesRequest) String

func (m *DisconnectModulesRequest) String() string

type DumpArg

type DumpArg struct {
	Interval float64 `protobuf:"fixed64,1,opt,name=interval" json:"interval,omitempty"`
}

* The Dump module blindly forwards packets without modifying them. It periodically samples a packet and prints out out to the BESS log (by default stored in `/tmp/bessd.INFO`).

__Input Gates__: 1 __Output Gates__: 1

func (*DumpArg) Descriptor

func (*DumpArg) Descriptor() ([]byte, []int)

func (*DumpArg) GetInterval

func (m *DumpArg) GetInterval() float64

func (*DumpArg) ProtoMessage

func (*DumpArg) ProtoMessage()

func (*DumpArg) Reset

func (m *DumpArg) Reset()

func (*DumpArg) String

func (m *DumpArg) String() string

type DumpMempoolRequest

type DumpMempoolRequest struct {
	Socket int32 `protobuf:"varint,1,opt,name=socket" json:"socket,omitempty"`
}

func (*DumpMempoolRequest) Descriptor

func (*DumpMempoolRequest) Descriptor() ([]byte, []int)

func (*DumpMempoolRequest) GetSocket

func (m *DumpMempoolRequest) GetSocket() int32

func (*DumpMempoolRequest) ProtoMessage

func (*DumpMempoolRequest) ProtoMessage()

func (*DumpMempoolRequest) Reset

func (m *DumpMempoolRequest) Reset()

func (*DumpMempoolRequest) String

func (m *DumpMempoolRequest) String() string

type DumpMempoolResponse

type DumpMempoolResponse struct {
	Error *Error         `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
	Dumps []*MempoolDump `protobuf:"bytes,2,rep,name=dumps" json:"dumps,omitempty"`
}

func (*DumpMempoolResponse) Descriptor

func (*DumpMempoolResponse) Descriptor() ([]byte, []int)

func (*DumpMempoolResponse) GetDumps

func (m *DumpMempoolResponse) GetDumps() []*MempoolDump

func (*DumpMempoolResponse) GetError

func (m *DumpMempoolResponse) GetError() *Error

func (*DumpMempoolResponse) ProtoMessage

func (*DumpMempoolResponse) ProtoMessage()

func (*DumpMempoolResponse) Reset

func (m *DumpMempoolResponse) Reset()

func (*DumpMempoolResponse) String

func (m *DumpMempoolResponse) String() string

type EmptyArg

type EmptyArg struct {
}

func (*EmptyArg) Descriptor

func (*EmptyArg) Descriptor() ([]byte, []int)

func (*EmptyArg) ProtoMessage

func (*EmptyArg) ProtoMessage()

func (*EmptyArg) Reset

func (m *EmptyArg) Reset()

func (*EmptyArg) String

func (m *EmptyArg) String() string

type EmptyRequest

type EmptyRequest struct {
}

func (*EmptyRequest) Descriptor

func (*EmptyRequest) Descriptor() ([]byte, []int)

func (*EmptyRequest) ProtoMessage

func (*EmptyRequest) ProtoMessage()

func (*EmptyRequest) Reset

func (m *EmptyRequest) Reset()

func (*EmptyRequest) String

func (m *EmptyRequest) String() string

type EmptyResponse

type EmptyResponse struct {
	// / Contains a non-zero error code and a non-empty message if and only if
	// / there has been an error
	Error *Error `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
}

func (*EmptyResponse) Descriptor

func (*EmptyResponse) Descriptor() ([]byte, []int)

func (*EmptyResponse) GetError

func (m *EmptyResponse) GetError() *Error

func (*EmptyResponse) ProtoMessage

func (*EmptyResponse) ProtoMessage()

func (*EmptyResponse) Reset

func (m *EmptyResponse) Reset()

func (*EmptyResponse) String

func (m *EmptyResponse) String() string

type Error

type Error struct {
	Code   int32  `protobuf:"varint,1,opt,name=code" json:"code,omitempty"`
	Errmsg string `protobuf:"bytes,2,opt,name=errmsg" json:"errmsg,omitempty"`
}

func (*Error) Descriptor

func (*Error) Descriptor() ([]byte, []int)

func (*Error) GetCode

func (m *Error) GetCode() int32

func (*Error) GetErrmsg

func (m *Error) GetErrmsg() string

func (*Error) ProtoMessage

func (*Error) ProtoMessage()

func (*Error) Reset

func (m *Error) Reset()

func (*Error) String

func (m *Error) String() string

type EtherEncapArg

type EtherEncapArg struct {
}

* The EtherEncap module wraps packets in an Ethernet header, but it takes no parameters. Instead, Ethernet source, destination, and type are pulled from a packet's metadata attributes. For example: `SetMetadata('dst_mac', 11:22:33:44:55) -> EtherEncap()` This is useful when upstream modules wish to assign a MAC address to a packet, e.g., due to an ARP request.

__Input Gates__: 1 __Output Gates__: 1

func (*EtherEncapArg) Descriptor

func (*EtherEncapArg) Descriptor() ([]byte, []int)

func (*EtherEncapArg) ProtoMessage

func (*EtherEncapArg) ProtoMessage()

func (*EtherEncapArg) Reset

func (m *EtherEncapArg) Reset()

func (*EtherEncapArg) String

func (m *EtherEncapArg) String() string

type ExactMatchArg

type ExactMatchArg struct {
	Fields []*Field     `protobuf:"bytes,1,rep,name=fields" json:"fields,omitempty"`
	Masks  []*FieldData `protobuf:"bytes,2,rep,name=masks" json:"masks,omitempty"`
}

* The ExactMatch module splits packets along output gates according to exact match values in arbitrary packet fields. To instantiate an ExactMatch module, you must specify which fields in the packet to match over. You can add rules using the function `ExactMatch.add(...)` Fields may be stored either in the packet data or its metadata attributes. An example script using the ExactMatch code is found in [`bess/bessctl/conf/samples/exactmatch.bess`](https://github.com/NetSys/bess/blob/master/bessctl/conf/samples/exactmatch.bess).

__Input Gates__: 1 __Output Gates__: many (configurable)

func (*ExactMatchArg) Descriptor

func (*ExactMatchArg) Descriptor() ([]byte, []int)

func (*ExactMatchArg) GetFields

func (m *ExactMatchArg) GetFields() []*Field

func (*ExactMatchArg) GetMasks

func (m *ExactMatchArg) GetMasks() []*FieldData

func (*ExactMatchArg) ProtoMessage

func (*ExactMatchArg) ProtoMessage()

func (*ExactMatchArg) Reset

func (m *ExactMatchArg) Reset()

func (*ExactMatchArg) String

func (m *ExactMatchArg) String() string

type ExactMatchCommandAddArg

type ExactMatchCommandAddArg struct {
	Gate   uint64       `protobuf:"varint,1,opt,name=gate" json:"gate,omitempty"`
	Fields []*FieldData `protobuf:"bytes,2,rep,name=fields" json:"fields,omitempty"`
}

* The ExactMatch module has a command `add(...)` that takes two parameters. The ExactMatch initializer specifies what fields in a packet to inspect; add() specifies which values to check for over these fields. add() inserts a new rule into the ExactMatch module such that traffic matching that bytestring will be forwarded out a specified gate. Example use: `add(fields=[aton('12.3.4.5'), aton('5.4.3.2')], gate=2)`

func (*ExactMatchCommandAddArg) Descriptor

func (*ExactMatchCommandAddArg) Descriptor() ([]byte, []int)

func (*ExactMatchCommandAddArg) GetFields

func (m *ExactMatchCommandAddArg) GetFields() []*FieldData

func (*ExactMatchCommandAddArg) GetGate

func (m *ExactMatchCommandAddArg) GetGate() uint64

func (*ExactMatchCommandAddArg) ProtoMessage

func (*ExactMatchCommandAddArg) ProtoMessage()

func (*ExactMatchCommandAddArg) Reset

func (m *ExactMatchCommandAddArg) Reset()

func (*ExactMatchCommandAddArg) String

func (m *ExactMatchCommandAddArg) String() string

type ExactMatchCommandClearArg

type ExactMatchCommandClearArg struct {
}

* The ExactMatch module has a command `clear()` which takes no parameters. This command removes all rules from the ExactMatch module.

func (*ExactMatchCommandClearArg) Descriptor

func (*ExactMatchCommandClearArg) Descriptor() ([]byte, []int)

func (*ExactMatchCommandClearArg) ProtoMessage

func (*ExactMatchCommandClearArg) ProtoMessage()

func (*ExactMatchCommandClearArg) Reset

func (m *ExactMatchCommandClearArg) Reset()

func (*ExactMatchCommandClearArg) String

func (m *ExactMatchCommandClearArg) String() string

type ExactMatchCommandDeleteArg

type ExactMatchCommandDeleteArg struct {
	Fields []*FieldData `protobuf:"bytes,2,rep,name=fields" json:"fields,omitempty"`
}

* The ExactMatch module has a command `delete(...)` which deletes an existing rule. Example use: `delete(fields=[aton('12.3.4.5'), aton('5.4.3.2')])`

func (*ExactMatchCommandDeleteArg) Descriptor

func (*ExactMatchCommandDeleteArg) Descriptor() ([]byte, []int)

func (*ExactMatchCommandDeleteArg) GetFields

func (m *ExactMatchCommandDeleteArg) GetFields() []*FieldData

func (*ExactMatchCommandDeleteArg) ProtoMessage

func (*ExactMatchCommandDeleteArg) ProtoMessage()

func (*ExactMatchCommandDeleteArg) Reset

func (m *ExactMatchCommandDeleteArg) Reset()

func (*ExactMatchCommandDeleteArg) String

func (m *ExactMatchCommandDeleteArg) String() string

type ExactMatchCommandSetDefaultGateArg

type ExactMatchCommandSetDefaultGateArg struct {
	Gate uint64 `protobuf:"varint,1,opt,name=gate" json:"gate,omitempty"`
}

* The ExactMatch module has a command `set_default_gate(...)` which takes one parameter. This command routes all traffic which does _not_ match a rule to a specified gate. Example use in bessctl: `setDefaultGate(gate=2)`

func (*ExactMatchCommandSetDefaultGateArg) Descriptor

func (*ExactMatchCommandSetDefaultGateArg) Descriptor() ([]byte, []int)

func (*ExactMatchCommandSetDefaultGateArg) GetGate

func (*ExactMatchCommandSetDefaultGateArg) ProtoMessage

func (*ExactMatchCommandSetDefaultGateArg) ProtoMessage()

func (*ExactMatchCommandSetDefaultGateArg) Reset

func (*ExactMatchCommandSetDefaultGateArg) String

type ExactMatchConfig

type ExactMatchConfig struct {
	DefaultGate uint64                     `protobuf:"varint,1,opt,name=default_gate,json=defaultGate" json:"default_gate,omitempty"`
	Rules       []*ExactMatchCommandAddArg `protobuf:"bytes,2,rep,name=rules" json:"rules,omitempty"`
}

* ExactMatchConfig represents the current runtime configuration of an ExactMatch module, as returned by get_runtime_config and set by set_runtime_config.

func (*ExactMatchConfig) Descriptor

func (*ExactMatchConfig) Descriptor() ([]byte, []int)

func (*ExactMatchConfig) GetDefaultGate

func (m *ExactMatchConfig) GetDefaultGate() uint64

func (*ExactMatchConfig) GetRules

func (m *ExactMatchConfig) GetRules() []*ExactMatchCommandAddArg

func (*ExactMatchConfig) ProtoMessage

func (*ExactMatchConfig) ProtoMessage()

func (*ExactMatchConfig) Reset

func (m *ExactMatchConfig) Reset()

func (*ExactMatchConfig) String

func (m *ExactMatchConfig) String() string

type Field

type Field struct {
	// Types that are valid to be assigned to Position:
	//	*Field_AttrName
	//	*Field_Offset
	Position isField_Position `protobuf_oneof:"position"`
	NumBytes uint32           `protobuf:"varint,3,opt,name=num_bytes,json=numBytes" json:"num_bytes,omitempty"`
}

/ The Field message represents one field in a packet -- either stored in metadata or in the packet body.

func (*Field) Descriptor

func (*Field) Descriptor() ([]byte, []int)

func (*Field) GetAttrName

func (m *Field) GetAttrName() string

func (*Field) GetNumBytes

func (m *Field) GetNumBytes() uint32

func (*Field) GetOffset

func (m *Field) GetOffset() uint32

func (*Field) GetPosition

func (m *Field) GetPosition() isField_Position

func (*Field) ProtoMessage

func (*Field) ProtoMessage()

func (*Field) Reset

func (m *Field) Reset()

func (*Field) String

func (m *Field) String() string

func (*Field) XXX_OneofFuncs

func (*Field) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

type FieldData

type FieldData struct {
	// Types that are valid to be assigned to Encoding:
	//	*FieldData_ValueBin
	//	*FieldData_ValueInt
	Encoding isFieldData_Encoding `protobuf_oneof:"encoding"`
}

/ The FieldData message encodes a value to insert into a packet; the value can be supplied as either an int or a bytestring.

func (*FieldData) Descriptor

func (*FieldData) Descriptor() ([]byte, []int)

func (*FieldData) GetEncoding

func (m *FieldData) GetEncoding() isFieldData_Encoding

func (*FieldData) GetValueBin

func (m *FieldData) GetValueBin() []byte

func (*FieldData) GetValueInt

func (m *FieldData) GetValueInt() uint64

func (*FieldData) ProtoMessage

func (*FieldData) ProtoMessage()

func (*FieldData) Reset

func (m *FieldData) Reset()

func (*FieldData) String

func (m *FieldData) String() string

func (*FieldData) XXX_OneofFuncs

func (*FieldData) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

type FieldData_ValueBin

type FieldData_ValueBin struct {
	ValueBin []byte `protobuf:"bytes,1,opt,name=value_bin,json=valueBin,proto3,oneof"`
}

type FieldData_ValueInt

type FieldData_ValueInt struct {
	ValueInt uint64 `protobuf:"varint,2,opt,name=value_int,json=valueInt,oneof"`
}

type Field_AttrName

type Field_AttrName struct {
	AttrName string `protobuf:"bytes,1,opt,name=attr_name,json=attrName,oneof"`
}

type Field_Offset

type Field_Offset struct {
	Offset uint32 `protobuf:"varint,2,opt,name=offset,oneof"`
}

type FlowGenArg

type FlowGenArg struct {
	Template     []byte  `protobuf:"bytes,1,opt,name=template,proto3" json:"template,omitempty"`
	Pps          float64 `protobuf:"fixed64,2,opt,name=pps" json:"pps,omitempty"`
	FlowRate     float64 `protobuf:"fixed64,3,opt,name=flow_rate,json=flowRate" json:"flow_rate,omitempty"`
	FlowDuration float64 `protobuf:"fixed64,4,opt,name=flow_duration,json=flowDuration" json:"flow_duration,omitempty"`
	Arrival      string  `protobuf:"bytes,5,opt,name=arrival" json:"arrival,omitempty"`
	Duration     string  `protobuf:"bytes,6,opt,name=duration" json:"duration,omitempty"`
	QuickRampup  bool    `protobuf:"varint,7,opt,name=quick_rampup,json=quickRampup" json:"quick_rampup,omitempty"`
	IpSrcRange   uint32  `protobuf:"varint,8,opt,name=ip_src_range,json=ipSrcRange" json:"ip_src_range,omitempty"`
	IpDstRange   uint32  `protobuf:"varint,9,opt,name=ip_dst_range,json=ipDstRange" json:"ip_dst_range,omitempty"`
	PortSrcRange uint32  `protobuf:"varint,10,opt,name=port_src_range,json=portSrcRange" json:"port_src_range,omitempty"`
	PortDstRange uint32  `protobuf:"varint,11,opt,name=port_dst_range,json=portDstRange" json:"port_dst_range,omitempty"`
}

* The FlowGen module generates simulated TCP flows of packets with correct SYN/FIN flags and sequence numbers. This module is useful for testing, e.g., a NAT module or other flow-aware code. Packets are generated off a base, "template" packet by modifying the IP src/dst and TCP src/dst. By default, only the ports are changed and will be modified by incrementing the template ports by up to 20000 more than the template values.

__Input Gates__: 0 __Output Gates__: 1

func (*FlowGenArg) Descriptor

func (*FlowGenArg) Descriptor() ([]byte, []int)

func (*FlowGenArg) GetArrival

func (m *FlowGenArg) GetArrival() string

func (*FlowGenArg) GetDuration

func (m *FlowGenArg) GetDuration() string

func (*FlowGenArg) GetFlowDuration

func (m *FlowGenArg) GetFlowDuration() float64

func (*FlowGenArg) GetFlowRate

func (m *FlowGenArg) GetFlowRate() float64

func (*FlowGenArg) GetIpDstRange

func (m *FlowGenArg) GetIpDstRange() uint32

func (*FlowGenArg) GetIpSrcRange

func (m *FlowGenArg) GetIpSrcRange() uint32

func (*FlowGenArg) GetPortDstRange

func (m *FlowGenArg) GetPortDstRange() uint32

func (*FlowGenArg) GetPortSrcRange

func (m *FlowGenArg) GetPortSrcRange() uint32

func (*FlowGenArg) GetPps

func (m *FlowGenArg) GetPps() float64

func (*FlowGenArg) GetQuickRampup

func (m *FlowGenArg) GetQuickRampup() bool

func (*FlowGenArg) GetTemplate

func (m *FlowGenArg) GetTemplate() []byte

func (*FlowGenArg) ProtoMessage

func (*FlowGenArg) ProtoMessage()

func (*FlowGenArg) Reset

func (m *FlowGenArg) Reset()

func (*FlowGenArg) String

func (m *FlowGenArg) String() string

type FlowGenCommandSetBurstArg

type FlowGenCommandSetBurstArg struct {
	Burst uint64 `protobuf:"varint,1,opt,name=burst" json:"burst,omitempty"`
}

* The FlowGen module has a command `set_burst(...)` that allows you to specify the maximum number of packets to be stored in a single PacketBatch released by the module.

func (*FlowGenCommandSetBurstArg) Descriptor

func (*FlowGenCommandSetBurstArg) Descriptor() ([]byte, []int)

func (*FlowGenCommandSetBurstArg) GetBurst

func (m *FlowGenCommandSetBurstArg) GetBurst() uint64

func (*FlowGenCommandSetBurstArg) ProtoMessage

func (*FlowGenCommandSetBurstArg) ProtoMessage()

func (*FlowGenCommandSetBurstArg) Reset

func (m *FlowGenCommandSetBurstArg) Reset()

func (*FlowGenCommandSetBurstArg) String

func (m *FlowGenCommandSetBurstArg) String() string

type GateHookCommandRequest

type GateHookCommandRequest struct {
	Hook *GateHookInfo `protobuf:"bytes,1,opt,name=hook" json:"hook,omitempty"`
	Cmd  string        `protobuf:"bytes,2,opt,name=cmd" json:"cmd,omitempty"`
}

func (*GateHookCommandRequest) Descriptor

func (*GateHookCommandRequest) Descriptor() ([]byte, []int)

func (*GateHookCommandRequest) GetCmd

func (m *GateHookCommandRequest) GetCmd() string

func (*GateHookCommandRequest) GetHook

func (m *GateHookCommandRequest) GetHook() *GateHookInfo

func (*GateHookCommandRequest) ProtoMessage

func (*GateHookCommandRequest) ProtoMessage()

func (*GateHookCommandRequest) Reset

func (m *GateHookCommandRequest) Reset()

func (*GateHookCommandRequest) String

func (m *GateHookCommandRequest) String() string

type GateHookInfo

type GateHookInfo struct {
	ClassName  string `protobuf:"bytes,1,opt,name=class_name,json=className" json:"class_name,omitempty"`
	HookName   string `protobuf:"bytes,2,opt,name=hook_name,json=hookName" json:"hook_name,omitempty"`
	ModuleName string `protobuf:"bytes,3,opt,name=module_name,json=moduleName" json:"module_name,omitempty"`
	// Types that are valid to be assigned to Gate:
	//	*GateHookInfo_Igate
	//	*GateHookInfo_Ogate
	Gate isGateHookInfo_Gate  `protobuf_oneof:"gate"`
	Arg  *google_protobuf.Any `protobuf:"bytes,6,opt,name=arg" json:"arg,omitempty"`
}

func (*GateHookInfo) Descriptor

func (*GateHookInfo) Descriptor() ([]byte, []int)

func (*GateHookInfo) GetArg

func (m *GateHookInfo) GetArg() *google_protobuf.Any

func (*GateHookInfo) GetClassName

func (m *GateHookInfo) GetClassName() string

func (*GateHookInfo) GetGate

func (m *GateHookInfo) GetGate() isGateHookInfo_Gate

func (*GateHookInfo) GetHookName

func (m *GateHookInfo) GetHookName() string

func (*GateHookInfo) GetIgate

func (m *GateHookInfo) GetIgate() int64

func (*GateHookInfo) GetModuleName

func (m *GateHookInfo) GetModuleName() string

func (*GateHookInfo) GetOgate

func (m *GateHookInfo) GetOgate() int64

func (*GateHookInfo) ProtoMessage

func (*GateHookInfo) ProtoMessage()

func (*GateHookInfo) Reset

func (m *GateHookInfo) Reset()

func (*GateHookInfo) String

func (m *GateHookInfo) String() string

func (*GateHookInfo) XXX_OneofFuncs

func (*GateHookInfo) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

type GateHookInfo_Igate

type GateHookInfo_Igate struct {
	Igate int64 `protobuf:"varint,4,opt,name=igate,oneof"`
}

type GateHookInfo_Ogate

type GateHookInfo_Ogate struct {
	Ogate int64 `protobuf:"varint,5,opt,name=ogate,oneof"`
}

type GenericDecapArg

type GenericDecapArg struct {
	Bytes uint64 `protobuf:"varint,1,opt,name=bytes" json:"bytes,omitempty"`
}

* The GenericDecap module strips off the first few bytes of data from a packet.

__Input Gates__: 1 __Ouptut Gates__: 1

func (*GenericDecapArg) Descriptor

func (*GenericDecapArg) Descriptor() ([]byte, []int)

func (*GenericDecapArg) GetBytes

func (m *GenericDecapArg) GetBytes() uint64

func (*GenericDecapArg) ProtoMessage

func (*GenericDecapArg) ProtoMessage()

func (*GenericDecapArg) Reset

func (m *GenericDecapArg) Reset()

func (*GenericDecapArg) String

func (m *GenericDecapArg) String() string

type GenericEncapArg

type GenericEncapArg struct {
	Fields []*GenericEncapArg_EncapField `protobuf:"bytes,1,rep,name=fields" json:"fields,omitempty"`
}

* The GenericEncap module adds a header to packets passing through it. Takes a list of fields. Each field is either:

  1. {'size': X, 'value': Y} (for constant values)
  2. {'size': X, 'attribute': Y} (for metadata attributes)

e.g.: `GenericEncap([{'size': 4, 'value': 0xdeadbeef},

{'size': 2, 'attribute': 'foo'},
{'size': 2, 'value': 0x1234}])`

will prepend a 8-byte header:

`de ad be ef <xx> <xx> 12 34`

where the 2-byte `<xx> <xx>` comes from the value of metadata attribute `'foo'` for each packet. An example script using GenericEncap is in [`bess/bessctl/conf/samples/generic_encap.bess`](https://github.com/NetSys/bess/blob/master/bessctl/conf/samples/generic_encap.bess).

__Input Gates__: 1 __Output Gates__: 1

func (*GenericEncapArg) Descriptor

func (*GenericEncapArg) Descriptor() ([]byte, []int)

func (*GenericEncapArg) GetFields

func (m *GenericEncapArg) GetFields() []*GenericEncapArg_EncapField

func (*GenericEncapArg) ProtoMessage

func (*GenericEncapArg) ProtoMessage()

func (*GenericEncapArg) Reset

func (m *GenericEncapArg) Reset()

func (*GenericEncapArg) String

func (m *GenericEncapArg) String() string

type GenericEncapArg_EncapField

type GenericEncapArg_EncapField struct {
	Size uint64 `protobuf:"varint,1,opt,name=size" json:"size,omitempty"`
	// Types that are valid to be assigned to Insertion:
	//	*GenericEncapArg_EncapField_Attribute
	//	*GenericEncapArg_EncapField_Value
	Insertion isGenericEncapArg_EncapField_Insertion `protobuf_oneof:"insertion"`
}

* An EncapField represents one field in the new packet header.

func (*GenericEncapArg_EncapField) Descriptor

func (*GenericEncapArg_EncapField) Descriptor() ([]byte, []int)

func (*GenericEncapArg_EncapField) GetAttribute

func (m *GenericEncapArg_EncapField) GetAttribute() string

func (*GenericEncapArg_EncapField) GetInsertion

func (m *GenericEncapArg_EncapField) GetInsertion() isGenericEncapArg_EncapField_Insertion

func (*GenericEncapArg_EncapField) GetSize

func (m *GenericEncapArg_EncapField) GetSize() uint64

func (*GenericEncapArg_EncapField) GetValue

func (m *GenericEncapArg_EncapField) GetValue() *FieldData

func (*GenericEncapArg_EncapField) ProtoMessage

func (*GenericEncapArg_EncapField) ProtoMessage()

func (*GenericEncapArg_EncapField) Reset

func (m *GenericEncapArg_EncapField) Reset()

func (*GenericEncapArg_EncapField) String

func (m *GenericEncapArg_EncapField) String() string

func (*GenericEncapArg_EncapField) XXX_OneofFuncs

func (*GenericEncapArg_EncapField) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

type GenericEncapArg_EncapField_Attribute

type GenericEncapArg_EncapField_Attribute struct {
	Attribute string `protobuf:"bytes,2,opt,name=attribute,oneof"`
}

type GenericEncapArg_EncapField_Value

type GenericEncapArg_EncapField_Value struct {
	Value *FieldData `protobuf:"bytes,3,opt,name=value,oneof"`
}

type GetDriverInfoRequest

type GetDriverInfoRequest struct {
	DriverName string `protobuf:"bytes,1,opt,name=driver_name,json=driverName" json:"driver_name,omitempty"`
}

func (*GetDriverInfoRequest) Descriptor

func (*GetDriverInfoRequest) Descriptor() ([]byte, []int)

func (*GetDriverInfoRequest) GetDriverName

func (m *GetDriverInfoRequest) GetDriverName() string

func (*GetDriverInfoRequest) ProtoMessage

func (*GetDriverInfoRequest) ProtoMessage()

func (*GetDriverInfoRequest) Reset

func (m *GetDriverInfoRequest) Reset()

func (*GetDriverInfoRequest) String

func (m *GetDriverInfoRequest) String() string

type GetDriverInfoResponse

type GetDriverInfoResponse struct {
	Error    *Error   `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
	Name     string   `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
	Help     string   `protobuf:"bytes,3,opt,name=help" json:"help,omitempty"`
	Commands []string `protobuf:"bytes,4,rep,name=commands" json:"commands,omitempty"`
}

func (*GetDriverInfoResponse) Descriptor

func (*GetDriverInfoResponse) Descriptor() ([]byte, []int)

func (*GetDriverInfoResponse) GetCommands

func (m *GetDriverInfoResponse) GetCommands() []string

func (*GetDriverInfoResponse) GetError

func (m *GetDriverInfoResponse) GetError() *Error

func (*GetDriverInfoResponse) GetHelp

func (m *GetDriverInfoResponse) GetHelp() string

func (*GetDriverInfoResponse) GetName

func (m *GetDriverInfoResponse) GetName() string

func (*GetDriverInfoResponse) ProtoMessage

func (*GetDriverInfoResponse) ProtoMessage()

func (*GetDriverInfoResponse) Reset

func (m *GetDriverInfoResponse) Reset()

func (*GetDriverInfoResponse) String

func (m *GetDriverInfoResponse) String() string

type GetGateHookClassInfoRequest

type GetGateHookClassInfoRequest struct {
	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
}

func (*GetGateHookClassInfoRequest) Descriptor

func (*GetGateHookClassInfoRequest) Descriptor() ([]byte, []int)

func (*GetGateHookClassInfoRequest) GetName

func (m *GetGateHookClassInfoRequest) GetName() string

func (*GetGateHookClassInfoRequest) ProtoMessage

func (*GetGateHookClassInfoRequest) ProtoMessage()

func (*GetGateHookClassInfoRequest) Reset

func (m *GetGateHookClassInfoRequest) Reset()

func (*GetGateHookClassInfoRequest) String

func (m *GetGateHookClassInfoRequest) String() string

type GetGateHookClassInfoResponse

type GetGateHookClassInfoResponse struct {
	Error   *Error   `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
	Name    string   `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
	Help    string   `protobuf:"bytes,3,opt,name=help" json:"help,omitempty"`
	Cmds    []string `protobuf:"bytes,4,rep,name=cmds" json:"cmds,omitempty"`
	CmdArgs []string `protobuf:"bytes,5,rep,name=cmd_args,json=cmdArgs" json:"cmd_args,omitempty"`
}

func (*GetGateHookClassInfoResponse) Descriptor

func (*GetGateHookClassInfoResponse) Descriptor() ([]byte, []int)

func (*GetGateHookClassInfoResponse) GetCmdArgs

func (m *GetGateHookClassInfoResponse) GetCmdArgs() []string

func (*GetGateHookClassInfoResponse) GetCmds

func (m *GetGateHookClassInfoResponse) GetCmds() []string

func (*GetGateHookClassInfoResponse) GetError

func (m *GetGateHookClassInfoResponse) GetError() *Error

func (*GetGateHookClassInfoResponse) GetHelp

func (m *GetGateHookClassInfoResponse) GetHelp() string

func (*GetGateHookClassInfoResponse) GetName

func (m *GetGateHookClassInfoResponse) GetName() string

func (*GetGateHookClassInfoResponse) ProtoMessage

func (*GetGateHookClassInfoResponse) ProtoMessage()

func (*GetGateHookClassInfoResponse) Reset

func (m *GetGateHookClassInfoResponse) Reset()

func (*GetGateHookClassInfoResponse) String

type GetLinkStatusRequest

type GetLinkStatusRequest struct {
	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
}

func (*GetLinkStatusRequest) Descriptor

func (*GetLinkStatusRequest) Descriptor() ([]byte, []int)

func (*GetLinkStatusRequest) GetName

func (m *GetLinkStatusRequest) GetName() string

func (*GetLinkStatusRequest) ProtoMessage

func (*GetLinkStatusRequest) ProtoMessage()

func (*GetLinkStatusRequest) Reset

func (m *GetLinkStatusRequest) Reset()

func (*GetLinkStatusRequest) String

func (m *GetLinkStatusRequest) String() string

type GetLinkStatusResponse

type GetLinkStatusResponse struct {
	Error      *Error `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
	Speed      uint32 `protobuf:"varint,2,opt,name=speed" json:"speed,omitempty"`
	FullDuplex bool   `protobuf:"varint,3,opt,name=full_duplex,json=fullDuplex" json:"full_duplex,omitempty"`
	Autoneg    bool   `protobuf:"varint,4,opt,name=autoneg" json:"autoneg,omitempty"`
	LinkUp     bool   `protobuf:"varint,5,opt,name=link_up,json=linkUp" json:"link_up,omitempty"`
}

func (*GetLinkStatusResponse) Descriptor

func (*GetLinkStatusResponse) Descriptor() ([]byte, []int)

func (*GetLinkStatusResponse) GetAutoneg

func (m *GetLinkStatusResponse) GetAutoneg() bool

func (*GetLinkStatusResponse) GetError

func (m *GetLinkStatusResponse) GetError() *Error

func (*GetLinkStatusResponse) GetFullDuplex

func (m *GetLinkStatusResponse) GetFullDuplex() bool

func (*GetLinkStatusResponse) GetLinkUp

func (m *GetLinkStatusResponse) GetLinkUp() bool

func (*GetLinkStatusResponse) GetSpeed

func (m *GetLinkStatusResponse) GetSpeed() uint32

func (*GetLinkStatusResponse) ProtoMessage

func (*GetLinkStatusResponse) ProtoMessage()

func (*GetLinkStatusResponse) Reset

func (m *GetLinkStatusResponse) Reset()

func (*GetLinkStatusResponse) String

func (m *GetLinkStatusResponse) String() string

type GetMclassInfoRequest

type GetMclassInfoRequest struct {
	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
}

func (*GetMclassInfoRequest) Descriptor

func (*GetMclassInfoRequest) Descriptor() ([]byte, []int)

func (*GetMclassInfoRequest) GetName

func (m *GetMclassInfoRequest) GetName() string

func (*GetMclassInfoRequest) ProtoMessage

func (*GetMclassInfoRequest) ProtoMessage()

func (*GetMclassInfoRequest) Reset

func (m *GetMclassInfoRequest) Reset()

func (*GetMclassInfoRequest) String

func (m *GetMclassInfoRequest) String() string

type GetMclassInfoResponse

type GetMclassInfoResponse struct {
	Error   *Error   `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
	Name    string   `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
	Help    string   `protobuf:"bytes,3,opt,name=help" json:"help,omitempty"`
	Cmds    []string `protobuf:"bytes,4,rep,name=cmds" json:"cmds,omitempty"`
	CmdArgs []string `protobuf:"bytes,5,rep,name=cmd_args,json=cmdArgs" json:"cmd_args,omitempty"`
}

func (*GetMclassInfoResponse) Descriptor

func (*GetMclassInfoResponse) Descriptor() ([]byte, []int)

func (*GetMclassInfoResponse) GetCmdArgs

func (m *GetMclassInfoResponse) GetCmdArgs() []string

func (*GetMclassInfoResponse) GetCmds

func (m *GetMclassInfoResponse) GetCmds() []string

func (*GetMclassInfoResponse) GetError

func (m *GetMclassInfoResponse) GetError() *Error

func (*GetMclassInfoResponse) GetHelp

func (m *GetMclassInfoResponse) GetHelp() string

func (*GetMclassInfoResponse) GetName

func (m *GetMclassInfoResponse) GetName() string

func (*GetMclassInfoResponse) ProtoMessage

func (*GetMclassInfoResponse) ProtoMessage()

func (*GetMclassInfoResponse) Reset

func (m *GetMclassInfoResponse) Reset()

func (*GetMclassInfoResponse) String

func (m *GetMclassInfoResponse) String() string

type GetModuleInfoRequest

type GetModuleInfoRequest struct {
	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
}

func (*GetModuleInfoRequest) Descriptor

func (*GetModuleInfoRequest) Descriptor() ([]byte, []int)

func (*GetModuleInfoRequest) GetName

func (m *GetModuleInfoRequest) GetName() string

func (*GetModuleInfoRequest) ProtoMessage

func (*GetModuleInfoRequest) ProtoMessage()

func (*GetModuleInfoRequest) Reset

func (m *GetModuleInfoRequest) Reset()

func (*GetModuleInfoRequest) String

func (m *GetModuleInfoRequest) String() string

type GetModuleInfoResponse

type GetModuleInfoResponse struct {
	Error    *Error                             `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
	Name     string                             `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
	Mclass   string                             `protobuf:"bytes,3,opt,name=mclass" json:"mclass,omitempty"`
	Desc     string                             `protobuf:"bytes,4,opt,name=desc" json:"desc,omitempty"`
	Igates   []*GetModuleInfoResponse_IGate     `protobuf:"bytes,6,rep,name=igates" json:"igates,omitempty"`
	Ogates   []*GetModuleInfoResponse_OGate     `protobuf:"bytes,7,rep,name=ogates" json:"ogates,omitempty"`
	Metadata []*GetModuleInfoResponse_Attribute `protobuf:"bytes,8,rep,name=metadata" json:"metadata,omitempty"`
}

func (*GetModuleInfoResponse) Descriptor

func (*GetModuleInfoResponse) Descriptor() ([]byte, []int)

func (*GetModuleInfoResponse) GetDesc

func (m *GetModuleInfoResponse) GetDesc() string

func (*GetModuleInfoResponse) GetError

func (m *GetModuleInfoResponse) GetError() *Error

func (*GetModuleInfoResponse) GetIgates

func (*GetModuleInfoResponse) GetMclass

func (m *GetModuleInfoResponse) GetMclass() string

func (*GetModuleInfoResponse) GetMetadata

func (*GetModuleInfoResponse) GetName

func (m *GetModuleInfoResponse) GetName() string

func (*GetModuleInfoResponse) GetOgates

func (*GetModuleInfoResponse) ProtoMessage

func (*GetModuleInfoResponse) ProtoMessage()

func (*GetModuleInfoResponse) Reset

func (m *GetModuleInfoResponse) Reset()

func (*GetModuleInfoResponse) String

func (m *GetModuleInfoResponse) String() string

type GetModuleInfoResponse_Attribute

type GetModuleInfoResponse_Attribute struct {
	Name   string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	Size   uint64 `protobuf:"varint,2,opt,name=size" json:"size,omitempty"`
	Mode   string `protobuf:"bytes,3,opt,name=mode" json:"mode,omitempty"`
	Offset int64  `protobuf:"varint,4,opt,name=offset" json:"offset,omitempty"`
}

func (*GetModuleInfoResponse_Attribute) Descriptor

func (*GetModuleInfoResponse_Attribute) Descriptor() ([]byte, []int)

func (*GetModuleInfoResponse_Attribute) GetMode

func (*GetModuleInfoResponse_Attribute) GetName

func (*GetModuleInfoResponse_Attribute) GetOffset

func (m *GetModuleInfoResponse_Attribute) GetOffset() int64

func (*GetModuleInfoResponse_Attribute) GetSize

func (*GetModuleInfoResponse_Attribute) ProtoMessage

func (*GetModuleInfoResponse_Attribute) ProtoMessage()

func (*GetModuleInfoResponse_Attribute) Reset

func (*GetModuleInfoResponse_Attribute) String

type GetModuleInfoResponse_GateHook

type GetModuleInfoResponse_GateHook struct {
	ClassName string `protobuf:"bytes,1,opt,name=class_name,json=className" json:"class_name,omitempty"`
	HookName  string `protobuf:"bytes,2,opt,name=hook_name,json=hookName" json:"hook_name,omitempty"`
}

func (*GetModuleInfoResponse_GateHook) Descriptor

func (*GetModuleInfoResponse_GateHook) Descriptor() ([]byte, []int)

func (*GetModuleInfoResponse_GateHook) GetClassName

func (m *GetModuleInfoResponse_GateHook) GetClassName() string

func (*GetModuleInfoResponse_GateHook) GetHookName

func (m *GetModuleInfoResponse_GateHook) GetHookName() string

func (*GetModuleInfoResponse_GateHook) ProtoMessage

func (*GetModuleInfoResponse_GateHook) ProtoMessage()

func (*GetModuleInfoResponse_GateHook) Reset

func (m *GetModuleInfoResponse_GateHook) Reset()

func (*GetModuleInfoResponse_GateHook) String

type GetModuleInfoResponse_IGate

type GetModuleInfoResponse_IGate struct {
	Igate     uint64                               `protobuf:"varint,1,opt,name=igate" json:"igate,omitempty"`
	Ogates    []*GetModuleInfoResponse_IGate_OGate `protobuf:"bytes,2,rep,name=ogates" json:"ogates,omitempty"`
	Cnt       uint64                               `protobuf:"varint,3,opt,name=cnt" json:"cnt,omitempty"`
	Pkts      uint64                               `protobuf:"varint,4,opt,name=pkts" json:"pkts,omitempty"`
	Bytes     uint64                               `protobuf:"varint,5,opt,name=bytes" json:"bytes,omitempty"`
	Timestamp float64                              `protobuf:"fixed64,6,opt,name=timestamp" json:"timestamp,omitempty"`
	Gatehooks []*GetModuleInfoResponse_GateHook    `protobuf:"bytes,8,rep,name=gatehooks" json:"gatehooks,omitempty"`
}

func (*GetModuleInfoResponse_IGate) Descriptor

func (*GetModuleInfoResponse_IGate) Descriptor() ([]byte, []int)

func (*GetModuleInfoResponse_IGate) GetBytes

func (m *GetModuleInfoResponse_IGate) GetBytes() uint64

func (*GetModuleInfoResponse_IGate) GetCnt

func (m *GetModuleInfoResponse_IGate) GetCnt() uint64

func (*GetModuleInfoResponse_IGate) GetGatehooks

func (*GetModuleInfoResponse_IGate) GetIgate

func (m *GetModuleInfoResponse_IGate) GetIgate() uint64

func (*GetModuleInfoResponse_IGate) GetOgates

func (*GetModuleInfoResponse_IGate) GetPkts

func (m *GetModuleInfoResponse_IGate) GetPkts() uint64

func (*GetModuleInfoResponse_IGate) GetTimestamp

func (m *GetModuleInfoResponse_IGate) GetTimestamp() float64

func (*GetModuleInfoResponse_IGate) ProtoMessage

func (*GetModuleInfoResponse_IGate) ProtoMessage()

func (*GetModuleInfoResponse_IGate) Reset

func (m *GetModuleInfoResponse_IGate) Reset()

func (*GetModuleInfoResponse_IGate) String

func (m *GetModuleInfoResponse_IGate) String() string

type GetModuleInfoResponse_IGate_OGate

type GetModuleInfoResponse_IGate_OGate struct {
	Ogate uint64 `protobuf:"varint,1,opt,name=ogate" json:"ogate,omitempty"`
	Name  string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
}

func (*GetModuleInfoResponse_IGate_OGate) Descriptor

func (*GetModuleInfoResponse_IGate_OGate) Descriptor() ([]byte, []int)

func (*GetModuleInfoResponse_IGate_OGate) GetName

func (*GetModuleInfoResponse_IGate_OGate) GetOgate

func (*GetModuleInfoResponse_IGate_OGate) ProtoMessage

func (*GetModuleInfoResponse_IGate_OGate) ProtoMessage()

func (*GetModuleInfoResponse_IGate_OGate) Reset

func (*GetModuleInfoResponse_IGate_OGate) String

type GetModuleInfoResponse_OGate

type GetModuleInfoResponse_OGate struct {
	Ogate     uint64                            `protobuf:"varint,1,opt,name=ogate" json:"ogate,omitempty"`
	Cnt       uint64                            `protobuf:"varint,2,opt,name=cnt" json:"cnt,omitempty"`
	Pkts      uint64                            `protobuf:"varint,3,opt,name=pkts" json:"pkts,omitempty"`
	Bytes     uint64                            `protobuf:"varint,4,opt,name=bytes" json:"bytes,omitempty"`
	Timestamp float64                           `protobuf:"fixed64,5,opt,name=timestamp" json:"timestamp,omitempty"`
	Name      string                            `protobuf:"bytes,6,opt,name=name" json:"name,omitempty"`
	Igate     uint64                            `protobuf:"varint,7,opt,name=igate" json:"igate,omitempty"`
	Gatehooks []*GetModuleInfoResponse_GateHook `protobuf:"bytes,9,rep,name=gatehooks" json:"gatehooks,omitempty"`
}

func (*GetModuleInfoResponse_OGate) Descriptor

func (*GetModuleInfoResponse_OGate) Descriptor() ([]byte, []int)

func (*GetModuleInfoResponse_OGate) GetBytes

func (m *GetModuleInfoResponse_OGate) GetBytes() uint64

func (*GetModuleInfoResponse_OGate) GetCnt

func (m *GetModuleInfoResponse_OGate) GetCnt() uint64

func (*GetModuleInfoResponse_OGate) GetGatehooks

func (*GetModuleInfoResponse_OGate) GetIgate

func (m *GetModuleInfoResponse_OGate) GetIgate() uint64

func (*GetModuleInfoResponse_OGate) GetName

func (m *GetModuleInfoResponse_OGate) GetName() string

func (*GetModuleInfoResponse_OGate) GetOgate

func (m *GetModuleInfoResponse_OGate) GetOgate() uint64

func (*GetModuleInfoResponse_OGate) GetPkts

func (m *GetModuleInfoResponse_OGate) GetPkts() uint64

func (*GetModuleInfoResponse_OGate) GetTimestamp

func (m *GetModuleInfoResponse_OGate) GetTimestamp() float64

func (*GetModuleInfoResponse_OGate) ProtoMessage

func (*GetModuleInfoResponse_OGate) ProtoMessage()

func (*GetModuleInfoResponse_OGate) Reset

func (m *GetModuleInfoResponse_OGate) Reset()

func (*GetModuleInfoResponse_OGate) String

func (m *GetModuleInfoResponse_OGate) String() string

type GetPortConfRequest

type GetPortConfRequest struct {
	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
}

func (*GetPortConfRequest) Descriptor

func (*GetPortConfRequest) Descriptor() ([]byte, []int)

func (*GetPortConfRequest) GetName

func (m *GetPortConfRequest) GetName() string

func (*GetPortConfRequest) ProtoMessage

func (*GetPortConfRequest) ProtoMessage()

func (*GetPortConfRequest) Reset

func (m *GetPortConfRequest) Reset()

func (*GetPortConfRequest) String

func (m *GetPortConfRequest) String() string

type GetPortConfResponse

type GetPortConfResponse struct {
	Error *Error    `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
	Conf  *PortConf `protobuf:"bytes,2,opt,name=conf" json:"conf,omitempty"`
}

func (*GetPortConfResponse) Descriptor

func (*GetPortConfResponse) Descriptor() ([]byte, []int)

func (*GetPortConfResponse) GetConf

func (m *GetPortConfResponse) GetConf() *PortConf

func (*GetPortConfResponse) GetError

func (m *GetPortConfResponse) GetError() *Error

func (*GetPortConfResponse) ProtoMessage

func (*GetPortConfResponse) ProtoMessage()

func (*GetPortConfResponse) Reset

func (m *GetPortConfResponse) Reset()

func (*GetPortConfResponse) String

func (m *GetPortConfResponse) String() string

type GetPortStatsRequest

type GetPortStatsRequest struct {
	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
}

func (*GetPortStatsRequest) Descriptor

func (*GetPortStatsRequest) Descriptor() ([]byte, []int)

func (*GetPortStatsRequest) GetName

func (m *GetPortStatsRequest) GetName() string

func (*GetPortStatsRequest) ProtoMessage

func (*GetPortStatsRequest) ProtoMessage()

func (*GetPortStatsRequest) Reset

func (m *GetPortStatsRequest) Reset()

func (*GetPortStatsRequest) String

func (m *GetPortStatsRequest) String() string

type GetPortStatsResponse

type GetPortStatsResponse struct {
	Error     *Error                     `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
	Inc       *GetPortStatsResponse_Stat `protobuf:"bytes,2,opt,name=inc" json:"inc,omitempty"`
	Out       *GetPortStatsResponse_Stat `protobuf:"bytes,3,opt,name=out" json:"out,omitempty"`
	Timestamp float64                    `protobuf:"fixed64,4,opt,name=timestamp" json:"timestamp,omitempty"`
}

func (*GetPortStatsResponse) Descriptor

func (*GetPortStatsResponse) Descriptor() ([]byte, []int)

func (*GetPortStatsResponse) GetError

func (m *GetPortStatsResponse) GetError() *Error

func (*GetPortStatsResponse) GetInc

func (*GetPortStatsResponse) GetOut

func (*GetPortStatsResponse) GetTimestamp

func (m *GetPortStatsResponse) GetTimestamp() float64

func (*GetPortStatsResponse) ProtoMessage

func (*GetPortStatsResponse) ProtoMessage()

func (*GetPortStatsResponse) Reset

func (m *GetPortStatsResponse) Reset()

func (*GetPortStatsResponse) String

func (m *GetPortStatsResponse) String() string

type GetPortStatsResponse_Stat

type GetPortStatsResponse_Stat struct {
	// / Number of objects that have been successfully sent/received.
	// / All counters shows the accumulated value since port initialization.
	Packets uint64 `protobuf:"varint,1,opt,name=packets" json:"packets,omitempty"`
	// / Number of dropped packets.
	// / For incoming direction, it implies BESS is not picking up fast enough.
	// / For outgoing direction, non-zero drop counter indicates that the "peer"
	// / of this port is the performance bottleneck: namely, VMs/containers/apps
	// / for virtual ports, or PCIe/NIC/link for physical port.
	Dropped uint64 `protobuf:"varint,2,opt,name=dropped" json:"dropped,omitempty"`
	// / Total number of bytes, not including Frame CRC or Ethernet overheads
	Bytes uint64 `protobuf:"varint,3,opt,name=bytes" json:"bytes,omitempty"`
	// Histogram of how many times a given number of packets in a batch was
	// requested.
	RequestedHist []uint64 `protobuf:"varint,4,rep,packed,name=requested_hist,json=requestedHist" json:"requested_hist,omitempty"`
	// Histogram of how many times a given number of packets in a batch were
	// actually processed.
	ActualHist []uint64 `protobuf:"varint,5,rep,packed,name=actual_hist,json=actualHist" json:"actual_hist,omitempty"`
	// Histogram of the difference between the requested batch size and the
	// actual number of packets processed in that batch.
	DiffHist []uint64 `protobuf:"varint,6,rep,packed,name=diff_hist,json=diffHist" json:"diff_hist,omitempty"`
}

func (*GetPortStatsResponse_Stat) Descriptor

func (*GetPortStatsResponse_Stat) Descriptor() ([]byte, []int)

func (*GetPortStatsResponse_Stat) GetActualHist

func (m *GetPortStatsResponse_Stat) GetActualHist() []uint64

func (*GetPortStatsResponse_Stat) GetBytes

func (m *GetPortStatsResponse_Stat) GetBytes() uint64

func (*GetPortStatsResponse_Stat) GetDiffHist

func (m *GetPortStatsResponse_Stat) GetDiffHist() []uint64

func (*GetPortStatsResponse_Stat) GetDropped

func (m *GetPortStatsResponse_Stat) GetDropped() uint64

func (*GetPortStatsResponse_Stat) GetPackets

func (m *GetPortStatsResponse_Stat) GetPackets() uint64

func (*GetPortStatsResponse_Stat) GetRequestedHist

func (m *GetPortStatsResponse_Stat) GetRequestedHist() []uint64

func (*GetPortStatsResponse_Stat) ProtoMessage

func (*GetPortStatsResponse_Stat) ProtoMessage()

func (*GetPortStatsResponse_Stat) Reset

func (m *GetPortStatsResponse_Stat) Reset()

func (*GetPortStatsResponse_Stat) String

func (m *GetPortStatsResponse_Stat) String() string

type GetTcStatsRequest

type GetTcStatsRequest struct {
	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
}

func (*GetTcStatsRequest) Descriptor

func (*GetTcStatsRequest) Descriptor() ([]byte, []int)

func (*GetTcStatsRequest) GetName

func (m *GetTcStatsRequest) GetName() string

func (*GetTcStatsRequest) ProtoMessage

func (*GetTcStatsRequest) ProtoMessage()

func (*GetTcStatsRequest) Reset

func (m *GetTcStatsRequest) Reset()

func (*GetTcStatsRequest) String

func (m *GetTcStatsRequest) String() string

type GetTcStatsResponse

type GetTcStatsResponse struct {
	Error     *Error  `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
	Timestamp float64 `protobuf:"fixed64,2,opt,name=timestamp" json:"timestamp,omitempty"`
	// / THe following counters represent the total amount of accumulated resource
	// / usage of a module since its creation.
	Count   uint64 `protobuf:"varint,3,opt,name=count" json:"count,omitempty"`
	Cycles  uint64 `protobuf:"varint,4,opt,name=cycles" json:"cycles,omitempty"`
	Packets uint64 `protobuf:"varint,5,opt,name=packets" json:"packets,omitempty"`
	Bits    uint64 `protobuf:"varint,6,opt,name=bits" json:"bits,omitempty"`
}

func (*GetTcStatsResponse) Descriptor

func (*GetTcStatsResponse) Descriptor() ([]byte, []int)

func (*GetTcStatsResponse) GetBits

func (m *GetTcStatsResponse) GetBits() uint64

func (*GetTcStatsResponse) GetCount

func (m *GetTcStatsResponse) GetCount() uint64

func (*GetTcStatsResponse) GetCycles

func (m *GetTcStatsResponse) GetCycles() uint64

func (*GetTcStatsResponse) GetError

func (m *GetTcStatsResponse) GetError() *Error

func (*GetTcStatsResponse) GetPackets

func (m *GetTcStatsResponse) GetPackets() uint64

func (*GetTcStatsResponse) GetTimestamp

func (m *GetTcStatsResponse) GetTimestamp() float64

func (*GetTcStatsResponse) ProtoMessage

func (*GetTcStatsResponse) ProtoMessage()

func (*GetTcStatsResponse) Reset

func (m *GetTcStatsResponse) Reset()

func (*GetTcStatsResponse) String

func (m *GetTcStatsResponse) String() string

type HashLBArg

type HashLBArg struct {
	Gates  []int64  `protobuf:"varint,1,rep,packed,name=gates" json:"gates,omitempty"`
	Mode   string   `protobuf:"bytes,2,opt,name=mode" json:"mode,omitempty"`
	Fields []*Field `protobuf:"bytes,3,rep,name=fields" json:"fields,omitempty"`
}

* The HashLB module partitions packets between output gates according to either a hash over their MAC src/dst (`mode='l2'`), their IP src/dst (`mode='l3'`), the full IP/TCP 5-tuple (`mode='l4'`), or the N-tuple defined by `fields`.

__Input Gates__: 1 __Output Gates__: many (configurable)

func (*HashLBArg) Descriptor

func (*HashLBArg) Descriptor() ([]byte, []int)

func (*HashLBArg) GetFields

func (m *HashLBArg) GetFields() []*Field

func (*HashLBArg) GetGates

func (m *HashLBArg) GetGates() []int64

func (*HashLBArg) GetMode

func (m *HashLBArg) GetMode() string

func (*HashLBArg) ProtoMessage

func (*HashLBArg) ProtoMessage()

func (*HashLBArg) Reset

func (m *HashLBArg) Reset()

func (*HashLBArg) String

func (m *HashLBArg) String() string

type HashLBCommandSetGatesArg

type HashLBCommandSetGatesArg struct {
	Gates []int64 `protobuf:"varint,1,rep,packed,name=gates" json:"gates,omitempty"`
}

* The HashLB module has a command `set_gates(...)` which takes one parameter. This function takes in a list of gate numbers to send hashed traffic out over. Example use in bessctl: `lb.setGates(gates=[0,1,2,3])`

func (*HashLBCommandSetGatesArg) Descriptor

func (*HashLBCommandSetGatesArg) Descriptor() ([]byte, []int)

func (*HashLBCommandSetGatesArg) GetGates

func (m *HashLBCommandSetGatesArg) GetGates() []int64

func (*HashLBCommandSetGatesArg) ProtoMessage

func (*HashLBCommandSetGatesArg) ProtoMessage()

func (*HashLBCommandSetGatesArg) Reset

func (m *HashLBCommandSetGatesArg) Reset()

func (*HashLBCommandSetGatesArg) String

func (m *HashLBCommandSetGatesArg) String() string

type HashLBCommandSetModeArg

type HashLBCommandSetModeArg struct {
	Mode   string   `protobuf:"bytes,1,opt,name=mode" json:"mode,omitempty"`
	Fields []*Field `protobuf:"bytes,2,rep,name=fields" json:"fields,omitempty"`
}

* The HashLB module has a command `set_mode(...)` which takes two parameters. The `mode` parameter specifies whether the load balancer will hash over the src/dest ethernet header (`'l2'`), over the src/dest IP addresses (`'l3'`), or over the flow 5-tuple (`'l4'`). Alternatively, if the `fields` parameter is set, the load balancer will hash over the N-tuple with the specified offsets and sizes. Example use in bessctl: `lb.set_mode('l2')`

func (*HashLBCommandSetModeArg) Descriptor

func (*HashLBCommandSetModeArg) Descriptor() ([]byte, []int)

func (*HashLBCommandSetModeArg) GetFields

func (m *HashLBCommandSetModeArg) GetFields() []*Field

func (*HashLBCommandSetModeArg) GetMode

func (m *HashLBCommandSetModeArg) GetMode() string

func (*HashLBCommandSetModeArg) ProtoMessage

func (*HashLBCommandSetModeArg) ProtoMessage()

func (*HashLBCommandSetModeArg) Reset

func (m *HashLBCommandSetModeArg) Reset()

func (*HashLBCommandSetModeArg) String

func (m *HashLBCommandSetModeArg) String() string

type IPEncapArg

type IPEncapArg struct {
}

* Encapsulates a packet with an IP header, where IP src, dst, and proto are filled in by metadata values carried with the packet. Metadata attributes must include: ip_src, ip_dst, ip_proto, ip_nexthop, and ether_type.

__Input Gates__: 1 __Output Gates__: 1

func (*IPEncapArg) Descriptor

func (*IPEncapArg) Descriptor() ([]byte, []int)

func (*IPEncapArg) ProtoMessage

func (*IPEncapArg) ProtoMessage()

func (*IPEncapArg) Reset

func (m *IPEncapArg) Reset()

func (*IPEncapArg) String

func (m *IPEncapArg) String() string

type IPLookupArg

type IPLookupArg struct {
	MaxRules uint32 `protobuf:"varint,1,opt,name=max_rules,json=maxRules" json:"max_rules,omitempty"`
	MaxTbl8S uint32 `protobuf:"varint,2,opt,name=max_tbl8s,json=maxTbl8s" json:"max_tbl8s,omitempty"`
}

* An IPLookup module perfroms LPM lookups over a packet destination. IPLookup takes no parameters to instantiate. To add rules to the IPLookup table, use `IPLookup.add()`

__Input Gates__: 1 __Output Gates__: many (configurable, depending on rule values)

func (*IPLookupArg) Descriptor

func (*IPLookupArg) Descriptor() ([]byte, []int)

func (*IPLookupArg) GetMaxRules

func (m *IPLookupArg) GetMaxRules() uint32

func (*IPLookupArg) GetMaxTbl8S

func (m *IPLookupArg) GetMaxTbl8S() uint32

func (*IPLookupArg) ProtoMessage

func (*IPLookupArg) ProtoMessage()

func (*IPLookupArg) Reset

func (m *IPLookupArg) Reset()

func (*IPLookupArg) String

func (m *IPLookupArg) String() string

type IPLookupCommandAddArg

type IPLookupCommandAddArg struct {
	Prefix    string `protobuf:"bytes,1,opt,name=prefix" json:"prefix,omitempty"`
	PrefixLen uint64 `protobuf:"varint,2,opt,name=prefix_len,json=prefixLen" json:"prefix_len,omitempty"`
	Gate      uint64 `protobuf:"varint,3,opt,name=gate" json:"gate,omitempty"`
}

* The IPLookup module has a command `add(...)` which takes three paramters. This function accepts the routing rules -- CIDR prefix, CIDR prefix length, and what gate to forward matching traffic out on. Example use in bessctl: `table.add(prefix='10.0.0.0', prefix_len=8, gate=2)`

func (*IPLookupCommandAddArg) Descriptor

func (*IPLookupCommandAddArg) Descriptor() ([]byte, []int)

func (*IPLookupCommandAddArg) GetGate

func (m *IPLookupCommandAddArg) GetGate() uint64

func (*IPLookupCommandAddArg) GetPrefix

func (m *IPLookupCommandAddArg) GetPrefix() string

func (*IPLookupCommandAddArg) GetPrefixLen

func (m *IPLookupCommandAddArg) GetPrefixLen() uint64

func (*IPLookupCommandAddArg) ProtoMessage

func (*IPLookupCommandAddArg) ProtoMessage()

func (*IPLookupCommandAddArg) Reset

func (m *IPLookupCommandAddArg) Reset()

func (*IPLookupCommandAddArg) String

func (m *IPLookupCommandAddArg) String() string

type IPLookupCommandClearArg

type IPLookupCommandClearArg struct {
}

* The IPLookup module has a command `clear()` which takes no parameters. This function removes all rules in the IPLookup table. Example use in bessctl: `myiplookuptable.clear()`

func (*IPLookupCommandClearArg) Descriptor

func (*IPLookupCommandClearArg) Descriptor() ([]byte, []int)

func (*IPLookupCommandClearArg) ProtoMessage

func (*IPLookupCommandClearArg) ProtoMessage()

func (*IPLookupCommandClearArg) Reset

func (m *IPLookupCommandClearArg) Reset()

func (*IPLookupCommandClearArg) String

func (m *IPLookupCommandClearArg) String() string

type IPLookupCommandDeleteArg

type IPLookupCommandDeleteArg struct {
	Prefix    string `protobuf:"bytes,1,opt,name=prefix" json:"prefix,omitempty"`
	PrefixLen uint64 `protobuf:"varint,2,opt,name=prefix_len,json=prefixLen" json:"prefix_len,omitempty"`
}

* The IPLookup module has a command `delete(...)` which takes two paramters. This function accepts the routing rules -- CIDR prefix, CIDR prefix length, Example use in bessctl: `table.delete(prefix='10.0.0.0', prefix_len=8)`

func (*IPLookupCommandDeleteArg) Descriptor

func (*IPLookupCommandDeleteArg) Descriptor() ([]byte, []int)

func (*IPLookupCommandDeleteArg) GetPrefix

func (m *IPLookupCommandDeleteArg) GetPrefix() string

func (*IPLookupCommandDeleteArg) GetPrefixLen

func (m *IPLookupCommandDeleteArg) GetPrefixLen() uint64

func (*IPLookupCommandDeleteArg) ProtoMessage

func (*IPLookupCommandDeleteArg) ProtoMessage()

func (*IPLookupCommandDeleteArg) Reset

func (m *IPLookupCommandDeleteArg) Reset()

func (*IPLookupCommandDeleteArg) String

func (m *IPLookupCommandDeleteArg) String() string

type ImportPluginRequest

type ImportPluginRequest struct {
	Path string `protobuf:"bytes,1,opt,name=path" json:"path,omitempty"`
}

func (*ImportPluginRequest) Descriptor

func (*ImportPluginRequest) Descriptor() ([]byte, []int)

func (*ImportPluginRequest) GetPath

func (m *ImportPluginRequest) GetPath() string

func (*ImportPluginRequest) ProtoMessage

func (*ImportPluginRequest) ProtoMessage()

func (*ImportPluginRequest) Reset

func (m *ImportPluginRequest) Reset()

func (*ImportPluginRequest) String

func (m *ImportPluginRequest) String() string

type L2ForwardArg

type L2ForwardArg struct {
	Size   int64 `protobuf:"varint,1,opt,name=size" json:"size,omitempty"`
	Bucket int64 `protobuf:"varint,2,opt,name=bucket" json:"bucket,omitempty"`
	Learn  bool  `protobuf:"varint,3,opt,name=learn" json:"learn,omitempty"`
}

* An L2Forward module forwards packets to an output gate according to exact-match rules over an Ethernet destination. Note that this is _not_ a learning switch -- forwards according to fixed routes specified by `add(..)`.

__Input Gates__: 1 __Ouput Gates__: many (configurable, depending on rules)

func (*L2ForwardArg) Descriptor

func (*L2ForwardArg) Descriptor() ([]byte, []int)

func (*L2ForwardArg) GetBucket

func (m *L2ForwardArg) GetBucket() int64

func (*L2ForwardArg) GetLearn

func (m *L2ForwardArg) GetLearn() bool

func (*L2ForwardArg) GetSize

func (m *L2ForwardArg) GetSize() int64

func (*L2ForwardArg) ProtoMessage

func (*L2ForwardArg) ProtoMessage()

func (*L2ForwardArg) Reset

func (m *L2ForwardArg) Reset()

func (*L2ForwardArg) String

func (m *L2ForwardArg) String() string

type L2ForwardCommandAddArg

type L2ForwardCommandAddArg struct {
	Entries []*L2ForwardCommandAddArg_Entry `protobuf:"bytes,1,rep,name=entries" json:"entries,omitempty"`
}

* The L2Forward module forwards traffic via exact match over the Ethernet destination address. The command `add(...)` allows you to specifiy a MAC address and which gate the L2Forward module should direct it out of.

func (*L2ForwardCommandAddArg) Descriptor

func (*L2ForwardCommandAddArg) Descriptor() ([]byte, []int)

func (*L2ForwardCommandAddArg) GetEntries

func (*L2ForwardCommandAddArg) ProtoMessage

func (*L2ForwardCommandAddArg) ProtoMessage()

func (*L2ForwardCommandAddArg) Reset

func (m *L2ForwardCommandAddArg) Reset()

func (*L2ForwardCommandAddArg) String

func (m *L2ForwardCommandAddArg) String() string

type L2ForwardCommandAddArg_Entry

type L2ForwardCommandAddArg_Entry struct {
	Addr string `protobuf:"bytes,1,opt,name=addr" json:"addr,omitempty"`
	Gate int64  `protobuf:"varint,2,opt,name=gate" json:"gate,omitempty"`
}

func (*L2ForwardCommandAddArg_Entry) Descriptor

func (*L2ForwardCommandAddArg_Entry) Descriptor() ([]byte, []int)

func (*L2ForwardCommandAddArg_Entry) GetAddr

func (m *L2ForwardCommandAddArg_Entry) GetAddr() string

func (*L2ForwardCommandAddArg_Entry) GetGate

func (m *L2ForwardCommandAddArg_Entry) GetGate() int64

func (*L2ForwardCommandAddArg_Entry) ProtoMessage

func (*L2ForwardCommandAddArg_Entry) ProtoMessage()

func (*L2ForwardCommandAddArg_Entry) Reset

func (m *L2ForwardCommandAddArg_Entry) Reset()

func (*L2ForwardCommandAddArg_Entry) String

type L2ForwardCommandDeleteArg

type L2ForwardCommandDeleteArg struct {
	Addrs []string `protobuf:"bytes,1,rep,name=addrs" json:"addrs,omitempty"`
}

* The L2Forward module has a function `delete(...)` to remove a rule from the MAC forwarding table.

func (*L2ForwardCommandDeleteArg) Descriptor

func (*L2ForwardCommandDeleteArg) Descriptor() ([]byte, []int)

func (*L2ForwardCommandDeleteArg) GetAddrs

func (m *L2ForwardCommandDeleteArg) GetAddrs() []string

func (*L2ForwardCommandDeleteArg) ProtoMessage

func (*L2ForwardCommandDeleteArg) ProtoMessage()

func (*L2ForwardCommandDeleteArg) Reset

func (m *L2ForwardCommandDeleteArg) Reset()

func (*L2ForwardCommandDeleteArg) String

func (m *L2ForwardCommandDeleteArg) String() string

type L2ForwardCommandLookupArg

type L2ForwardCommandLookupArg struct {
	Addrs []string `protobuf:"bytes,1,rep,name=addrs" json:"addrs,omitempty"`
}

* The L2Forward module has a function `lookup(...)` to query what output gate a given MAC address will be forwared to; it returns the gate ID number.

func (*L2ForwardCommandLookupArg) Descriptor

func (*L2ForwardCommandLookupArg) Descriptor() ([]byte, []int)

func (*L2ForwardCommandLookupArg) GetAddrs

func (m *L2ForwardCommandLookupArg) GetAddrs() []string

func (*L2ForwardCommandLookupArg) ProtoMessage

func (*L2ForwardCommandLookupArg) ProtoMessage()

func (*L2ForwardCommandLookupArg) Reset

func (m *L2ForwardCommandLookupArg) Reset()

func (*L2ForwardCommandLookupArg) String

func (m *L2ForwardCommandLookupArg) String() string

type L2ForwardCommandLookupResponse

type L2ForwardCommandLookupResponse struct {
	Gates []uint64 `protobuf:"varint,1,rep,packed,name=gates" json:"gates,omitempty"`
}

* This message type provides the reponse to the L2Forward function `lookup(..)`. It returns the gate that a requested MAC address is currently assigned to.

func (*L2ForwardCommandLookupResponse) Descriptor

func (*L2ForwardCommandLookupResponse) Descriptor() ([]byte, []int)

func (*L2ForwardCommandLookupResponse) GetGates

func (m *L2ForwardCommandLookupResponse) GetGates() []uint64

func (*L2ForwardCommandLookupResponse) ProtoMessage

func (*L2ForwardCommandLookupResponse) ProtoMessage()

func (*L2ForwardCommandLookupResponse) Reset

func (m *L2ForwardCommandLookupResponse) Reset()

func (*L2ForwardCommandLookupResponse) String

type L2ForwardCommandPopulateArg

type L2ForwardCommandPopulateArg struct {
	Base      string `protobuf:"bytes,1,opt,name=base" json:"base,omitempty"`
	Count     int64  `protobuf:"varint,2,opt,name=count" json:"count,omitempty"`
	GateCount int64  `protobuf:"varint,3,opt,name=gate_count,json=gateCount" json:"gate_count,omitempty"`
}

* The L2Forward module has a command `populate(...)` which allows for fast creation of the forwarding table given a range of MAC addresses. The function takes in a 'base' MAC address, a count (number of MAC addresses), and a gate_id. The module will route all MAC addresses starting from the base address, up to base+count address round-robin over gate_count total gates. For example, `populate(base='11:22:33:44:00', count = 10, gate_count = 2) would route addresses 11:22:33:44::(00, 02, 04, 06, 08) out a gate 0 and the odd-suffixed addresses out gate 1.

func (*L2ForwardCommandPopulateArg) Descriptor

func (*L2ForwardCommandPopulateArg) Descriptor() ([]byte, []int)

func (*L2ForwardCommandPopulateArg) GetBase

func (m *L2ForwardCommandPopulateArg) GetBase() string

func (*L2ForwardCommandPopulateArg) GetCount

func (m *L2ForwardCommandPopulateArg) GetCount() int64

func (*L2ForwardCommandPopulateArg) GetGateCount

func (m *L2ForwardCommandPopulateArg) GetGateCount() int64

func (*L2ForwardCommandPopulateArg) ProtoMessage

func (*L2ForwardCommandPopulateArg) ProtoMessage()

func (*L2ForwardCommandPopulateArg) Reset

func (m *L2ForwardCommandPopulateArg) Reset()

func (*L2ForwardCommandPopulateArg) String

func (m *L2ForwardCommandPopulateArg) String() string

type L2ForwardCommandSetDefaultGateArg

type L2ForwardCommandSetDefaultGateArg struct {
	Gate int64 `protobuf:"varint,1,opt,name=gate" json:"gate,omitempty"`
}

* For traffic reaching the L2Forward module which does not match a MAC rule, the function `set_default_gate(...)` allows you to specify a default gate to direct unmatched traffic to.

func (*L2ForwardCommandSetDefaultGateArg) Descriptor

func (*L2ForwardCommandSetDefaultGateArg) Descriptor() ([]byte, []int)

func (*L2ForwardCommandSetDefaultGateArg) GetGate

func (*L2ForwardCommandSetDefaultGateArg) ProtoMessage

func (*L2ForwardCommandSetDefaultGateArg) ProtoMessage()

func (*L2ForwardCommandSetDefaultGateArg) Reset

func (*L2ForwardCommandSetDefaultGateArg) String

type ListDriversResponse

type ListDriversResponse struct {
	Error       *Error   `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
	DriverNames []string `protobuf:"bytes,2,rep,name=driver_names,json=driverNames" json:"driver_names,omitempty"`
}

func (*ListDriversResponse) Descriptor

func (*ListDriversResponse) Descriptor() ([]byte, []int)

func (*ListDriversResponse) GetDriverNames

func (m *ListDriversResponse) GetDriverNames() []string

func (*ListDriversResponse) GetError

func (m *ListDriversResponse) GetError() *Error

func (*ListDriversResponse) ProtoMessage

func (*ListDriversResponse) ProtoMessage()

func (*ListDriversResponse) Reset

func (m *ListDriversResponse) Reset()

func (*ListDriversResponse) String

func (m *ListDriversResponse) String() string

type ListGateHookClassResponse

type ListGateHookClassResponse struct {
	Error *Error   `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
	Names []string `protobuf:"bytes,2,rep,name=names" json:"names,omitempty"`
}

func (*ListGateHookClassResponse) Descriptor

func (*ListGateHookClassResponse) Descriptor() ([]byte, []int)

func (*ListGateHookClassResponse) GetError

func (m *ListGateHookClassResponse) GetError() *Error

func (*ListGateHookClassResponse) GetNames

func (m *ListGateHookClassResponse) GetNames() []string

func (*ListGateHookClassResponse) ProtoMessage

func (*ListGateHookClassResponse) ProtoMessage()

func (*ListGateHookClassResponse) Reset

func (m *ListGateHookClassResponse) Reset()

func (*ListGateHookClassResponse) String

func (m *ListGateHookClassResponse) String() string

type ListGateHooksResponse

type ListGateHooksResponse struct {
	Error *Error          `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
	Hooks []*GateHookInfo `protobuf:"bytes,2,rep,name=hooks" json:"hooks,omitempty"`
}

func (*ListGateHooksResponse) Descriptor

func (*ListGateHooksResponse) Descriptor() ([]byte, []int)

func (*ListGateHooksResponse) GetError

func (m *ListGateHooksResponse) GetError() *Error

func (*ListGateHooksResponse) GetHooks

func (m *ListGateHooksResponse) GetHooks() []*GateHookInfo

func (*ListGateHooksResponse) ProtoMessage

func (*ListGateHooksResponse) ProtoMessage()

func (*ListGateHooksResponse) Reset

func (m *ListGateHooksResponse) Reset()

func (*ListGateHooksResponse) String

func (m *ListGateHooksResponse) String() string

type ListMclassResponse

type ListMclassResponse struct {
	Error *Error   `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
	Names []string `protobuf:"bytes,2,rep,name=names" json:"names,omitempty"`
}

func (*ListMclassResponse) Descriptor

func (*ListMclassResponse) Descriptor() ([]byte, []int)

func (*ListMclassResponse) GetError

func (m *ListMclassResponse) GetError() *Error

func (*ListMclassResponse) GetNames

func (m *ListMclassResponse) GetNames() []string

func (*ListMclassResponse) ProtoMessage

func (*ListMclassResponse) ProtoMessage()

func (*ListMclassResponse) Reset

func (m *ListMclassResponse) Reset()

func (*ListMclassResponse) String

func (m *ListMclassResponse) String() string

type ListModulesResponse

type ListModulesResponse struct {
	Error   *Error                        `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
	Modules []*ListModulesResponse_Module `protobuf:"bytes,2,rep,name=modules" json:"modules,omitempty"`
}

func (*ListModulesResponse) Descriptor

func (*ListModulesResponse) Descriptor() ([]byte, []int)

func (*ListModulesResponse) GetError

func (m *ListModulesResponse) GetError() *Error

func (*ListModulesResponse) GetModules

func (*ListModulesResponse) ProtoMessage

func (*ListModulesResponse) ProtoMessage()

func (*ListModulesResponse) Reset

func (m *ListModulesResponse) Reset()

func (*ListModulesResponse) String

func (m *ListModulesResponse) String() string

type ListModulesResponse_Module

type ListModulesResponse_Module struct {
	Name   string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	Mclass string `protobuf:"bytes,2,opt,name=mclass" json:"mclass,omitempty"`
	Desc   string `protobuf:"bytes,3,opt,name=desc" json:"desc,omitempty"`
}

func (*ListModulesResponse_Module) Descriptor

func (*ListModulesResponse_Module) Descriptor() ([]byte, []int)

func (*ListModulesResponse_Module) GetDesc

func (m *ListModulesResponse_Module) GetDesc() string

func (*ListModulesResponse_Module) GetMclass

func (m *ListModulesResponse_Module) GetMclass() string

func (*ListModulesResponse_Module) GetName

func (m *ListModulesResponse_Module) GetName() string

func (*ListModulesResponse_Module) ProtoMessage

func (*ListModulesResponse_Module) ProtoMessage()

func (*ListModulesResponse_Module) Reset

func (m *ListModulesResponse_Module) Reset()

func (*ListModulesResponse_Module) String

func (m *ListModulesResponse_Module) String() string

type ListPluginsResponse

type ListPluginsResponse struct {
	Error *Error   `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
	Paths []string `protobuf:"bytes,2,rep,name=paths" json:"paths,omitempty"`
}

func (*ListPluginsResponse) Descriptor

func (*ListPluginsResponse) Descriptor() ([]byte, []int)

func (*ListPluginsResponse) GetError

func (m *ListPluginsResponse) GetError() *Error

func (*ListPluginsResponse) GetPaths

func (m *ListPluginsResponse) GetPaths() []string

func (*ListPluginsResponse) ProtoMessage

func (*ListPluginsResponse) ProtoMessage()

func (*ListPluginsResponse) Reset

func (m *ListPluginsResponse) Reset()

func (*ListPluginsResponse) String

func (m *ListPluginsResponse) String() string

type ListPortsResponse

type ListPortsResponse struct {
	Error *Error                    `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
	Ports []*ListPortsResponse_Port `protobuf:"bytes,2,rep,name=ports" json:"ports,omitempty"`
}

func (*ListPortsResponse) Descriptor

func (*ListPortsResponse) Descriptor() ([]byte, []int)

func (*ListPortsResponse) GetError

func (m *ListPortsResponse) GetError() *Error

func (*ListPortsResponse) GetPorts

func (m *ListPortsResponse) GetPorts() []*ListPortsResponse_Port

func (*ListPortsResponse) ProtoMessage

func (*ListPortsResponse) ProtoMessage()

func (*ListPortsResponse) Reset

func (m *ListPortsResponse) Reset()

func (*ListPortsResponse) String

func (m *ListPortsResponse) String() string

type ListPortsResponse_Port

type ListPortsResponse_Port struct {
	Name    string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	Driver  string `protobuf:"bytes,2,opt,name=driver" json:"driver,omitempty"`
	MacAddr string `protobuf:"bytes,3,opt,name=mac_addr,json=macAddr" json:"mac_addr,omitempty"`
}

func (*ListPortsResponse_Port) Descriptor

func (*ListPortsResponse_Port) Descriptor() ([]byte, []int)

func (*ListPortsResponse_Port) GetDriver

func (m *ListPortsResponse_Port) GetDriver() string

func (*ListPortsResponse_Port) GetMacAddr

func (m *ListPortsResponse_Port) GetMacAddr() string

func (*ListPortsResponse_Port) GetName

func (m *ListPortsResponse_Port) GetName() string

func (*ListPortsResponse_Port) ProtoMessage

func (*ListPortsResponse_Port) ProtoMessage()

func (*ListPortsResponse_Port) Reset

func (m *ListPortsResponse_Port) Reset()

func (*ListPortsResponse_Port) String

func (m *ListPortsResponse_Port) String() string

type ListTcsRequest

type ListTcsRequest struct {
	// / Specify a worker thread to fetch traffic classes.
	// / To include all traffic classes on every worker, specify -1.
	Wid int64 `protobuf:"varint,1,opt,name=wid" json:"wid,omitempty"`
}

func (*ListTcsRequest) Descriptor

func (*ListTcsRequest) Descriptor() ([]byte, []int)

func (*ListTcsRequest) GetWid

func (m *ListTcsRequest) GetWid() int64

func (*ListTcsRequest) ProtoMessage

func (*ListTcsRequest) ProtoMessage()

func (*ListTcsRequest) Reset

func (m *ListTcsRequest) Reset()

func (*ListTcsRequest) String

func (m *ListTcsRequest) String() string

type ListTcsResponse

type ListTcsResponse struct {
	Error         *Error                                `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
	ClassesStatus []*ListTcsResponse_TrafficClassStatus `protobuf:"bytes,2,rep,name=classes_status,json=classesStatus" json:"classes_status,omitempty"`
}

func (*ListTcsResponse) Descriptor

func (*ListTcsResponse) Descriptor() ([]byte, []int)

func (*ListTcsResponse) GetClassesStatus

func (m *ListTcsResponse) GetClassesStatus() []*ListTcsResponse_TrafficClassStatus

func (*ListTcsResponse) GetError

func (m *ListTcsResponse) GetError() *Error

func (*ListTcsResponse) ProtoMessage

func (*ListTcsResponse) ProtoMessage()

func (*ListTcsResponse) Reset

func (m *ListTcsResponse) Reset()

func (*ListTcsResponse) String

func (m *ListTcsResponse) String() string

type ListTcsResponse_TrafficClassStatus

type ListTcsResponse_TrafficClassStatus struct {
	Class  *TrafficClass `protobuf:"bytes,1,opt,name=class" json:"class,omitempty"`
	Parent string        `protobuf:"bytes,2,opt,name=parent" json:"parent,omitempty"`
}

func (*ListTcsResponse_TrafficClassStatus) Descriptor

func (*ListTcsResponse_TrafficClassStatus) Descriptor() ([]byte, []int)

func (*ListTcsResponse_TrafficClassStatus) GetClass

func (*ListTcsResponse_TrafficClassStatus) GetParent

func (*ListTcsResponse_TrafficClassStatus) ProtoMessage

func (*ListTcsResponse_TrafficClassStatus) ProtoMessage()

func (*ListTcsResponse_TrafficClassStatus) Reset

func (*ListTcsResponse_TrafficClassStatus) String

type ListWorkersResponse

type ListWorkersResponse struct {
	Error         *Error                              `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
	WorkersStatus []*ListWorkersResponse_WorkerStatus `protobuf:"bytes,2,rep,name=workers_status,json=workersStatus" json:"workers_status,omitempty"`
}

func (*ListWorkersResponse) Descriptor

func (*ListWorkersResponse) Descriptor() ([]byte, []int)

func (*ListWorkersResponse) GetError

func (m *ListWorkersResponse) GetError() *Error

func (*ListWorkersResponse) GetWorkersStatus

func (m *ListWorkersResponse) GetWorkersStatus() []*ListWorkersResponse_WorkerStatus

func (*ListWorkersResponse) ProtoMessage

func (*ListWorkersResponse) ProtoMessage()

func (*ListWorkersResponse) Reset

func (m *ListWorkersResponse) Reset()

func (*ListWorkersResponse) String

func (m *ListWorkersResponse) String() string

type ListWorkersResponse_WorkerStatus

type ListWorkersResponse_WorkerStatus struct {
	Wid     int64 `protobuf:"varint,1,opt,name=wid" json:"wid,omitempty"`
	Core    int64 `protobuf:"varint,2,opt,name=core" json:"core,omitempty"`
	Running bool  `protobuf:"varint,3,opt,name=running" json:"running,omitempty"`
	// / Number of traffic classes running on the worker
	NumTcs int64 `protobuf:"varint,4,opt,name=num_tcs,json=numTcs" json:"num_tcs,omitempty"`
	// / Total number of packets that have been silently dropped on the worker.
	// / Silent drops happen when a module transmit packets via disconnected
	// / output gates.
	SilentDrops int64 `protobuf:"varint,5,opt,name=silent_drops,json=silentDrops" json:"silent_drops,omitempty"`
}

func (*ListWorkersResponse_WorkerStatus) Descriptor

func (*ListWorkersResponse_WorkerStatus) Descriptor() ([]byte, []int)

func (*ListWorkersResponse_WorkerStatus) GetCore

func (*ListWorkersResponse_WorkerStatus) GetNumTcs

func (m *ListWorkersResponse_WorkerStatus) GetNumTcs() int64

func (*ListWorkersResponse_WorkerStatus) GetRunning

func (m *ListWorkersResponse_WorkerStatus) GetRunning() bool

func (*ListWorkersResponse_WorkerStatus) GetSilentDrops

func (m *ListWorkersResponse_WorkerStatus) GetSilentDrops() int64

func (*ListWorkersResponse_WorkerStatus) GetWid

func (*ListWorkersResponse_WorkerStatus) ProtoMessage

func (*ListWorkersResponse_WorkerStatus) ProtoMessage()

func (*ListWorkersResponse_WorkerStatus) Reset

func (*ListWorkersResponse_WorkerStatus) String

type MACSwapArg

type MACSwapArg struct {
}

* The MACSwap module takes no arguments. It swaps the src/destination MAC addresses within a packet.

__Input Gates__: 1 __Output Gates__: 1

func (*MACSwapArg) Descriptor

func (*MACSwapArg) Descriptor() ([]byte, []int)

func (*MACSwapArg) ProtoMessage

func (*MACSwapArg) ProtoMessage()

func (*MACSwapArg) Reset

func (m *MACSwapArg) Reset()

func (*MACSwapArg) String

func (m *MACSwapArg) String() string

type MeasureArg

type MeasureArg struct {
	// int64 warmup = 1; /// removed: instead of warmup delay, user should Clear()
	Offset              uint64  `protobuf:"varint,2,opt,name=offset" json:"offset,omitempty"`
	JitterSampleProb    float64 `protobuf:"fixed64,3,opt,name=jitter_sample_prob,json=jitterSampleProb" json:"jitter_sample_prob,omitempty"`
	LatencyNsMax        uint64  `protobuf:"varint,4,opt,name=latency_ns_max,json=latencyNsMax" json:"latency_ns_max,omitempty"`
	LatencyNsResolution uint32  `protobuf:"varint,5,opt,name=latency_ns_resolution,json=latencyNsResolution" json:"latency_ns_resolution,omitempty"`
}

* The measure module tracks latencies, packets per second, and other statistics. It should be paired with a Timestamp module, which attaches a timestamp to packets. The measure module will log how long (in nanoseconds) it has been for each packet it received since it was timestamped. This module is somewhat experimental and undergoing various changes. There is a test for the the Measure module in [`bessctl/module_tests/timestamp.py`](https://github.com/NetSys/bess/blob/master/bessctl/module_tests/timestamp.py).

__Input Gates__: 1 __Output Gates__: 1

func (*MeasureArg) Descriptor

func (*MeasureArg) Descriptor() ([]byte, []int)

func (*MeasureArg) GetJitterSampleProb

func (m *MeasureArg) GetJitterSampleProb() float64

func (*MeasureArg) GetLatencyNsMax

func (m *MeasureArg) GetLatencyNsMax() uint64

func (*MeasureArg) GetLatencyNsResolution

func (m *MeasureArg) GetLatencyNsResolution() uint32

func (*MeasureArg) GetOffset

func (m *MeasureArg) GetOffset() uint64

func (*MeasureArg) ProtoMessage

func (*MeasureArg) ProtoMessage()

func (*MeasureArg) Reset

func (m *MeasureArg) Reset()

func (*MeasureArg) String

func (m *MeasureArg) String() string

type MeasureCommandGetSummaryArg

type MeasureCommandGetSummaryArg struct {
	Clear              bool      `protobuf:"varint,1,opt,name=clear" json:"clear,omitempty"`
	LatencyPercentiles []float64 `protobuf:"fixed64,2,rep,packed,name=latency_percentiles,json=latencyPercentiles" json:"latency_percentiles,omitempty"`
	JitterPercentiles  []float64 `protobuf:"fixed64,3,rep,packed,name=jitter_percentiles,json=jitterPercentiles" json:"jitter_percentiles,omitempty"`
}

* The Measure module measures and collects latency/jitter data for packets annotated by a Timestamp module. Note that Timestamp and Measure module must reside on the server for accurate measurement (as a result, the most typical use case is measuring roundtrip time). Optionally, you can also retrieve percentile values by specifying points in "percentiles". For example, "percentiles" of [50.0, 99.0] will return [median, 99'th %-ile tail latency] in "percentile_values_ns" in the response.

func (*MeasureCommandGetSummaryArg) Descriptor

func (*MeasureCommandGetSummaryArg) Descriptor() ([]byte, []int)

func (*MeasureCommandGetSummaryArg) GetClear

func (m *MeasureCommandGetSummaryArg) GetClear() bool

func (*MeasureCommandGetSummaryArg) GetJitterPercentiles

func (m *MeasureCommandGetSummaryArg) GetJitterPercentiles() []float64

func (*MeasureCommandGetSummaryArg) GetLatencyPercentiles

func (m *MeasureCommandGetSummaryArg) GetLatencyPercentiles() []float64

func (*MeasureCommandGetSummaryArg) ProtoMessage

func (*MeasureCommandGetSummaryArg) ProtoMessage()

func (*MeasureCommandGetSummaryArg) Reset

func (m *MeasureCommandGetSummaryArg) Reset()

func (*MeasureCommandGetSummaryArg) String

func (m *MeasureCommandGetSummaryArg) String() string

type MeasureCommandGetSummaryResponse

type MeasureCommandGetSummaryResponse struct {
	Timestamp float64                                     `protobuf:"fixed64,1,opt,name=timestamp" json:"timestamp,omitempty"`
	Packets   uint64                                      `protobuf:"varint,2,opt,name=packets" json:"packets,omitempty"`
	Bits      uint64                                      `protobuf:"varint,3,opt,name=bits" json:"bits,omitempty"`
	Latency   *MeasureCommandGetSummaryResponse_Histogram `protobuf:"bytes,4,opt,name=latency" json:"latency,omitempty"`
	Jitter    *MeasureCommandGetSummaryResponse_Histogram `protobuf:"bytes,5,opt,name=jitter" json:"jitter,omitempty"`
}

* The Measure module function `get_summary()` returns the following values. Note that the resolution value tells you how grainy the samples are, e.g., 100 means that anything from 0-99 ns counts as "0", anything from 100-199 counts as "100", and so on. The average is of samples using this graininess, but (being a result of division) may not be a multiple of the resolution.

func (*MeasureCommandGetSummaryResponse) Descriptor

func (*MeasureCommandGetSummaryResponse) Descriptor() ([]byte, []int)

func (*MeasureCommandGetSummaryResponse) GetBits

func (*MeasureCommandGetSummaryResponse) GetJitter

func (*MeasureCommandGetSummaryResponse) GetLatency

func (*MeasureCommandGetSummaryResponse) GetPackets

func (m *MeasureCommandGetSummaryResponse) GetPackets() uint64

func (*MeasureCommandGetSummaryResponse) GetTimestamp

func (m *MeasureCommandGetSummaryResponse) GetTimestamp() float64

func (*MeasureCommandGetSummaryResponse) ProtoMessage

func (*MeasureCommandGetSummaryResponse) ProtoMessage()

func (*MeasureCommandGetSummaryResponse) Reset

func (*MeasureCommandGetSummaryResponse) String

type MeasureCommandGetSummaryResponse_Histogram

type MeasureCommandGetSummaryResponse_Histogram struct {
	Count              uint64   `protobuf:"varint,1,opt,name=count" json:"count,omitempty"`
	AboveRange         uint64   `protobuf:"varint,2,opt,name=above_range,json=aboveRange" json:"above_range,omitempty"`
	ResolutionNs       uint64   `protobuf:"varint,8,opt,name=resolution_ns,json=resolutionNs" json:"resolution_ns,omitempty"`
	MinNs              uint64   `protobuf:"varint,3,opt,name=min_ns,json=minNs" json:"min_ns,omitempty"`
	AvgNs              uint64   `protobuf:"varint,4,opt,name=avg_ns,json=avgNs" json:"avg_ns,omitempty"`
	MaxNs              uint64   `protobuf:"varint,5,opt,name=max_ns,json=maxNs" json:"max_ns,omitempty"`
	TotalNs            uint64   `protobuf:"varint,6,opt,name=total_ns,json=totalNs" json:"total_ns,omitempty"`
	PercentileValuesNs []uint64 `protobuf:"varint,7,rep,packed,name=percentile_values_ns,json=percentileValuesNs" json:"percentile_values_ns,omitempty"`
}

func (*MeasureCommandGetSummaryResponse_Histogram) Descriptor

func (*MeasureCommandGetSummaryResponse_Histogram) GetAboveRange

func (*MeasureCommandGetSummaryResponse_Histogram) GetAvgNs

func (*MeasureCommandGetSummaryResponse_Histogram) GetCount

func (*MeasureCommandGetSummaryResponse_Histogram) GetMaxNs

func (*MeasureCommandGetSummaryResponse_Histogram) GetMinNs

func (*MeasureCommandGetSummaryResponse_Histogram) GetPercentileValuesNs

func (m *MeasureCommandGetSummaryResponse_Histogram) GetPercentileValuesNs() []uint64

func (*MeasureCommandGetSummaryResponse_Histogram) GetResolutionNs

func (*MeasureCommandGetSummaryResponse_Histogram) GetTotalNs

func (*MeasureCommandGetSummaryResponse_Histogram) ProtoMessage

func (*MeasureCommandGetSummaryResponse_Histogram) Reset

func (*MeasureCommandGetSummaryResponse_Histogram) String

type MempoolDump

type MempoolDump struct {
	Socket           int32  `protobuf:"varint,1,opt,name=socket" json:"socket,omitempty"`
	Initialized      bool   `protobuf:"varint,2,opt,name=initialized" json:"initialized,omitempty"`
	MpSize           uint32 `protobuf:"varint,3,opt,name=mp_size,json=mpSize" json:"mp_size,omitempty"`
	MpCacheSize      uint32 `protobuf:"varint,4,opt,name=mp_cache_size,json=mpCacheSize" json:"mp_cache_size,omitempty"`
	MpElementSize    uint32 `protobuf:"varint,5,opt,name=mp_element_size,json=mpElementSize" json:"mp_element_size,omitempty"`
	MpPopulatedSize  uint32 `protobuf:"varint,6,opt,name=mp_populated_size,json=mpPopulatedSize" json:"mp_populated_size,omitempty"`
	MpAvailableCount uint32 `protobuf:"varint,7,opt,name=mp_available_count,json=mpAvailableCount" json:"mp_available_count,omitempty"`
	MpInUseCount     uint32 `protobuf:"varint,8,opt,name=mp_in_use_count,json=mpInUseCount" json:"mp_in_use_count,omitempty"`
	RingCount        uint32 `protobuf:"varint,9,opt,name=ring_count,json=ringCount" json:"ring_count,omitempty"`
	RingFreeCount    uint32 `protobuf:"varint,10,opt,name=ring_free_count,json=ringFreeCount" json:"ring_free_count,omitempty"`
	RingBytes        uint64 `protobuf:"varint,11,opt,name=ring_bytes,json=ringBytes" json:"ring_bytes,omitempty"`
}

func (*MempoolDump) Descriptor

func (*MempoolDump) Descriptor() ([]byte, []int)

func (*MempoolDump) GetInitialized

func (m *MempoolDump) GetInitialized() bool

func (*MempoolDump) GetMpAvailableCount

func (m *MempoolDump) GetMpAvailableCount() uint32

func (*MempoolDump) GetMpCacheSize

func (m *MempoolDump) GetMpCacheSize() uint32

func (*MempoolDump) GetMpElementSize

func (m *MempoolDump) GetMpElementSize() uint32

func (*MempoolDump) GetMpInUseCount

func (m *MempoolDump) GetMpInUseCount() uint32

func (*MempoolDump) GetMpPopulatedSize

func (m *MempoolDump) GetMpPopulatedSize() uint32

func (*MempoolDump) GetMpSize

func (m *MempoolDump) GetMpSize() uint32

func (*MempoolDump) GetRingBytes

func (m *MempoolDump) GetRingBytes() uint64

func (*MempoolDump) GetRingCount

func (m *MempoolDump) GetRingCount() uint32

func (*MempoolDump) GetRingFreeCount

func (m *MempoolDump) GetRingFreeCount() uint32

func (*MempoolDump) GetSocket

func (m *MempoolDump) GetSocket() int32

func (*MempoolDump) ProtoMessage

func (*MempoolDump) ProtoMessage()

func (*MempoolDump) Reset

func (m *MempoolDump) Reset()

func (*MempoolDump) String

func (m *MempoolDump) String() string

type MergeArg

type MergeArg struct {
}

* The merge module takes no parameters. It has multiple input gates, and passes out all packets from a single output gate.

__Input Gates__: many (configurable) __Output Gates__: 1

func (*MergeArg) Descriptor

func (*MergeArg) Descriptor() ([]byte, []int)

func (*MergeArg) ProtoMessage

func (*MergeArg) ProtoMessage()

func (*MergeArg) Reset

func (m *MergeArg) Reset()

func (*MergeArg) String

func (m *MergeArg) String() string

type MetadataTestArg

type MetadataTestArg struct {
	Read   map[string]int64 `` /* 129-byte string literal not displayed */
	Write  map[string]int64 `` /* 131-byte string literal not displayed */
	Update map[string]int64 `` /* 133-byte string literal not displayed */
}

* The MetadataTest module is used for internal testing purposes.

func (*MetadataTestArg) Descriptor

func (*MetadataTestArg) Descriptor() ([]byte, []int)

func (*MetadataTestArg) GetRead

func (m *MetadataTestArg) GetRead() map[string]int64

func (*MetadataTestArg) GetUpdate

func (m *MetadataTestArg) GetUpdate() map[string]int64

func (*MetadataTestArg) GetWrite

func (m *MetadataTestArg) GetWrite() map[string]int64

func (*MetadataTestArg) ProtoMessage

func (*MetadataTestArg) ProtoMessage()

func (*MetadataTestArg) Reset

func (m *MetadataTestArg) Reset()

func (*MetadataTestArg) String

func (m *MetadataTestArg) String() string

type MplsPopArg

type MplsPopArg struct {
	RemoveEthHeader bool   `protobuf:"varint,1,opt,name=remove_eth_header,json=removeEthHeader" json:"remove_eth_header,omitempty"`
	NextEthType     uint32 `protobuf:"varint,2,opt,name=next_eth_type,json=nextEthType" json:"next_eth_type,omitempty"`
}

* The MPLS pop module removes MPLS labels

__Input Gates__: 1 __Output Gates__: 2

func (*MplsPopArg) Descriptor

func (*MplsPopArg) Descriptor() ([]byte, []int)

func (*MplsPopArg) GetNextEthType

func (m *MplsPopArg) GetNextEthType() uint32

func (*MplsPopArg) GetRemoveEthHeader

func (m *MplsPopArg) GetRemoveEthHeader() bool

func (*MplsPopArg) ProtoMessage

func (*MplsPopArg) ProtoMessage()

func (*MplsPopArg) Reset

func (m *MplsPopArg) Reset()

func (*MplsPopArg) String

func (m *MplsPopArg) String() string

type NATArg

type NATArg struct {
	ExtAddrs []*NATArg_ExternalAddress `protobuf:"bytes,1,rep,name=ext_addrs,json=extAddrs" json:"ext_addrs,omitempty"`
}

* The NAT module implements Dynamic IPv4 address/port translation, rewriting packet source addresses with external addresses as specified, and destination addresses for packets on the reverse direction. L3/L4 checksums are updated correspondingly. To see an example of NAT in use, see: [`bess/bessctl/conf/samples/nat.bess`](https://github.com/NetSys/bess/blob/master/bessctl/conf/samples/nat.bess)

Currently only supports TCP/UDP/ICMP. Note that address/port in packet payload (e.g., FTP) are NOT translated.

__Input Gates__: 2 (0 for internal->external, and 1 for external->internal direction) __Output Gates__: 2 (same as the input gate)

func (*NATArg) Descriptor

func (*NATArg) Descriptor() ([]byte, []int)

func (*NATArg) GetExtAddrs

func (m *NATArg) GetExtAddrs() []*NATArg_ExternalAddress

func (*NATArg) ProtoMessage

func (*NATArg) ProtoMessage()

func (*NATArg) Reset

func (m *NATArg) Reset()

func (*NATArg) String

func (m *NATArg) String() string

type NATArg_ExternalAddress

type NATArg_ExternalAddress struct {
	ExtAddr    string              `protobuf:"bytes,1,opt,name=ext_addr,json=extAddr" json:"ext_addr,omitempty"`
	PortRanges []*NATArg_PortRange `protobuf:"bytes,2,rep,name=port_ranges,json=portRanges" json:"port_ranges,omitempty"`
}

func (*NATArg_ExternalAddress) Descriptor

func (*NATArg_ExternalAddress) Descriptor() ([]byte, []int)

func (*NATArg_ExternalAddress) GetExtAddr

func (m *NATArg_ExternalAddress) GetExtAddr() string

func (*NATArg_ExternalAddress) GetPortRanges

func (m *NATArg_ExternalAddress) GetPortRanges() []*NATArg_PortRange

func (*NATArg_ExternalAddress) ProtoMessage

func (*NATArg_ExternalAddress) ProtoMessage()

func (*NATArg_ExternalAddress) Reset

func (m *NATArg_ExternalAddress) Reset()

func (*NATArg_ExternalAddress) String

func (m *NATArg_ExternalAddress) String() string

type NATArg_PortRange

type NATArg_PortRange struct {
	Begin     uint32 `protobuf:"varint,1,opt,name=begin" json:"begin,omitempty"`
	End       uint32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"`
	Suspended bool   `protobuf:"varint,3,opt,name=suspended" json:"suspended,omitempty"`
}

func (*NATArg_PortRange) Descriptor

func (*NATArg_PortRange) Descriptor() ([]byte, []int)

func (*NATArg_PortRange) GetBegin

func (m *NATArg_PortRange) GetBegin() uint32

func (*NATArg_PortRange) GetEnd

func (m *NATArg_PortRange) GetEnd() uint32

func (*NATArg_PortRange) GetSuspended

func (m *NATArg_PortRange) GetSuspended() bool

func (*NATArg_PortRange) ProtoMessage

func (*NATArg_PortRange) ProtoMessage()

func (*NATArg_PortRange) Reset

func (m *NATArg_PortRange) Reset()

func (*NATArg_PortRange) String

func (m *NATArg_PortRange) String() string

type NoOpArg

type NoOpArg struct {
}

* This module is used for testing purposes.

func (*NoOpArg) Descriptor

func (*NoOpArg) Descriptor() ([]byte, []int)

func (*NoOpArg) ProtoMessage

func (*NoOpArg) ProtoMessage()

func (*NoOpArg) Reset

func (m *NoOpArg) Reset()

func (*NoOpArg) String

func (m *NoOpArg) String() string

type PCAPPortArg

type PCAPPortArg struct {
	Dev string `protobuf:"bytes,1,opt,name=dev" json:"dev,omitempty"`
}

func (*PCAPPortArg) Descriptor

func (*PCAPPortArg) Descriptor() ([]byte, []int)

func (*PCAPPortArg) GetDev

func (m *PCAPPortArg) GetDev() string

func (*PCAPPortArg) ProtoMessage

func (*PCAPPortArg) ProtoMessage()

func (*PCAPPortArg) Reset

func (m *PCAPPortArg) Reset()

func (*PCAPPortArg) String

func (m *PCAPPortArg) String() string

type PMDPortArg

type PMDPortArg struct {
	Loopback bool `protobuf:"varint,1,opt,name=loopback" json:"loopback,omitempty"`
	// Types that are valid to be assigned to Port:
	//	*PMDPortArg_PortId
	//	*PMDPortArg_Pci
	//	*PMDPortArg_Vdev
	Port isPMDPortArg_Port `protobuf_oneof:"port"`
	// See http://dpdk.org/doc/dts/test_plans/dual_vlan_test_plan.html
	VlanOffloadRxStrip  bool `protobuf:"varint,5,opt,name=vlan_offload_rx_strip,json=vlanOffloadRxStrip" json:"vlan_offload_rx_strip,omitempty"`
	VlanOffloadRxFilter bool `protobuf:"varint,6,opt,name=vlan_offload_rx_filter,json=vlanOffloadRxFilter" json:"vlan_offload_rx_filter,omitempty"`
	VlanOffloadRxQinq   bool `protobuf:"varint,7,opt,name=vlan_offload_rx_qinq,json=vlanOffloadRxQinq" json:"vlan_offload_rx_qinq,omitempty"`
}

func (*PMDPortArg) Descriptor

func (*PMDPortArg) Descriptor() ([]byte, []int)

func (*PMDPortArg) GetLoopback

func (m *PMDPortArg) GetLoopback() bool

func (*PMDPortArg) GetPci

func (m *PMDPortArg) GetPci() string

func (*PMDPortArg) GetPort

func (m *PMDPortArg) GetPort() isPMDPortArg_Port

func (*PMDPortArg) GetPortId

func (m *PMDPortArg) GetPortId() uint64

func (*PMDPortArg) GetVdev

func (m *PMDPortArg) GetVdev() string

func (*PMDPortArg) GetVlanOffloadRxFilter

func (m *PMDPortArg) GetVlanOffloadRxFilter() bool

func (*PMDPortArg) GetVlanOffloadRxQinq

func (m *PMDPortArg) GetVlanOffloadRxQinq() bool

func (*PMDPortArg) GetVlanOffloadRxStrip

func (m *PMDPortArg) GetVlanOffloadRxStrip() bool

func (*PMDPortArg) ProtoMessage

func (*PMDPortArg) ProtoMessage()

func (*PMDPortArg) Reset

func (m *PMDPortArg) Reset()

func (*PMDPortArg) String

func (m *PMDPortArg) String() string

func (*PMDPortArg) XXX_OneofFuncs

func (*PMDPortArg) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

type PMDPortArg_Pci

type PMDPortArg_Pci struct {
	Pci string `protobuf:"bytes,3,opt,name=pci,oneof"`
}

type PMDPortArg_PortId

type PMDPortArg_PortId struct {
	PortId uint64 `protobuf:"varint,2,opt,name=port_id,json=portId,oneof"`
}

type PMDPortArg_Vdev

type PMDPortArg_Vdev struct {
	Vdev string `protobuf:"bytes,4,opt,name=vdev,oneof"`
}

type PauseWorkerRequest

type PauseWorkerRequest struct {
	Wid int64 `protobuf:"varint,1,opt,name=wid" json:"wid,omitempty"`
}

func (*PauseWorkerRequest) Descriptor

func (*PauseWorkerRequest) Descriptor() ([]byte, []int)

func (*PauseWorkerRequest) GetWid

func (m *PauseWorkerRequest) GetWid() int64

func (*PauseWorkerRequest) ProtoMessage

func (*PauseWorkerRequest) ProtoMessage()

func (*PauseWorkerRequest) Reset

func (m *PauseWorkerRequest) Reset()

func (*PauseWorkerRequest) String

func (m *PauseWorkerRequest) String() string

type PcapngArg

type PcapngArg struct {
	Fifo      string `protobuf:"bytes,5,opt,name=fifo" json:"fifo,omitempty"`
	Defer     bool   `protobuf:"varint,6,opt,name=defer" json:"defer,omitempty"`
	Reconnect bool   `protobuf:"varint,7,opt,name=reconnect" json:"reconnect,omitempty"`
}

/ Enable/Disable pcapng tapping at an input/output gate. / / Once the tap is installed, all packets going through the gate will be / captured and sent in pcapng format to the specified named pipe (FIFO). / Unlike the Tcpdump hook, this also dumps a textual metadata representation, / in the form of a comment to the Enhanced Packet Block. Thus you can run / `tcpdump -r <path to FIFO>` or save the stream in a file. / This feature may affect performance. / / NOTE: There should be no running worker to run this command.

func (*PcapngArg) Descriptor

func (*PcapngArg) Descriptor() ([]byte, []int)

func (*PcapngArg) GetDefer

func (m *PcapngArg) GetDefer() bool

func (*PcapngArg) GetFifo

func (m *PcapngArg) GetFifo() string

func (*PcapngArg) GetReconnect

func (m *PcapngArg) GetReconnect() bool

func (*PcapngArg) ProtoMessage

func (*PcapngArg) ProtoMessage()

func (*PcapngArg) Reset

func (m *PcapngArg) Reset()

func (*PcapngArg) String

func (m *PcapngArg) String() string

type PortConf

type PortConf struct {
	// / MAC address for the new port. Should be "xx:xx:xx:xx:xx:xx" format.
	// / Set to '00:00:00:00:00:00' to use the default/current MAC address
	MacAddr string `protobuf:"bytes,1,opt,name=mac_addr,json=macAddr" json:"mac_addr,omitempty"`
	// / Port MTU. Set to 0 to accept the default port MTU
	Mtu uint32 `protobuf:"varint,2,opt,name=mtu" json:"mtu,omitempty"`
	// / Enable or disable the port.
	// / Both admin and link (operational) states must be up to function
	AdminUp bool `protobuf:"varint,3,opt,name=admin_up,json=adminUp" json:"admin_up,omitempty"`
}

/ All configuration parameters updatable at runtime

func (*PortConf) Descriptor

func (*PortConf) Descriptor() ([]byte, []int)

func (*PortConf) GetAdminUp

func (m *PortConf) GetAdminUp() bool

func (*PortConf) GetMacAddr

func (m *PortConf) GetMacAddr() string

func (*PortConf) GetMtu

func (m *PortConf) GetMtu() uint32

func (*PortConf) ProtoMessage

func (*PortConf) ProtoMessage()

func (*PortConf) Reset

func (m *PortConf) Reset()

func (*PortConf) String

func (m *PortConf) String() string

type PortIncArg

type PortIncArg struct {
	Port     string `protobuf:"bytes,1,opt,name=port" json:"port,omitempty"`
	Prefetch bool   `protobuf:"varint,2,opt,name=prefetch" json:"prefetch,omitempty"`
}

* The PortInc module connects a physical or virtual port and releases packets from it. PortInc does not support multiqueueing. For details on how to configure PortInc using DPDK, virtual ports, or libpcap, see the sidebar in the wiki.

__Input Gates__: 0 __Output Gates__: 1

func (*PortIncArg) Descriptor

func (*PortIncArg) Descriptor() ([]byte, []int)

func (*PortIncArg) GetPort

func (m *PortIncArg) GetPort() string

func (*PortIncArg) GetPrefetch

func (m *PortIncArg) GetPrefetch() bool

func (*PortIncArg) ProtoMessage

func (*PortIncArg) ProtoMessage()

func (*PortIncArg) Reset

func (m *PortIncArg) Reset()

func (*PortIncArg) String

func (m *PortIncArg) String() string

type PortIncCommandSetBurstArg

type PortIncCommandSetBurstArg struct {
	Burst uint64 `protobuf:"varint,1,opt,name=burst" json:"burst,omitempty"`
}

* The module PortInc has a function `set_burst(...)` that allows you to specify the maximum number of packets to be stored in a single PacketBatch released by the module.

func (*PortIncCommandSetBurstArg) Descriptor

func (*PortIncCommandSetBurstArg) Descriptor() ([]byte, []int)

func (*PortIncCommandSetBurstArg) GetBurst

func (m *PortIncCommandSetBurstArg) GetBurst() uint64

func (*PortIncCommandSetBurstArg) ProtoMessage

func (*PortIncCommandSetBurstArg) ProtoMessage()

func (*PortIncCommandSetBurstArg) Reset

func (m *PortIncCommandSetBurstArg) Reset()

func (*PortIncCommandSetBurstArg) String

func (m *PortIncCommandSetBurstArg) String() string

type PortOutArg

type PortOutArg struct {
	Port string `protobuf:"bytes,1,opt,name=port" json:"port,omitempty"`
}

* The PortOut module connects to a physical or virtual port and pushes packets to it. For details on how to configure PortOut with DPDK, virtual ports, libpcap, etc, see the sidebar in the wiki.

__Input Gates__: 1 __Output Gates__: 0

func (*PortOutArg) Descriptor

func (*PortOutArg) Descriptor() ([]byte, []int)

func (*PortOutArg) GetPort

func (m *PortOutArg) GetPort() string

func (*PortOutArg) ProtoMessage

func (*PortOutArg) ProtoMessage()

func (*PortOutArg) Reset

func (m *PortOutArg) Reset()

func (*PortOutArg) String

func (m *PortOutArg) String() string

type QueueArg

type QueueArg struct {
	Size         uint64 `protobuf:"varint,1,opt,name=size" json:"size,omitempty"`
	Prefetch     bool   `protobuf:"varint,2,opt,name=prefetch" json:"prefetch,omitempty"`
	Backpressure bool   `protobuf:"varint,3,opt,name=backpressure" json:"backpressure,omitempty"`
}

* The Queue module implements a simple packet queue.

__Input Gates__: 1 __Output Gates__: 1

func (*QueueArg) Descriptor

func (*QueueArg) Descriptor() ([]byte, []int)

func (*QueueArg) GetBackpressure

func (m *QueueArg) GetBackpressure() bool

func (*QueueArg) GetPrefetch

func (m *QueueArg) GetPrefetch() bool

func (*QueueArg) GetSize

func (m *QueueArg) GetSize() uint64

func (*QueueArg) ProtoMessage

func (*QueueArg) ProtoMessage()

func (*QueueArg) Reset

func (m *QueueArg) Reset()

func (*QueueArg) String

func (m *QueueArg) String() string

type QueueCommandGetStatusArg

type QueueCommandGetStatusArg struct {
}

* Modules that are queues or contain queues may contain functions `get_status()` that return QueueCommandGetStatusResponse.

func (*QueueCommandGetStatusArg) Descriptor

func (*QueueCommandGetStatusArg) Descriptor() ([]byte, []int)

func (*QueueCommandGetStatusArg) ProtoMessage

func (*QueueCommandGetStatusArg) ProtoMessage()

func (*QueueCommandGetStatusArg) Reset

func (m *QueueCommandGetStatusArg) Reset()

func (*QueueCommandGetStatusArg) String

func (m *QueueCommandGetStatusArg) String() string

type QueueCommandGetStatusResponse

type QueueCommandGetStatusResponse struct {
	Count    uint64 `protobuf:"varint,1,opt,name=count" json:"count,omitempty"`
	Size     uint64 `protobuf:"varint,2,opt,name=size" json:"size,omitempty"`
	Enqueued uint64 `protobuf:"varint,3,opt,name=enqueued" json:"enqueued,omitempty"`
	Dequeued uint64 `protobuf:"varint,4,opt,name=dequeued" json:"dequeued,omitempty"`
	Dropped  uint64 `protobuf:"varint,5,opt,name=dropped" json:"dropped,omitempty"`
}

* Modules that are queues or contain queues may contain functions `get_status()` that take no parameters and returns the queue occupancy and size.

func (*QueueCommandGetStatusResponse) Descriptor

func (*QueueCommandGetStatusResponse) Descriptor() ([]byte, []int)

func (*QueueCommandGetStatusResponse) GetCount

func (m *QueueCommandGetStatusResponse) GetCount() uint64

func (*QueueCommandGetStatusResponse) GetDequeued

func (m *QueueCommandGetStatusResponse) GetDequeued() uint64

func (*QueueCommandGetStatusResponse) GetDropped

func (m *QueueCommandGetStatusResponse) GetDropped() uint64

func (*QueueCommandGetStatusResponse) GetEnqueued

func (m *QueueCommandGetStatusResponse) GetEnqueued() uint64

func (*QueueCommandGetStatusResponse) GetSize

func (*QueueCommandGetStatusResponse) ProtoMessage

func (*QueueCommandGetStatusResponse) ProtoMessage()

func (*QueueCommandGetStatusResponse) Reset

func (m *QueueCommandGetStatusResponse) Reset()

func (*QueueCommandGetStatusResponse) String

type QueueCommandSetBurstArg

type QueueCommandSetBurstArg struct {
	Burst uint64 `protobuf:"varint,1,opt,name=burst" json:"burst,omitempty"`
}

* The module Queue has a function `set_burst(...)` that allows you to specify the maximum number of packets to be stored in a single PacketBatch released by the module.

func (*QueueCommandSetBurstArg) Descriptor

func (*QueueCommandSetBurstArg) Descriptor() ([]byte, []int)

func (*QueueCommandSetBurstArg) GetBurst

func (m *QueueCommandSetBurstArg) GetBurst() uint64

func (*QueueCommandSetBurstArg) ProtoMessage

func (*QueueCommandSetBurstArg) ProtoMessage()

func (*QueueCommandSetBurstArg) Reset

func (m *QueueCommandSetBurstArg) Reset()

func (*QueueCommandSetBurstArg) String

func (m *QueueCommandSetBurstArg) String() string

type QueueCommandSetSizeArg

type QueueCommandSetSizeArg struct {
	Size uint64 `protobuf:"varint,1,opt,name=size" json:"size,omitempty"`
}

* The module Queue has a function `set_size(...)` that allows specifying the size of the queue in total number of packets.

func (*QueueCommandSetSizeArg) Descriptor

func (*QueueCommandSetSizeArg) Descriptor() ([]byte, []int)

func (*QueueCommandSetSizeArg) GetSize

func (m *QueueCommandSetSizeArg) GetSize() uint64

func (*QueueCommandSetSizeArg) ProtoMessage

func (*QueueCommandSetSizeArg) ProtoMessage()

func (*QueueCommandSetSizeArg) Reset

func (m *QueueCommandSetSizeArg) Reset()

func (*QueueCommandSetSizeArg) String

func (m *QueueCommandSetSizeArg) String() string

type QueueIncArg

type QueueIncArg struct {
	Port     string `protobuf:"bytes,1,opt,name=port" json:"port,omitempty"`
	Qid      uint64 `protobuf:"varint,2,opt,name=qid" json:"qid,omitempty"`
	Prefetch bool   `protobuf:"varint,3,opt,name=prefetch" json:"prefetch,omitempty"`
}

* The module QueueInc produces input packets from a physical or virtual port. Unlike PortInc, it supports multiqueue ports. For details on how to configure QueueInc with DPDK, virtualports, libpcap, etc, see the sidebar in the wiki.

__Input Gates__: 0 __Output Gates__: 1

func (*QueueIncArg) Descriptor

func (*QueueIncArg) Descriptor() ([]byte, []int)

func (*QueueIncArg) GetPort

func (m *QueueIncArg) GetPort() string

func (*QueueIncArg) GetPrefetch

func (m *QueueIncArg) GetPrefetch() bool

func (*QueueIncArg) GetQid

func (m *QueueIncArg) GetQid() uint64

func (*QueueIncArg) ProtoMessage

func (*QueueIncArg) ProtoMessage()

func (*QueueIncArg) Reset

func (m *QueueIncArg) Reset()

func (*QueueIncArg) String

func (m *QueueIncArg) String() string

type QueueIncCommandSetBurstArg

type QueueIncCommandSetBurstArg struct {
	Burst uint64 `protobuf:"varint,1,opt,name=burst" json:"burst,omitempty"`
}

* The module QueueInc has a function `set_burst(...)` that allows you to specify the maximum number of packets to be stored in a single PacketBatch released by the module.

func (*QueueIncCommandSetBurstArg) Descriptor

func (*QueueIncCommandSetBurstArg) Descriptor() ([]byte, []int)

func (*QueueIncCommandSetBurstArg) GetBurst

func (m *QueueIncCommandSetBurstArg) GetBurst() uint64

func (*QueueIncCommandSetBurstArg) ProtoMessage

func (*QueueIncCommandSetBurstArg) ProtoMessage()

func (*QueueIncCommandSetBurstArg) Reset

func (m *QueueIncCommandSetBurstArg) Reset()

func (*QueueIncCommandSetBurstArg) String

func (m *QueueIncCommandSetBurstArg) String() string

type QueueOutArg

type QueueOutArg struct {
	Port string `protobuf:"bytes,1,opt,name=port" json:"port,omitempty"`
	Qid  uint64 `protobuf:"varint,2,opt,name=qid" json:"qid,omitempty"`
}

* The QueueOut module releases packets to a physical or virtual port. Unlike PortOut, it supports multiqueue ports. For details on how to configure QueueOut with DPDK, virtualports, libpcap, etc, see the sidebar in the wiki.

__Input Gates__: 1 __Output Gates__: 0

func (*QueueOutArg) Descriptor

func (*QueueOutArg) Descriptor() ([]byte, []int)

func (*QueueOutArg) GetPort

func (m *QueueOutArg) GetPort() string

func (*QueueOutArg) GetQid

func (m *QueueOutArg) GetQid() uint64

func (*QueueOutArg) ProtoMessage

func (*QueueOutArg) ProtoMessage()

func (*QueueOutArg) Reset

func (m *QueueOutArg) Reset()

func (*QueueOutArg) String

func (m *QueueOutArg) String() string

type RandomSplitArg

type RandomSplitArg struct {
	DropRate float64 `protobuf:"fixed64,1,opt,name=drop_rate,json=dropRate" json:"drop_rate,omitempty"`
	Gates    []int64 `protobuf:"varint,2,rep,packed,name=gates" json:"gates,omitempty"`
}

* The RandomSplit module randomly split/drop packets

__InputGates__: 1 __Output Gates__: many (configurable)

func (*RandomSplitArg) Descriptor

func (*RandomSplitArg) Descriptor() ([]byte, []int)

func (*RandomSplitArg) GetDropRate

func (m *RandomSplitArg) GetDropRate() float64

func (*RandomSplitArg) GetGates

func (m *RandomSplitArg) GetGates() []int64

func (*RandomSplitArg) ProtoMessage

func (*RandomSplitArg) ProtoMessage()

func (*RandomSplitArg) Reset

func (m *RandomSplitArg) Reset()

func (*RandomSplitArg) String

func (m *RandomSplitArg) String() string

type RandomSplitCommandSetDroprateArg

type RandomSplitCommandSetDroprateArg struct {
	DropRate float64 `protobuf:"fixed64,1,opt,name=drop_rate,json=dropRate" json:"drop_rate,omitempty"`
}

* The RandomSplit module has a function `set_droprate(...)` which specifies the probability of dropping packets

func (*RandomSplitCommandSetDroprateArg) Descriptor

func (*RandomSplitCommandSetDroprateArg) Descriptor() ([]byte, []int)

func (*RandomSplitCommandSetDroprateArg) GetDropRate

func (m *RandomSplitCommandSetDroprateArg) GetDropRate() float64

func (*RandomSplitCommandSetDroprateArg) ProtoMessage

func (*RandomSplitCommandSetDroprateArg) ProtoMessage()

func (*RandomSplitCommandSetDroprateArg) Reset

func (*RandomSplitCommandSetDroprateArg) String

type RandomSplitCommandSetGatesArg

type RandomSplitCommandSetGatesArg struct {
	Gates []int64 `protobuf:"varint,1,rep,packed,name=gates" json:"gates,omitempty"`
}

* The RandomSplit module has a function `set_gates(...)` which changes the total number of output gates in the module.

func (*RandomSplitCommandSetGatesArg) Descriptor

func (*RandomSplitCommandSetGatesArg) Descriptor() ([]byte, []int)

func (*RandomSplitCommandSetGatesArg) GetGates

func (m *RandomSplitCommandSetGatesArg) GetGates() []int64

func (*RandomSplitCommandSetGatesArg) ProtoMessage

func (*RandomSplitCommandSetGatesArg) ProtoMessage()

func (*RandomSplitCommandSetGatesArg) Reset

func (m *RandomSplitCommandSetGatesArg) Reset()

func (*RandomSplitCommandSetGatesArg) String

type RandomUpdateArg

type RandomUpdateArg struct {
	Fields []*RandomUpdateArg_Field `protobuf:"bytes,1,rep,name=fields" json:"fields,omitempty"`
}

* The RandomUpdate module rewrites a specified field (`offset` and `size`) in a packet with a random value between a specified min and max values.

__Input Gates__: 1 __Output Gates__: 1

func (*RandomUpdateArg) Descriptor

func (*RandomUpdateArg) Descriptor() ([]byte, []int)

func (*RandomUpdateArg) GetFields

func (m *RandomUpdateArg) GetFields() []*RandomUpdateArg_Field

func (*RandomUpdateArg) ProtoMessage

func (*RandomUpdateArg) ProtoMessage()

func (*RandomUpdateArg) Reset

func (m *RandomUpdateArg) Reset()

func (*RandomUpdateArg) String

func (m *RandomUpdateArg) String() string

type RandomUpdateArg_Field

type RandomUpdateArg_Field struct {
	Offset int64  `protobuf:"varint,1,opt,name=offset" json:"offset,omitempty"`
	Size   uint64 `protobuf:"varint,2,opt,name=size" json:"size,omitempty"`
	Min    uint64 `protobuf:"varint,3,opt,name=min" json:"min,omitempty"`
	Max    uint64 `protobuf:"varint,4,opt,name=max" json:"max,omitempty"`
}

* RandomUpdate's Field specifies where to rewrite, and what values to rewrite in each packet processed.

func (*RandomUpdateArg_Field) Descriptor

func (*RandomUpdateArg_Field) Descriptor() ([]byte, []int)

func (*RandomUpdateArg_Field) GetMax

func (m *RandomUpdateArg_Field) GetMax() uint64

func (*RandomUpdateArg_Field) GetMin

func (m *RandomUpdateArg_Field) GetMin() uint64

func (*RandomUpdateArg_Field) GetOffset

func (m *RandomUpdateArg_Field) GetOffset() int64

func (*RandomUpdateArg_Field) GetSize

func (m *RandomUpdateArg_Field) GetSize() uint64

func (*RandomUpdateArg_Field) ProtoMessage

func (*RandomUpdateArg_Field) ProtoMessage()

func (*RandomUpdateArg_Field) Reset

func (m *RandomUpdateArg_Field) Reset()

func (*RandomUpdateArg_Field) String

func (m *RandomUpdateArg_Field) String() string

type RandomUpdateCommandClearArg

type RandomUpdateCommandClearArg struct {
}

* The function `clear()` for RandomUpdate takes no parameters and clears all state in the module.

func (*RandomUpdateCommandClearArg) Descriptor

func (*RandomUpdateCommandClearArg) Descriptor() ([]byte, []int)

func (*RandomUpdateCommandClearArg) ProtoMessage

func (*RandomUpdateCommandClearArg) ProtoMessage()

func (*RandomUpdateCommandClearArg) Reset

func (m *RandomUpdateCommandClearArg) Reset()

func (*RandomUpdateCommandClearArg) String

func (m *RandomUpdateCommandClearArg) String() string

type ReplicateArg

type ReplicateArg struct {
	Gates []int64 `protobuf:"varint,1,rep,packed,name=gates" json:"gates,omitempty"`
}

* The Replicate module makes copies of a packet sending one copy out over each of n output gates.

__Input Gates__: 1 __Output Gates__: many (configurable)

func (*ReplicateArg) Descriptor

func (*ReplicateArg) Descriptor() ([]byte, []int)

func (*ReplicateArg) GetGates

func (m *ReplicateArg) GetGates() []int64

func (*ReplicateArg) ProtoMessage

func (*ReplicateArg) ProtoMessage()

func (*ReplicateArg) Reset

func (m *ReplicateArg) Reset()

func (*ReplicateArg) String

func (m *ReplicateArg) String() string

type ReplicateCommandSetGatesArg

type ReplicateCommandSetGatesArg struct {
	Gates []int64 `protobuf:"varint,1,rep,packed,name=gates" json:"gates,omitempty"`
}

* The Replicate module has a function `set_gates(...)` which changes the total number of output gates in the module.

func (*ReplicateCommandSetGatesArg) Descriptor

func (*ReplicateCommandSetGatesArg) Descriptor() ([]byte, []int)

func (*ReplicateCommandSetGatesArg) GetGates

func (m *ReplicateCommandSetGatesArg) GetGates() []int64

func (*ReplicateCommandSetGatesArg) ProtoMessage

func (*ReplicateCommandSetGatesArg) ProtoMessage()

func (*ReplicateCommandSetGatesArg) Reset

func (m *ReplicateCommandSetGatesArg) Reset()

func (*ReplicateCommandSetGatesArg) String

func (m *ReplicateCommandSetGatesArg) String() string

type ResumeWorkerRequest

type ResumeWorkerRequest struct {
	Wid int64 `protobuf:"varint,1,opt,name=wid" json:"wid,omitempty"`
}

func (*ResumeWorkerRequest) Descriptor

func (*ResumeWorkerRequest) Descriptor() ([]byte, []int)

func (*ResumeWorkerRequest) GetWid

func (m *ResumeWorkerRequest) GetWid() int64

func (*ResumeWorkerRequest) ProtoMessage

func (*ResumeWorkerRequest) ProtoMessage()

func (*ResumeWorkerRequest) Reset

func (m *ResumeWorkerRequest) Reset()

func (*ResumeWorkerRequest) String

func (m *ResumeWorkerRequest) String() string

type RewriteArg

type RewriteArg struct {
	Templates [][]byte `protobuf:"bytes,1,rep,name=templates,proto3" json:"templates,omitempty"`
}

* The Rewrite module replaces an entire packet body with a packet "template" converting all packets that pass through to copies of the of one of the templates.

__Input Gates__: 1 __Output Gates__: 1

func (*RewriteArg) Descriptor

func (*RewriteArg) Descriptor() ([]byte, []int)

func (*RewriteArg) GetTemplates

func (m *RewriteArg) GetTemplates() [][]byte

func (*RewriteArg) ProtoMessage

func (*RewriteArg) ProtoMessage()

func (*RewriteArg) Reset

func (m *RewriteArg) Reset()

func (*RewriteArg) String

func (m *RewriteArg) String() string

type RewriteCommandClearArg

type RewriteCommandClearArg struct {
}

* The function `clear()` for Rewrite takes no parameters and clears all state in the module.

func (*RewriteCommandClearArg) Descriptor

func (*RewriteCommandClearArg) Descriptor() ([]byte, []int)

func (*RewriteCommandClearArg) ProtoMessage

func (*RewriteCommandClearArg) ProtoMessage()

func (*RewriteCommandClearArg) Reset

func (m *RewriteCommandClearArg) Reset()

func (*RewriteCommandClearArg) String

func (m *RewriteCommandClearArg) String() string

type RoundRobinArg

type RoundRobinArg struct {
	Gates []int64 `protobuf:"varint,1,rep,packed,name=gates" json:"gates,omitempty"`
	Mode  string  `protobuf:"bytes,2,opt,name=mode" json:"mode,omitempty"`
}

* The RoundRobin module splits packets from one input gate across multiple output gates.

__Input Gates__: 1 __Output Gates__: many (configurable)

func (*RoundRobinArg) Descriptor

func (*RoundRobinArg) Descriptor() ([]byte, []int)

func (*RoundRobinArg) GetGates

func (m *RoundRobinArg) GetGates() []int64

func (*RoundRobinArg) GetMode

func (m *RoundRobinArg) GetMode() string

func (*RoundRobinArg) ProtoMessage

func (*RoundRobinArg) ProtoMessage()

func (*RoundRobinArg) Reset

func (m *RoundRobinArg) Reset()

func (*RoundRobinArg) String

func (m *RoundRobinArg) String() string

type RoundRobinCommandSetGatesArg

type RoundRobinCommandSetGatesArg struct {
	Gates []int64 `protobuf:"varint,1,rep,packed,name=gates" json:"gates,omitempty"`
}

* The RoundRobin module has a function `set_gates(...)` which changes the total number of output gates in the module.

func (*RoundRobinCommandSetGatesArg) Descriptor

func (*RoundRobinCommandSetGatesArg) Descriptor() ([]byte, []int)

func (*RoundRobinCommandSetGatesArg) GetGates

func (m *RoundRobinCommandSetGatesArg) GetGates() []int64

func (*RoundRobinCommandSetGatesArg) ProtoMessage

func (*RoundRobinCommandSetGatesArg) ProtoMessage()

func (*RoundRobinCommandSetGatesArg) Reset

func (m *RoundRobinCommandSetGatesArg) Reset()

func (*RoundRobinCommandSetGatesArg) String

type RoundRobinCommandSetModeArg

type RoundRobinCommandSetModeArg struct {
	Mode string `protobuf:"bytes,1,opt,name=mode" json:"mode,omitempty"`
}

* The RoundRobin module has a function `set_mode(...)` which specifies whether to balance traffic across gates per-packet or per-batch.

func (*RoundRobinCommandSetModeArg) Descriptor

func (*RoundRobinCommandSetModeArg) Descriptor() ([]byte, []int)

func (*RoundRobinCommandSetModeArg) GetMode

func (m *RoundRobinCommandSetModeArg) GetMode() string

func (*RoundRobinCommandSetModeArg) ProtoMessage

func (*RoundRobinCommandSetModeArg) ProtoMessage()

func (*RoundRobinCommandSetModeArg) Reset

func (m *RoundRobinCommandSetModeArg) Reset()

func (*RoundRobinCommandSetModeArg) String

func (m *RoundRobinCommandSetModeArg) String() string

type SetMetadataArg

type SetMetadataArg struct {
	Attrs []*SetMetadataArg_Attribute `protobuf:"bytes,1,rep,name=attrs" json:"attrs,omitempty"`
}

* The SetMetadata module adds metadata attributes to packets, which are not stored or sent out with packet data. For examples of SetMetadata use, see [`bess/bessctl/conf/attr_match.bess`](https://github.com/NetSys/bess/blob/master/bessctl/conf/metadata/attr_match.bess)

__Input Gates__: 1 __Output Gates__: 1

func (*SetMetadataArg) Descriptor

func (*SetMetadataArg) Descriptor() ([]byte, []int)

func (*SetMetadataArg) GetAttrs

func (m *SetMetadataArg) GetAttrs() []*SetMetadataArg_Attribute

func (*SetMetadataArg) ProtoMessage

func (*SetMetadataArg) ProtoMessage()

func (*SetMetadataArg) Reset

func (m *SetMetadataArg) Reset()

func (*SetMetadataArg) String

func (m *SetMetadataArg) String() string

type SetMetadataArg_Attribute

type SetMetadataArg_Attribute struct {
	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	Size uint64 `protobuf:"varint,2,opt,name=size" json:"size,omitempty"`
	// Types that are valid to be assigned to Value:
	//	*SetMetadataArg_Attribute_ValueInt
	//	*SetMetadataArg_Attribute_ValueBin
	Value      isSetMetadataArg_Attribute_Value `protobuf_oneof:"value"`
	Offset     int32                            `protobuf:"varint,5,opt,name=offset" json:"offset,omitempty"`
	Mask       []byte                           `protobuf:"bytes,6,opt,name=mask,proto3" json:"mask,omitempty"`
	RshiftBits int32                            `protobuf:"varint,7,opt,name=rshift_bits,json=rshiftBits" json:"rshift_bits,omitempty"`
}

* SetMetadata Attribute describes a metadata attribute and value to attach to every packet. If copying data from a packet buffer, SetMetadata can also logically shift then mask the value before storing it as metadata, i.e., metadata_value = (packet_value >> `rshift_bits`) & `mask`.

func (*SetMetadataArg_Attribute) Descriptor

func (*SetMetadataArg_Attribute) Descriptor() ([]byte, []int)

func (*SetMetadataArg_Attribute) GetMask

func (m *SetMetadataArg_Attribute) GetMask() []byte

func (*SetMetadataArg_Attribute) GetName

func (m *SetMetadataArg_Attribute) GetName() string

func (*SetMetadataArg_Attribute) GetOffset

func (m *SetMetadataArg_Attribute) GetOffset() int32

func (*SetMetadataArg_Attribute) GetRshiftBits

func (m *SetMetadataArg_Attribute) GetRshiftBits() int32

func (*SetMetadataArg_Attribute) GetSize

func (m *SetMetadataArg_Attribute) GetSize() uint64

func (*SetMetadataArg_Attribute) GetValue

func (m *SetMetadataArg_Attribute) GetValue() isSetMetadataArg_Attribute_Value

func (*SetMetadataArg_Attribute) GetValueBin

func (m *SetMetadataArg_Attribute) GetValueBin() []byte

func (*SetMetadataArg_Attribute) GetValueInt

func (m *SetMetadataArg_Attribute) GetValueInt() uint64

func (*SetMetadataArg_Attribute) ProtoMessage

func (*SetMetadataArg_Attribute) ProtoMessage()

func (*SetMetadataArg_Attribute) Reset

func (m *SetMetadataArg_Attribute) Reset()

func (*SetMetadataArg_Attribute) String

func (m *SetMetadataArg_Attribute) String() string

func (*SetMetadataArg_Attribute) XXX_OneofFuncs

func (*SetMetadataArg_Attribute) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

type SetMetadataArg_Attribute_ValueBin

type SetMetadataArg_Attribute_ValueBin struct {
	ValueBin []byte `protobuf:"bytes,4,opt,name=value_bin,json=valueBin,proto3,oneof"`
}

type SetMetadataArg_Attribute_ValueInt

type SetMetadataArg_Attribute_ValueInt struct {
	ValueInt uint64 `protobuf:"varint,3,opt,name=value_int,json=valueInt,oneof"`
}

type SetPortConfRequest

type SetPortConfRequest struct {
	Name string    `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	Conf *PortConf `protobuf:"bytes,2,opt,name=conf" json:"conf,omitempty"`
}

func (*SetPortConfRequest) Descriptor

func (*SetPortConfRequest) Descriptor() ([]byte, []int)

func (*SetPortConfRequest) GetConf

func (m *SetPortConfRequest) GetConf() *PortConf

func (*SetPortConfRequest) GetName

func (m *SetPortConfRequest) GetName() string

func (*SetPortConfRequest) ProtoMessage

func (*SetPortConfRequest) ProtoMessage()

func (*SetPortConfRequest) Reset

func (m *SetPortConfRequest) Reset()

func (*SetPortConfRequest) String

func (m *SetPortConfRequest) String() string

type SinkArg

type SinkArg struct {
}

* The sink module drops all packets that are sent to it.

__Input Gates__: 1 __Output Gates__: 0

func (*SinkArg) Descriptor

func (*SinkArg) Descriptor() ([]byte, []int)

func (*SinkArg) ProtoMessage

func (*SinkArg) ProtoMessage()

func (*SinkArg) Reset

func (m *SinkArg) Reset()

func (*SinkArg) String

func (m *SinkArg) String() string

type SourceArg

type SourceArg struct {
	PktSize uint64 `protobuf:"varint,1,opt,name=pkt_size,json=pktSize" json:"pkt_size,omitempty"`
}

* The Source module generates packets with no payload contents.

__Input Gates__: 0 __Output Gates__: 1

func (*SourceArg) Descriptor

func (*SourceArg) Descriptor() ([]byte, []int)

func (*SourceArg) GetPktSize

func (m *SourceArg) GetPktSize() uint64

func (*SourceArg) ProtoMessage

func (*SourceArg) ProtoMessage()

func (*SourceArg) Reset

func (m *SourceArg) Reset()

func (*SourceArg) String

func (m *SourceArg) String() string

type SourceCommandSetBurstArg

type SourceCommandSetBurstArg struct {
	Burst uint64 `protobuf:"varint,1,opt,name=burst" json:"burst,omitempty"`
}

* The Source module has a function `set_burst(...)` which specifies the maximum number of packets to release in a single packetbatch from the module.

func (*SourceCommandSetBurstArg) Descriptor

func (*SourceCommandSetBurstArg) Descriptor() ([]byte, []int)

func (*SourceCommandSetBurstArg) GetBurst

func (m *SourceCommandSetBurstArg) GetBurst() uint64

func (*SourceCommandSetBurstArg) ProtoMessage

func (*SourceCommandSetBurstArg) ProtoMessage()

func (*SourceCommandSetBurstArg) Reset

func (m *SourceCommandSetBurstArg) Reset()

func (*SourceCommandSetBurstArg) String

func (m *SourceCommandSetBurstArg) String() string

type SourceCommandSetPktSizeArg

type SourceCommandSetPktSizeArg struct {
	PktSize uint64 `protobuf:"varint,1,opt,name=pkt_size,json=pktSize" json:"pkt_size,omitempty"`
}

* The Source module has a function `set_pkt_size(...)` which specifies the size of packets to be produced by the Source module.

func (*SourceCommandSetPktSizeArg) Descriptor

func (*SourceCommandSetPktSizeArg) Descriptor() ([]byte, []int)

func (*SourceCommandSetPktSizeArg) GetPktSize

func (m *SourceCommandSetPktSizeArg) GetPktSize() uint64

func (*SourceCommandSetPktSizeArg) ProtoMessage

func (*SourceCommandSetPktSizeArg) ProtoMessage()

func (*SourceCommandSetPktSizeArg) Reset

func (m *SourceCommandSetPktSizeArg) Reset()

func (*SourceCommandSetPktSizeArg) String

func (m *SourceCommandSetPktSizeArg) String() string

type SplitArg

type SplitArg struct {
	Size uint64 `protobuf:"varint,1,opt,name=size" json:"size,omitempty"`
	// Types that are valid to be assigned to Type:
	//	*SplitArg_Attribute
	//	*SplitArg_Offset
	Type isSplitArg_Type `protobuf_oneof:"type"`
}

* The Split module is a basic classifier which directs packets out a gate based on data in the packet (e.g., if the read in value is 3, the packet is directed out output gate 3).

__Input Gates__: 1 __Output Gates__: many (up to 2^(size * 8))

func (*SplitArg) Descriptor

func (*SplitArg) Descriptor() ([]byte, []int)

func (*SplitArg) GetAttribute

func (m *SplitArg) GetAttribute() string

func (*SplitArg) GetOffset

func (m *SplitArg) GetOffset() int64

func (*SplitArg) GetSize

func (m *SplitArg) GetSize() uint64

func (*SplitArg) GetType

func (m *SplitArg) GetType() isSplitArg_Type

func (*SplitArg) ProtoMessage

func (*SplitArg) ProtoMessage()

func (*SplitArg) Reset

func (m *SplitArg) Reset()

func (*SplitArg) String

func (m *SplitArg) String() string

func (*SplitArg) XXX_OneofFuncs

func (*SplitArg) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

type SplitArg_Attribute

type SplitArg_Attribute struct {
	Attribute string `protobuf:"bytes,2,opt,name=attribute,oneof"`
}

type SplitArg_Offset

type SplitArg_Offset struct {
	Offset int64 `protobuf:"varint,3,opt,name=offset,oneof"`
}

type StaticNATArg

type StaticNATArg struct {
	Pairs []*StaticNATArg_AddressRangePair `protobuf:"bytes,1,rep,name=pairs" json:"pairs,omitempty"`
}

* Static NAT module implements one-to-one translation of source/destination IPv4 addresses. No port number is translated. L3/L4 checksums are updated correspondingly. To see an example of NAT in use, see: [`bess/bessctl/conf/samples/nat.bess`](https://github.com/NetSys/bess/blob/master/bessctl/conf/samples/nat.bess)

Forward direction (from input gate 0 to output gate 0):

  • Source IP address is updated, from internal to external address.

Reverse direction (from input gate 1 to output gate 1):

  • Destination IP address is updated, from external to internal address.

If the original address is outside any of the ranges, packets are forwarded without NAT.

Note that address in packet payload (e.g., FTP) are NOT translated.

__Input Gates__: 2 (0 for internal->external, and 1 for external->internal direction) __Output Gates__: 2 (same as the input gate)

func (*StaticNATArg) Descriptor

func (*StaticNATArg) Descriptor() ([]byte, []int)

func (*StaticNATArg) GetPairs

func (*StaticNATArg) ProtoMessage

func (*StaticNATArg) ProtoMessage()

func (*StaticNATArg) Reset

func (m *StaticNATArg) Reset()

func (*StaticNATArg) String

func (m *StaticNATArg) String() string

type StaticNATArg_AddressRange

type StaticNATArg_AddressRange struct {
	Start string `protobuf:"bytes,1,opt,name=start" json:"start,omitempty"`
	End   string `protobuf:"bytes,2,opt,name=end" json:"end,omitempty"`
}

func (*StaticNATArg_AddressRange) Descriptor

func (*StaticNATArg_AddressRange) Descriptor() ([]byte, []int)

func (*StaticNATArg_AddressRange) GetEnd

func (m *StaticNATArg_AddressRange) GetEnd() string

func (*StaticNATArg_AddressRange) GetStart

func (m *StaticNATArg_AddressRange) GetStart() string

func (*StaticNATArg_AddressRange) ProtoMessage

func (*StaticNATArg_AddressRange) ProtoMessage()

func (*StaticNATArg_AddressRange) Reset

func (m *StaticNATArg_AddressRange) Reset()

func (*StaticNATArg_AddressRange) String

func (m *StaticNATArg_AddressRange) String() string

type StaticNATArg_AddressRangePair

type StaticNATArg_AddressRangePair struct {
	IntRange *StaticNATArg_AddressRange `protobuf:"bytes,1,opt,name=int_range,json=intRange" json:"int_range,omitempty"`
	ExtRange *StaticNATArg_AddressRange `protobuf:"bytes,2,opt,name=ext_range,json=extRange" json:"ext_range,omitempty"`
}

func (*StaticNATArg_AddressRangePair) Descriptor

func (*StaticNATArg_AddressRangePair) Descriptor() ([]byte, []int)

func (*StaticNATArg_AddressRangePair) GetExtRange

func (*StaticNATArg_AddressRangePair) GetIntRange

func (*StaticNATArg_AddressRangePair) ProtoMessage

func (*StaticNATArg_AddressRangePair) ProtoMessage()

func (*StaticNATArg_AddressRangePair) Reset

func (m *StaticNATArg_AddressRangePair) Reset()

func (*StaticNATArg_AddressRangePair) String

type TcpdumpArg

type TcpdumpArg struct {
	Fifo      string `protobuf:"bytes,5,opt,name=fifo" json:"fifo,omitempty"`
	Defer     bool   `protobuf:"varint,6,opt,name=defer" json:"defer,omitempty"`
	Reconnect bool   `protobuf:"varint,7,opt,name=reconnect" json:"reconnect,omitempty"`
}

/ Enable/Disable tcpdump tapping at an input/output gate. / / Once the tap is installed, all packets going through the gate will be / captured and sent in PCAP format to the specified named pipe (FIFO). / Thus you can run `tcpdump -r <path to FIFO>` or save the stream in a file. / This feature may affect performance. / / NOTE: There should be no running worker to run this command.

func (*TcpdumpArg) Descriptor

func (*TcpdumpArg) Descriptor() ([]byte, []int)

func (*TcpdumpArg) GetDefer

func (m *TcpdumpArg) GetDefer() bool

func (*TcpdumpArg) GetFifo

func (m *TcpdumpArg) GetFifo() string

func (*TcpdumpArg) GetReconnect

func (m *TcpdumpArg) GetReconnect() bool

func (*TcpdumpArg) ProtoMessage

func (*TcpdumpArg) ProtoMessage()

func (*TcpdumpArg) Reset

func (m *TcpdumpArg) Reset()

func (*TcpdumpArg) String

func (m *TcpdumpArg) String() string

type TimestampArg

type TimestampArg struct {
	Offset uint64 `protobuf:"varint,1,opt,name=offset" json:"offset,omitempty"`
}

* The timestamp module takes an offset parameter. It inserts the current time in nanoseconds into the packet, to be used for latency measurements alongside the Measure module. The default offset is after an IPv4 UDP header.

__Input Gates__: 1 __Output Gates__: 1

func (*TimestampArg) Descriptor

func (*TimestampArg) Descriptor() ([]byte, []int)

func (*TimestampArg) GetOffset

func (m *TimestampArg) GetOffset() uint64

func (*TimestampArg) ProtoMessage

func (*TimestampArg) ProtoMessage()

func (*TimestampArg) Reset

func (m *TimestampArg) Reset()

func (*TimestampArg) String

func (m *TimestampArg) String() string

type TrackArg

type TrackArg struct {
	Bits bool `protobuf:"varint,5,opt,name=bits" json:"bits,omitempty"`
}

/ Enable/Disable the "Track" hook on a gate (or all gates) / / "Track" hook accumulates the number of total packets, batches and bits / passing through a gate. This incurs some amount of CPU overheads. While / the cost is very small, remember that the delay adds up at every gate. / / NOTE: There should be no running worker to run this command.

func (*TrackArg) Descriptor

func (*TrackArg) Descriptor() ([]byte, []int)

func (*TrackArg) GetBits

func (m *TrackArg) GetBits() bool

func (*TrackArg) ProtoMessage

func (*TrackArg) ProtoMessage()

func (*TrackArg) Reset

func (m *TrackArg) Reset()

func (*TrackArg) String

func (m *TrackArg) String() string

type TrafficClass

type TrafficClass struct {
	Parent  string `protobuf:"bytes,1,opt,name=parent" json:"parent,omitempty"`
	Name    string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
	Blocked bool   `protobuf:"varint,3,opt,name=blocked" json:"blocked,omitempty"`
	// / One of "priority", "weighted_fair", "round_robin", "rate_limit", "leaf"
	Policy string `protobuf:"bytes,4,opt,name=policy" json:"policy,omitempty"`
	// / Type of resource to regulate. Only used for traffic classes of
	// / weighted_fair and rate_limit types.
	// / Should be one of resource types: "count", "cycle", "packet", "bit"
	Resource string `protobuf:"bytes,5,opt,name=resource" json:"resource,omitempty"`
	// Types that are valid to be assigned to Arg:
	//	*TrafficClass_Priority
	//	*TrafficClass_Share
	Arg isTrafficClass_Arg `protobuf_oneof:"arg"`
	// / Worker ID that this TC belongs to. If -1, the TC will be assigned
	// / to an arbitrary worker.
	Wid int64 `protobuf:"varint,8,opt,name=wid" json:"wid,omitempty"`
	// / Long-term average of resource limit, in cycles/s, packets/s, ...
	Limit map[string]int64 `` /* 131-byte string literal not displayed */
	// / Burst allowance of resource limit, in cycles, packets, bits, ...
	// / If set to 0, no extra tokens will be saved.
	MaxBurst map[string]int64 `` /* 154-byte string literal not displayed */
	// / Only for "leaf": the task executed by this class.
	LeafModuleName   string `protobuf:"bytes,11,opt,name=leaf_module_name,json=leafModuleName" json:"leaf_module_name,omitempty"`
	LeafModuleTaskid uint64 `protobuf:"varint,12,opt,name=leaf_module_taskid,json=leafModuleTaskid" json:"leaf_module_taskid,omitempty"`
}

func (*TrafficClass) Descriptor

func (*TrafficClass) Descriptor() ([]byte, []int)

func (*TrafficClass) GetArg

func (m *TrafficClass) GetArg() isTrafficClass_Arg

func (*TrafficClass) GetBlocked

func (m *TrafficClass) GetBlocked() bool

func (*TrafficClass) GetLeafModuleName

func (m *TrafficClass) GetLeafModuleName() string

func (*TrafficClass) GetLeafModuleTaskid

func (m *TrafficClass) GetLeafModuleTaskid() uint64

func (*TrafficClass) GetLimit

func (m *TrafficClass) GetLimit() map[string]int64

func (*TrafficClass) GetMaxBurst

func (m *TrafficClass) GetMaxBurst() map[string]int64

func (*TrafficClass) GetName

func (m *TrafficClass) GetName() string

func (*TrafficClass) GetParent

func (m *TrafficClass) GetParent() string

func (*TrafficClass) GetPolicy

func (m *TrafficClass) GetPolicy() string

func (*TrafficClass) GetPriority

func (m *TrafficClass) GetPriority() int64

func (*TrafficClass) GetResource

func (m *TrafficClass) GetResource() string

func (*TrafficClass) GetShare

func (m *TrafficClass) GetShare() int64

func (*TrafficClass) GetWid

func (m *TrafficClass) GetWid() int64

func (*TrafficClass) ProtoMessage

func (*TrafficClass) ProtoMessage()

func (*TrafficClass) Reset

func (m *TrafficClass) Reset()

func (*TrafficClass) String

func (m *TrafficClass) String() string

func (*TrafficClass) XXX_OneofFuncs

func (*TrafficClass) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

type TrafficClass_Priority

type TrafficClass_Priority struct {
	Priority int64 `protobuf:"varint,6,opt,name=priority,oneof"`
}

type TrafficClass_Share

type TrafficClass_Share struct {
	Share int64 `protobuf:"varint,7,opt,name=share,oneof"`
}

type UnixSocketPortArg

type UnixSocketPortArg struct {
	// / Set the first character to "@" in place of \0 for abstract path
	// / See manpage for unix(7).
	Path string `protobuf:"bytes,1,opt,name=path" json:"path,omitempty"`
	// / Minimum RX polling interval for system calls, when *idle*.
	// / Use a negative number for unthrottled polling. If unspecified or 0,
	// / it is set to 50,000 (50 microseconds, or 20k polls per second)
	MinRxIntervalNs int64 `protobuf:"varint,2,opt,name=min_rx_interval_ns,json=minRxIntervalNs" json:"min_rx_interval_ns,omitempty"`
	// / If set, the port driver will send a confirmation once
	// / the port is connected.  This lets pybess avoid a race during
	// / testing.  See bessctl/test_utils.py for details.
	ConfirmConnect bool `protobuf:"varint,3,opt,name=confirm_connect,json=confirmConnect" json:"confirm_connect,omitempty"`
}

func (*UnixSocketPortArg) Descriptor

func (*UnixSocketPortArg) Descriptor() ([]byte, []int)

func (*UnixSocketPortArg) GetConfirmConnect

func (m *UnixSocketPortArg) GetConfirmConnect() bool

func (*UnixSocketPortArg) GetMinRxIntervalNs

func (m *UnixSocketPortArg) GetMinRxIntervalNs() int64

func (*UnixSocketPortArg) GetPath

func (m *UnixSocketPortArg) GetPath() string

func (*UnixSocketPortArg) ProtoMessage

func (*UnixSocketPortArg) ProtoMessage()

func (*UnixSocketPortArg) Reset

func (m *UnixSocketPortArg) Reset()

func (*UnixSocketPortArg) String

func (m *UnixSocketPortArg) String() string

type UnloadPluginRequest

type UnloadPluginRequest struct {
	Path string `protobuf:"bytes,1,opt,name=path" json:"path,omitempty"`
}

func (*UnloadPluginRequest) Descriptor

func (*UnloadPluginRequest) Descriptor() ([]byte, []int)

func (*UnloadPluginRequest) GetPath

func (m *UnloadPluginRequest) GetPath() string

func (*UnloadPluginRequest) ProtoMessage

func (*UnloadPluginRequest) ProtoMessage()

func (*UnloadPluginRequest) Reset

func (m *UnloadPluginRequest) Reset()

func (*UnloadPluginRequest) String

func (m *UnloadPluginRequest) String() string

type UpdateArg

type UpdateArg struct {
	Fields []*UpdateArg_Field `protobuf:"bytes,1,rep,name=fields" json:"fields,omitempty"`
}

* The Update module rewrites a field in a packet's data with a specific value.

__Input Gates__: 1 __Output Gates__: 1

func (*UpdateArg) Descriptor

func (*UpdateArg) Descriptor() ([]byte, []int)

func (*UpdateArg) GetFields

func (m *UpdateArg) GetFields() []*UpdateArg_Field

func (*UpdateArg) ProtoMessage

func (*UpdateArg) ProtoMessage()

func (*UpdateArg) Reset

func (m *UpdateArg) Reset()

func (*UpdateArg) String

func (m *UpdateArg) String() string

type UpdateArg_Field

type UpdateArg_Field struct {
	Offset int64  `protobuf:"varint,1,opt,name=offset" json:"offset,omitempty"`
	Size   uint64 `protobuf:"varint,2,opt,name=size" json:"size,omitempty"`
	Value  uint64 `protobuf:"varint,3,opt,name=value" json:"value,omitempty"`
}

* Update Field describes where in a packet's data to rewrite, and with what value.

func (*UpdateArg_Field) Descriptor

func (*UpdateArg_Field) Descriptor() ([]byte, []int)

func (*UpdateArg_Field) GetOffset

func (m *UpdateArg_Field) GetOffset() int64

func (*UpdateArg_Field) GetSize

func (m *UpdateArg_Field) GetSize() uint64

func (*UpdateArg_Field) GetValue

func (m *UpdateArg_Field) GetValue() uint64

func (*UpdateArg_Field) ProtoMessage

func (*UpdateArg_Field) ProtoMessage()

func (*UpdateArg_Field) Reset

func (m *UpdateArg_Field) Reset()

func (*UpdateArg_Field) String

func (m *UpdateArg_Field) String() string

type UpdateCommandClearArg

type UpdateCommandClearArg struct {
}

* The function `clear()` for Update takes no parameters and clears all state in the module.

func (*UpdateCommandClearArg) Descriptor

func (*UpdateCommandClearArg) Descriptor() ([]byte, []int)

func (*UpdateCommandClearArg) ProtoMessage

func (*UpdateCommandClearArg) ProtoMessage()

func (*UpdateCommandClearArg) Reset

func (m *UpdateCommandClearArg) Reset()

func (*UpdateCommandClearArg) String

func (m *UpdateCommandClearArg) String() string

type UpdateTcParamsRequest

type UpdateTcParamsRequest struct {
	Class *TrafficClass `protobuf:"bytes,1,opt,name=class" json:"class,omitempty"`
}

func (*UpdateTcParamsRequest) Descriptor

func (*UpdateTcParamsRequest) Descriptor() ([]byte, []int)

func (*UpdateTcParamsRequest) GetClass

func (m *UpdateTcParamsRequest) GetClass() *TrafficClass

func (*UpdateTcParamsRequest) ProtoMessage

func (*UpdateTcParamsRequest) ProtoMessage()

func (*UpdateTcParamsRequest) Reset

func (m *UpdateTcParamsRequest) Reset()

func (*UpdateTcParamsRequest) String

func (m *UpdateTcParamsRequest) String() string

type UpdateTcParentRequest

type UpdateTcParentRequest struct {
	Class *TrafficClass `protobuf:"bytes,1,opt,name=class" json:"class,omitempty"`
}

func (*UpdateTcParentRequest) Descriptor

func (*UpdateTcParentRequest) Descriptor() ([]byte, []int)

func (*UpdateTcParentRequest) GetClass

func (m *UpdateTcParentRequest) GetClass() *TrafficClass

func (*UpdateTcParentRequest) ProtoMessage

func (*UpdateTcParentRequest) ProtoMessage()

func (*UpdateTcParentRequest) Reset

func (m *UpdateTcParentRequest) Reset()

func (*UpdateTcParentRequest) String

func (m *UpdateTcParentRequest) String() string

type UrlFilterArg

type UrlFilterArg struct {
	Blacklist []*UrlFilterArg_Url `protobuf:"bytes,1,rep,name=blacklist" json:"blacklist,omitempty"`
}

* The URLFilter performs TCP reconstruction over a flow and blocks connections which mention a banned URL.

__Input Gates__: 2 __Output Gates__: 2

Note that the add() command takes this same argument, and the clear() command takes an empty argument.

func (*UrlFilterArg) Descriptor

func (*UrlFilterArg) Descriptor() ([]byte, []int)

func (*UrlFilterArg) GetBlacklist

func (m *UrlFilterArg) GetBlacklist() []*UrlFilterArg_Url

func (*UrlFilterArg) ProtoMessage

func (*UrlFilterArg) ProtoMessage()

func (*UrlFilterArg) Reset

func (m *UrlFilterArg) Reset()

func (*UrlFilterArg) String

func (m *UrlFilterArg) String() string

type UrlFilterArg_Url

type UrlFilterArg_Url struct {
	Host string `protobuf:"bytes,1,opt,name=host" json:"host,omitempty"`
	Path string `protobuf:"bytes,2,opt,name=path" json:"path,omitempty"`
}

* A URL consists of a host and a path.

func (*UrlFilterArg_Url) Descriptor

func (*UrlFilterArg_Url) Descriptor() ([]byte, []int)

func (*UrlFilterArg_Url) GetHost

func (m *UrlFilterArg_Url) GetHost() string

func (*UrlFilterArg_Url) GetPath

func (m *UrlFilterArg_Url) GetPath() string

func (*UrlFilterArg_Url) ProtoMessage

func (*UrlFilterArg_Url) ProtoMessage()

func (*UrlFilterArg_Url) Reset

func (m *UrlFilterArg_Url) Reset()

func (*UrlFilterArg_Url) String

func (m *UrlFilterArg_Url) String() string

type UrlFilterConfig

type UrlFilterConfig struct {
	Blacklist []*UrlFilterArg_Url `protobuf:"bytes,1,rep,name=blacklist" json:"blacklist,omitempty"`
}

* The runtime configuration of a URLFilter is the current blacklist. This means that getting the Arg gets an *empty* list: we assume anyone using get_initial_arg is also using get_runtime_config.

func (*UrlFilterConfig) Descriptor

func (*UrlFilterConfig) Descriptor() ([]byte, []int)

func (*UrlFilterConfig) GetBlacklist

func (m *UrlFilterConfig) GetBlacklist() []*UrlFilterArg_Url

func (*UrlFilterConfig) ProtoMessage

func (*UrlFilterConfig) ProtoMessage()

func (*UrlFilterConfig) Reset

func (m *UrlFilterConfig) Reset()

func (*UrlFilterConfig) String

func (m *UrlFilterConfig) String() string

type VLANPopArg

type VLANPopArg struct {
}

* VLANPop removes the VLAN tag.

__Input Gates__: 1 __Output Gates__: 1

func (*VLANPopArg) Descriptor

func (*VLANPopArg) Descriptor() ([]byte, []int)

func (*VLANPopArg) ProtoMessage

func (*VLANPopArg) ProtoMessage()

func (*VLANPopArg) Reset

func (m *VLANPopArg) Reset()

func (*VLANPopArg) String

func (m *VLANPopArg) String() string

type VLANPushArg

type VLANPushArg struct {
	Tci uint64 `protobuf:"varint,1,opt,name=tci" json:"tci,omitempty"`
}

* VLANPush appends a VLAN tag with a specified TCI value.

__Input Gates__: 1 __Output Gates__: 1

func (*VLANPushArg) Descriptor

func (*VLANPushArg) Descriptor() ([]byte, []int)

func (*VLANPushArg) GetTci

func (m *VLANPushArg) GetTci() uint64

func (*VLANPushArg) ProtoMessage

func (*VLANPushArg) ProtoMessage()

func (*VLANPushArg) Reset

func (m *VLANPushArg) Reset()

func (*VLANPushArg) String

func (m *VLANPushArg) String() string

type VLANSplitArg

type VLANSplitArg struct {
}

* Splits packets across output gates according to VLAN id (e.g., id 3 goes out gate 3).

__Input Gates__: 1 __Output Gates__: many

func (*VLANSplitArg) Descriptor

func (*VLANSplitArg) Descriptor() ([]byte, []int)

func (*VLANSplitArg) ProtoMessage

func (*VLANSplitArg) ProtoMessage()

func (*VLANSplitArg) Reset

func (m *VLANSplitArg) Reset()

func (*VLANSplitArg) String

func (m *VLANSplitArg) String() string

type VPortArg

type VPortArg struct {
	Ifname string `protobuf:"bytes,1,opt,name=ifname" json:"ifname,omitempty"`
	// Types that are valid to be assigned to Cpid:
	//	*VPortArg_Docker
	//	*VPortArg_ContainerPid
	//	*VPortArg_Netns
	Cpid       isVPortArg_Cpid `protobuf_oneof:"cpid"`
	RxqCpus    []int64         `protobuf:"varint,5,rep,packed,name=rxq_cpus,json=rxqCpus" json:"rxq_cpus,omitempty"`
	TxTci      uint64          `protobuf:"varint,6,opt,name=tx_tci,json=txTci" json:"tx_tci,omitempty"`
	TxOuterTci uint64          `protobuf:"varint,7,opt,name=tx_outer_tci,json=txOuterTci" json:"tx_outer_tci,omitempty"`
	Loopback   bool            `protobuf:"varint,8,opt,name=loopback" json:"loopback,omitempty"`
	IpAddrs    []string        `protobuf:"bytes,9,rep,name=ip_addrs,json=ipAddrs" json:"ip_addrs,omitempty"`
}

func (*VPortArg) Descriptor

func (*VPortArg) Descriptor() ([]byte, []int)

func (*VPortArg) GetContainerPid

func (m *VPortArg) GetContainerPid() int64

func (*VPortArg) GetCpid

func (m *VPortArg) GetCpid() isVPortArg_Cpid

func (*VPortArg) GetDocker

func (m *VPortArg) GetDocker() string

func (*VPortArg) GetIfname

func (m *VPortArg) GetIfname() string

func (*VPortArg) GetIpAddrs

func (m *VPortArg) GetIpAddrs() []string

func (*VPortArg) GetLoopback

func (m *VPortArg) GetLoopback() bool

func (*VPortArg) GetNetns

func (m *VPortArg) GetNetns() string

func (*VPortArg) GetRxqCpus

func (m *VPortArg) GetRxqCpus() []int64

func (*VPortArg) GetTxOuterTci

func (m *VPortArg) GetTxOuterTci() uint64

func (*VPortArg) GetTxTci

func (m *VPortArg) GetTxTci() uint64

func (*VPortArg) ProtoMessage

func (*VPortArg) ProtoMessage()

func (*VPortArg) Reset

func (m *VPortArg) Reset()

func (*VPortArg) String

func (m *VPortArg) String() string

func (*VPortArg) XXX_OneofFuncs

func (*VPortArg) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

type VPortArg_ContainerPid

type VPortArg_ContainerPid struct {
	ContainerPid int64 `protobuf:"varint,3,opt,name=container_pid,json=containerPid,oneof"`
}

type VPortArg_Docker

type VPortArg_Docker struct {
	Docker string `protobuf:"bytes,2,opt,name=docker,oneof"`
}

type VPortArg_Netns

type VPortArg_Netns struct {
	Netns string `protobuf:"bytes,4,opt,name=netns,oneof"`
}

type VXLANDecapArg

type VXLANDecapArg struct {
}

* VXLANDecap module decapsulates a VXLAN header on a packet.

__Input Gates__: 1 __Output Gates__: 1

func (*VXLANDecapArg) Descriptor

func (*VXLANDecapArg) Descriptor() ([]byte, []int)

func (*VXLANDecapArg) ProtoMessage

func (*VXLANDecapArg) ProtoMessage()

func (*VXLANDecapArg) Reset

func (m *VXLANDecapArg) Reset()

func (*VXLANDecapArg) String

func (m *VXLANDecapArg) String() string

type VXLANEncapArg

type VXLANEncapArg struct {
	Dstport uint64 `protobuf:"varint,1,opt,name=dstport" json:"dstport,omitempty"`
}

* VXLANEncap module wraps a packet in a VXLAN header with a specified destination port.

__Input Gates__: 1 __Output Gates__: 1

func (*VXLANEncapArg) Descriptor

func (*VXLANEncapArg) Descriptor() ([]byte, []int)

func (*VXLANEncapArg) GetDstport

func (m *VXLANEncapArg) GetDstport() uint64

func (*VXLANEncapArg) ProtoMessage

func (*VXLANEncapArg) ProtoMessage()

func (*VXLANEncapArg) Reset

func (m *VXLANEncapArg) Reset()

func (*VXLANEncapArg) String

func (m *VXLANEncapArg) String() string

type VersionResponse

type VersionResponse struct {
	Error   *Error `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
	Version string `protobuf:"bytes,2,opt,name=version" json:"version,omitempty"`
}

func (*VersionResponse) Descriptor

func (*VersionResponse) Descriptor() ([]byte, []int)

func (*VersionResponse) GetError

func (m *VersionResponse) GetError() *Error

func (*VersionResponse) GetVersion

func (m *VersionResponse) GetVersion() string

func (*VersionResponse) ProtoMessage

func (*VersionResponse) ProtoMessage()

func (*VersionResponse) Reset

func (m *VersionResponse) Reset()

func (*VersionResponse) String

func (m *VersionResponse) String() string

type WildcardMatchArg

type WildcardMatchArg struct {
	Fields []*Field `protobuf:"bytes,1,rep,name=fields" json:"fields,omitempty"`
}

* The WildcardMatch module matches over multiple fields in a packet and pushes packets that do match out a specified gate, and those that don't out a default gate. WildcardMatch is initialized with the fields it should inspect over, rules are added via the `add(...)` function. An example of WildcardMatch is in [`bess/bessctl/conf/samples/wildcardmatch.bess`](https://github.com/NetSys/bess/blob/master/bessctl/conf/samples/wildcardmatch.bess)

__Input Gates__: 1 __Output Gates__: many (configurable)

func (*WildcardMatchArg) Descriptor

func (*WildcardMatchArg) Descriptor() ([]byte, []int)

func (*WildcardMatchArg) GetFields

func (m *WildcardMatchArg) GetFields() []*Field

func (*WildcardMatchArg) ProtoMessage

func (*WildcardMatchArg) ProtoMessage()

func (*WildcardMatchArg) Reset

func (m *WildcardMatchArg) Reset()

func (*WildcardMatchArg) String

func (m *WildcardMatchArg) String() string

type WildcardMatchCommandAddArg

type WildcardMatchCommandAddArg struct {
	Gate     uint64       `protobuf:"varint,1,opt,name=gate" json:"gate,omitempty"`
	Priority int64        `protobuf:"varint,2,opt,name=priority" json:"priority,omitempty"`
	Values   []*FieldData `protobuf:"bytes,3,rep,name=values" json:"values,omitempty"`
	Masks    []*FieldData `protobuf:"bytes,4,rep,name=masks" json:"masks,omitempty"`
}

* The module WildcardMatch has a command `add(...)` which inserts a new rule into the WildcardMatch module. For an example of code using WilcardMatch see `bess/bessctl/conf/samples/wildcardmatch.bess`.

func (*WildcardMatchCommandAddArg) Descriptor

func (*WildcardMatchCommandAddArg) Descriptor() ([]byte, []int)

func (*WildcardMatchCommandAddArg) GetGate

func (m *WildcardMatchCommandAddArg) GetGate() uint64

func (*WildcardMatchCommandAddArg) GetMasks

func (m *WildcardMatchCommandAddArg) GetMasks() []*FieldData

func (*WildcardMatchCommandAddArg) GetPriority

func (m *WildcardMatchCommandAddArg) GetPriority() int64

func (*WildcardMatchCommandAddArg) GetValues

func (m *WildcardMatchCommandAddArg) GetValues() []*FieldData

func (*WildcardMatchCommandAddArg) ProtoMessage

func (*WildcardMatchCommandAddArg) ProtoMessage()

func (*WildcardMatchCommandAddArg) Reset

func (m *WildcardMatchCommandAddArg) Reset()

func (*WildcardMatchCommandAddArg) String

func (m *WildcardMatchCommandAddArg) String() string

type WildcardMatchCommandClearArg

type WildcardMatchCommandClearArg struct {
}

* The function `clear()` for WildcardMatch takes no parameters, it clears all state in the WildcardMatch module (is equivalent to calling delete for all rules)

func (*WildcardMatchCommandClearArg) Descriptor

func (*WildcardMatchCommandClearArg) Descriptor() ([]byte, []int)

func (*WildcardMatchCommandClearArg) ProtoMessage

func (*WildcardMatchCommandClearArg) ProtoMessage()

func (*WildcardMatchCommandClearArg) Reset

func (m *WildcardMatchCommandClearArg) Reset()

func (*WildcardMatchCommandClearArg) String

type WildcardMatchCommandDeleteArg

type WildcardMatchCommandDeleteArg struct {
	Values []*FieldData `protobuf:"bytes,1,rep,name=values" json:"values,omitempty"`
	Masks  []*FieldData `protobuf:"bytes,2,rep,name=masks" json:"masks,omitempty"`
}

* The module WildcardMatch has a command `delete(...)` which removes a rule -- simply specify the values and masks from the previously inserted rule to remove them.

func (*WildcardMatchCommandDeleteArg) Descriptor

func (*WildcardMatchCommandDeleteArg) Descriptor() ([]byte, []int)

func (*WildcardMatchCommandDeleteArg) GetMasks

func (m *WildcardMatchCommandDeleteArg) GetMasks() []*FieldData

func (*WildcardMatchCommandDeleteArg) GetValues

func (m *WildcardMatchCommandDeleteArg) GetValues() []*FieldData

func (*WildcardMatchCommandDeleteArg) ProtoMessage

func (*WildcardMatchCommandDeleteArg) ProtoMessage()

func (*WildcardMatchCommandDeleteArg) Reset

func (m *WildcardMatchCommandDeleteArg) Reset()

func (*WildcardMatchCommandDeleteArg) String

type WildcardMatchCommandSetDefaultGateArg

type WildcardMatchCommandSetDefaultGateArg struct {
	Gate uint64 `protobuf:"varint,1,opt,name=gate" json:"gate,omitempty"`
}

* For traffic which does not match any rule in the WildcardMatch module, the `set_default_gate(...)` function specifies which gate to send this extra traffic to.

func (*WildcardMatchCommandSetDefaultGateArg) Descriptor

func (*WildcardMatchCommandSetDefaultGateArg) Descriptor() ([]byte, []int)

func (*WildcardMatchCommandSetDefaultGateArg) GetGate

func (*WildcardMatchCommandSetDefaultGateArg) ProtoMessage

func (*WildcardMatchCommandSetDefaultGateArg) ProtoMessage()

func (*WildcardMatchCommandSetDefaultGateArg) Reset

func (*WildcardMatchCommandSetDefaultGateArg) String

type WildcardMatchConfig

type WildcardMatchConfig struct {
	DefaultGate uint64                        `protobuf:"varint,1,opt,name=default_gate,json=defaultGate" json:"default_gate,omitempty"`
	Rules       []*WildcardMatchCommandAddArg `protobuf:"bytes,2,rep,name=rules" json:"rules,omitempty"`
}

* WildcardMatchConfig represents the current runtime configuration of a WildcardMatch module, as returned by get_runtime_config and set by set_runtime_config.

func (*WildcardMatchConfig) Descriptor

func (*WildcardMatchConfig) Descriptor() ([]byte, []int)

func (*WildcardMatchConfig) GetDefaultGate

func (m *WildcardMatchConfig) GetDefaultGate() uint64

func (*WildcardMatchConfig) GetRules

func (*WildcardMatchConfig) ProtoMessage

func (*WildcardMatchConfig) ProtoMessage()

func (*WildcardMatchConfig) Reset

func (m *WildcardMatchConfig) Reset()

func (*WildcardMatchConfig) String

func (m *WildcardMatchConfig) String() string

type WorkerSplitArg

type WorkerSplitArg struct {
	WorkerGates map[uint32]uint32 `` /* 163-byte string literal not displayed */
}

* WorkerSplit splits packets based on the worker calling ProcessBatch(). It has two modes.

  1. Packets from worker `x` are mapped to output gate `x`. This is the default mode.
  2. When the `worker_gates` field is set, packets from a worker `x` are mapped to `worker_gates[x]`. In this mode, packet batches from workers not mapped to an output gate will be dropped.

Calling the `reset` command with an empty `worker_gates` field will revert WorkerSplit to the default mode.

__Input Gates__: 1 __Output Gates__: many

func (*WorkerSplitArg) Descriptor

func (*WorkerSplitArg) Descriptor() ([]byte, []int)

func (*WorkerSplitArg) GetWorkerGates

func (m *WorkerSplitArg) GetWorkerGates() map[uint32]uint32

func (*WorkerSplitArg) ProtoMessage

func (*WorkerSplitArg) ProtoMessage()

func (*WorkerSplitArg) Reset

func (m *WorkerSplitArg) Reset()

func (*WorkerSplitArg) String

func (m *WorkerSplitArg) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL