-
Notifications
You must be signed in to change notification settings - Fork 16
Built In Modules and Ports
Justine Sherry edited this page Feb 13, 2017
·
24 revisions
The module_msg.proto file is stored in bess/protobuf/
and it supplies the glue between
bessd modules and bessctl modules. Whenever you call a function in bessctl, a corresponding function
is called on modules in bessd. This file lists all modules, their initialization parameters
and any functions that may be called on them. The communication between bessctl and bessd is handled by grpc and protobuf.
- module_msg.proto
- ACL()
- ACL().Rule
- BPF()
- BPF().Filter
- BPF.Clear()
- Buffer()
- Bypass()
- Dump()
- EtherEncap()
- ExactMatch()
- ExactMatch().Field
- ExactMatch.Add()
- ExactMatch.Clear()
- ExactMatch.Delete()
- ExactMatch.SetDefaultGate()
- FlowGen()
- GenericDecap()
- GenericEncap()
- GenericEncap().Field
- HashLB()
- HashLB.SetGates()
- HashLB.SetMode()
- IPEncap()
- IPLookup()
- IPLookup.Add()
- IPLookup.Clear()
- L2Forward()
- L2Forward.Add()
- L2Forward.Add().Entry
- L2Forward.Delete()
- L2Forward.Lookup()
- L2Forward.LookupResponse
- L2Forward.Populate()
- L2Forward.SetDefaultGate()
- MACSwap()
- Measure()
- Measure.GetSummary()
- Measure.GetSummaryResponse
- Merge()
- MetadataTest()
- MetadataTest().ReadEntry
- MetadataTest().UpdateEntry
- MetadataTest().WriteEntry
- NAT()
- NAT().Rule
- NoOp()
- PortInc()
- PortInc.SetBurst()
- PortOut()
- Queue()
- Queue.SetBurst()
- Queue.SetSize()
- QueueInc()
- QueueInc.SetBurst()
- QueueOut()
- RandomUpdate()
- RandomUpdate().Field
- RandomUpdate.Clear()
- Rewrite()
- Rewrite.Clear()
- RoundRobin()
- RoundRobin.SetGates()
- RoundRobin.SetMode()
- SetMetadata()
- SetMetadata().Attribute
- Sink()
- Source()
- Source.SetBurst()
- Source.SetPktSize()
- Split()
- Timestamp()
- Update()
- Update().Field
- Update.Clear()
- UrlFilter()
- UrlFilter().Url
- VLANPop()
- VLANPush()
- VLANSplit()
- VXLANDecap()
- VXLANEncap()
- WildcardMatch()
- WildcardMatch().Field
- WildcardMatch.Add()
- WildcardMatch.Clear()
- WildcardMatch.Delete()
- WildcardMatch.SetDefaultGate()
- Scalar Value Types
Field | Type | Label | Description |
---|---|---|---|
rules | ACL().Rule | repeated |
Field | Type | Label | Description |
---|---|---|---|
src_ip | string | optional | Source IP block in CIDR. Wildcard if "". |
dst_ip | string | optional | Destination IP block in CIDR. Wildcard if "". |
src_port | uint32 | optional | Source port: 80. Wildcard if 0. |
dst_port | uint32 | optional | Destination port. Wildcard if 0. |
established | bool | optional | Not implemented |
drop | bool | optional | Drop matched packets if true. |
Field | Type | Label | Description |
---|---|---|---|
filters | BPF().Filter | repeated |
Field | Type | Label | Description |
---|---|---|---|
priority | int64 | optional | |
filter | string | optional | |
gate | int64 | optional |
Field | Type | Label | Description |
---|
Field | Type | Label | Description |
---|
Field | Type | Label | Description |
---|
Field | Type | Label | Description |
---|---|---|---|
interval | double | optional |
Field | Type | Label | Description |
---|
Field | Type | Label | Description |
---|---|---|---|
fields | ExactMatch().Field | repeated |
Field | Type | Label | Description |
---|---|---|---|
size | uint64 | optional | |
mask | uint64 | optional | |
name | string | optional | |
offset | int64 | optional |
Field | Type | Label | Description |
---|---|---|---|
gate | uint64 | optional | The gate to forward out packets that mach this rule. |
fields | bytes | repeated | The exact match values to check for |
Field | Type | Label | Description |
---|
Field | Type | Label | Description |
---|---|---|---|
fields | bytes | repeated | The field values for the rule to be deleted. |
Field | Type | Label | Description |
---|---|---|---|
gate | uint64 | optional | The gate number to send the default traffic out. |
Field | Type | Label | Description |
---|---|---|---|
template | bytes | optional | |
pps | double | optional | |
flow_rate | double | optional | |
flow_duration | double | optional | |
arrival | string | optional | |
duration | string | optional | |
quick_rampup | bool | optional | |
ip_src_range | uint32 | optional | |
ip_dst_range | uint32 | optional | |
port_src_range | uint32 | optional | |
port_dst_range | uint32 | optional |
Field | Type | Label | Description |
---|---|---|---|
bytes | uint64 | optional |
Field | Type | Label | Description |
---|---|---|---|
fields | GenericEncap().Field | repeated |
Field | Type | Label | Description |
---|---|---|---|
size | uint64 | optional | |
attr_name | string | optional | |
value | uint64 | optional |
Field | Type | Label | Description |
---|---|---|---|
gates | int64 | repeated | |
mode | string | optional |
Field | Type | Label | Description |
---|---|---|---|
gates | int64 | repeated | A list of gate numbers to load balance traffic over |
Field | Type | Label | Description |
---|---|---|---|
mode | string | optional | What fields to hash over, l1, l2, or l3 are only valid values. |
Field | Type | Label | Description |
---|
Field | Type | Label | Description |
---|
Field | Type | Label | Description |
---|---|---|---|
prefix | string | optional | The CIDR IP part of the prefix to match |
prefix_len | uint64 | optional | The prefix length |
gate | uint64 | optional | The number of the gate to forward matching traffic on. |
Field | Type | Label | Description |
---|
Field | Type | Label | Description |
---|---|---|---|
size | int64 | optional | |
bucket | int64 | optional |
Field | Type | Label | Description |
---|---|---|---|
entries | L2Forward.Add().Entry | repeated |
Field | Type | Label | Description |
---|---|---|---|
addr | string | optional | The MAC address to match |
gate | int64 | optional | Which gate to send out traffic matching this address. |
Field | Type | Label | Description |
---|---|---|---|
addrs | string | repeated | The address to remove from the forwarding table |
Field | Type | Label | Description |
---|---|---|---|
addrs | string | repeated | The MAC address to query for |
Field | Type | Label | Description |
---|---|---|---|
gates | uint64 | repeated | The gate ID that the requested MAC address maps to |
Field | Type | Label | Description |
---|---|---|---|
base | string | optional | The base MAC address |
count | int64 | optional | How many addresses beyond base to populate into the routing table |
gate_count | int64 | optional | How many gates to create in the L2Forward module. |
Field | Type | Label | Description |
---|---|---|---|
gate | int64 | optional |
Field | Type | Label | Description |
---|
Field | Type | Label | Description |
---|---|---|---|
warmup | int64 | optional |
Field | Type | Label | Description |
---|
Field | Type | Label | Description |
---|---|---|---|
timestamp | double | optional | What time it is now? |
packets | uint64 | optional | The total number of packets seen by this module. |
bits | uint64 | optional | The total number of bits seen by this module. |
total_latency_ns | uint64 | optional | Sum of all round trip times across all packets |
latency_min_ns | uint64 | optional | The minimum latency for any packet observed by the Measure module. |
latency_avg_ns | uint64 | optional | The average latency for all packets. |
latency_max_ns | uint64 | optional | The max latency for any packet |
latency_50_ns | uint64 | optional | The 50th percentile latency over all packets |
latency_99_ns | uint64 | optional | The 99th percentile latency over all packets. |
Field | Type | Label | Description |
---|
Field | Type | Label | Description |
---|---|---|---|
read | MetadataTest().ReadEntry | repeated | |
write | MetadataTest().WriteEntry | repeated | |
update | MetadataTest().UpdateEntry | repeated |
Field | Type | Label | Description |
---|---|---|---|
key | string | optional | |
value | int64 | optional |
Field | Type | Label | Description |
---|---|---|---|
key | string | optional | |
value | int64 | optional |
Field | Type | Label | Description |
---|---|---|---|
key | string | optional | |
value | int64 | optional |
Field | Type | Label | Description |
---|---|---|---|
rules | NAT().Rule | repeated |
Field | Type | Label | Description |
---|---|---|---|
internal_addr_block | string | optional | Internal IP block in CIDR. |
external_addr_block | string | optional | External IP block in CIDR. |
Field | Type | Label | Description |
---|
Field | Type | Label | Description |
---|---|---|---|
port | string | optional | |
burst | int64 | optional | |
prefetch | bool | optional |
Field | Type | Label | Description |
---|---|---|---|
burst | int64 | optional | The maximum "burst" of packets (ie, the maximum batch size) |
Field | Type | Label | Description |
---|---|---|---|
port | string | optional |
Field | Type | Label | Description |
---|---|---|---|
size | uint64 | optional | |
burst | int64 | optional | |
prefetch | bool | optional |
Field | Type | Label | Description |
---|---|---|---|
burst | int64 | optional | The maximum "burst" of packets (ie, the maximum batch size) |
Field | Type | Label | Description |
---|---|---|---|
size | uint64 | optional | The maximum number of packets to store in the queue. |
Field | Type | Label | Description |
---|---|---|---|
port | string | optional | |
qid | uint64 | optional | |
burst | int64 | optional | |
prefetch | bool | optional |
Field | Type | Label | Description |
---|---|---|---|
burst | int64 | optional | The maximum "burst" of packets (ie, the maximum batch size) |
Field | Type | Label | Description |
---|---|---|---|
port | string | optional | |
qid | uint64 | optional |
Field | Type | Label | Description |
---|---|---|---|
fields | RandomUpdate().Field | repeated |
Field | Type | Label | Description |
---|---|---|---|
offset | int64 | optional | |
size | uint64 | optional | |
min | uint64 | optional | |
max | uint64 | optional |
Field | Type | Label | Description |
---|
Field | Type | Label | Description |
---|---|---|---|
templates | bytes | repeated |
Field | Type | Label | Description |
---|
Field | Type | Label | Description |
---|---|---|---|
gates | int64 | repeated | |
mode | string | optional |
Field | Type | Label | Description |
---|---|---|---|
gates | int64 | repeated |
Field | Type | Label | Description |
---|---|---|---|
mode | string | optional |
Field | Type | Label | Description |
---|---|---|---|
attrs | SetMetadata().Attribute | repeated |
Field | Type | Label | Description |
---|---|---|---|
name | string | optional | |
size | uint64 | optional | |
value_int | uint64 | optional | |
value_bin | bytes | optional | |
offset | int64 | optional |
Field | Type | Label | Description |
---|
Field | Type | Label | Description |
---|---|---|---|
pkt_size | uint64 | optional | |
burst | uint64 | optional |
Field | Type | Label | Description |
---|---|---|---|
burst | uint64 | optional |
Field | Type | Label | Description |
---|---|---|---|
pkt_size | uint64 | optional |
Field | Type | Label | Description |
---|---|---|---|
size | uint64 | optional | |
name | string | optional | |
offset | int64 | optional |
Field | Type | Label | Description |
---|
Field | Type | Label | Description |
---|---|---|---|
fields | Update().Field | repeated |
Field | Type | Label | Description |
---|---|---|---|
offset | int64 | optional | |
size | uint64 | optional | |
value | uint64 | optional |
Field | Type | Label | Description |
---|
Field | Type | Label | Description |
---|---|---|---|
blacklist | UrlFilter().Url | repeated |
Field | Type | Label | Description |
---|---|---|---|
host | string | optional | Host field, e.g. "www.google.com" |
path | string | optional | Path prefix, e.g. "/" |
Field | Type | Label | Description |
---|
Field | Type | Label | Description |
---|---|---|---|
tci | uint64 | optional |
Field | Type | Label | Description |
---|
Field | Type | Label | Description |
---|
Field | Type | Label | Description |
---|---|---|---|
dstport | uint64 | optional |
Field | Type | Label | Description |
---|---|---|---|
fields | WildcardMatch().Field | repeated |
Field | Type | Label | Description |
---|---|---|---|
size | uint64 | optional | |
offset | uint64 | optional | |
attribute | string | optional |
Field | Type | Label | Description |
---|---|---|---|
gate | uint64 | optional | The gate to direct traffic matching this rule to. |
priority | int64 | optional | If a packet matches multiple rules, the rule with higher priority will be applied. If priorities are equal behavior is undefined. |
values | uint64 | repeated | The values to check for in each fieild. |
masks | uint64 | repeated | The bitmask for each field -- set 0x0 to ignore the field altogether. |
Field | Type | Label | Description |
---|
Field | Type | Label | Description |
---|---|---|---|
values | uint64 | repeated | The values being checked for in the rule |
masks | uint64 | repeated | The bitmask from the rule. |
Field | Type | Label | Description |
---|---|---|---|
gate | uint64 | optional |
Copyright (c) 2014-2016, The Regents of the University of California. All rights reserved.
Copyright (c) 2016-2022, Nefeli Networks, Inc. All rights reserved.
Copyright (c) 2022-Present, Open Networking Foundation. All rights reserved.