public static interface TrafficTreatment.Builder
Modifier and Type | Method and Description |
---|---|
TrafficTreatment.Builder |
add(Instruction instruction)
Adds an instruction to the builder.
|
TrafficTreatment.Builder |
addTreatment(TrafficTreatment treatment)
Add all instructions from another treatment.
|
TrafficTreatment |
build()
Builds an immutable traffic treatment descriptor.
|
TrafficTreatment.Builder |
copyTtlIn()
Copy the TTL to inner protocol layer.
|
TrafficTreatment.Builder |
copyTtlOut()
Copy the TTL to outer protocol layer.
|
TrafficTreatment.Builder |
decMplsTtl()
Decrement MPLS TTL.
|
TrafficTreatment.Builder |
decNwTtl()
Decrement the TTL in IP header by one.
|
TrafficTreatment.Builder |
deferred()
Any instructions preceded by this method call will be deferred.
|
TrafficTreatment.Builder |
drop()
Adds a drop instruction.
|
TrafficTreatment.Builder |
extension(ExtensionTreatment extension,
DeviceId deviceId)
Uses an extension treatment.
|
TrafficTreatment.Builder |
group(GroupId groupId)
Sets the group ID.
|
TrafficTreatment.Builder |
immediate()
Any instructions preceded by this method call will be immediate.
|
TrafficTreatment.Builder |
meter(MeterId meterId)
Sets a meter to be used by this flow.
|
TrafficTreatment.Builder |
notWipeDeferred()
the instruction to clear not wipe the deferred instructions set.
|
TrafficTreatment.Builder |
piTableAction(PiTableAction piTableAction)
Sets the protocol independent table action.
|
TrafficTreatment.Builder |
popMpls()
Pops MPLS ether type.
|
TrafficTreatment.Builder |
popMpls(EthType etherType)
Pops MPLS ether type and set the new ethertype.
|
TrafficTreatment.Builder |
popVlan()
Pops outermost VLAN tag.
|
TrafficTreatment.Builder |
punt()
Adds a punt-to-controller instruction.
|
TrafficTreatment.Builder |
pushMpls()
Push MPLS ether type.
|
TrafficTreatment.Builder |
pushVlan()
Pushes a new VLAN tag.
|
TrafficTreatment.Builder |
pushVlan(EthType ethType)
Pushes a new VLAN tag using the supplied Ethernet type.
|
TrafficTreatment.Builder |
setArpOp(short op)
Sets the arp operation.
|
TrafficTreatment.Builder |
setArpSha(MacAddress addr)
Sets the arp src mac address.
|
TrafficTreatment.Builder |
setArpSpa(IpAddress addr)
Sets the arp src ip address.
|
TrafficTreatment.Builder |
setEthDst(MacAddress addr)
Sets the dst l2 address.
|
TrafficTreatment.Builder |
setEthSrc(MacAddress addr)
Sets the src l2 address.
|
TrafficTreatment.Builder |
setIpDscp(byte dscpValue)
Sets the IP DSCP field.
|
TrafficTreatment.Builder |
setIpDst(IpAddress addr)
Sets the dst l3 address.
|
TrafficTreatment.Builder |
setIpSrc(IpAddress addr)
Sets the src l3 address.
|
TrafficTreatment.Builder |
setMpls(MplsLabel mplsLabel)
Sets the mpls label.
|
TrafficTreatment.Builder |
setMplsBos(boolean mplsBos)
Sets the mpls bottom-of-stack indicator bit.
|
TrafficTreatment.Builder |
setOutput(PortNumber number)
Set the output port.
|
TrafficTreatment.Builder |
setQueue(long queueId)
Sets the Queue ID.
|
TrafficTreatment.Builder |
setQueue(long queueId,
PortNumber port)
Sets the Queue ID for a specific port.
|
TrafficTreatment.Builder |
setTcpDst(TpPort port)
Sets the dst TCP port.
|
TrafficTreatment.Builder |
setTcpSrc(TpPort port)
Sets the src TCP port.
|
TrafficTreatment.Builder |
setTunnelId(long tunnelId)
Sets the tunnel id.
|
TrafficTreatment.Builder |
setUdpDst(TpPort port)
Sets the dst UDP port.
|
TrafficTreatment.Builder |
setUdpSrc(TpPort port)
Sets the src UDP port.
|
TrafficTreatment.Builder |
setVlanId(VlanId id)
Sets the vlan id.
|
TrafficTreatment.Builder |
setVlanPcp(Byte pcp)
Sets the vlan priority.
|
TrafficTreatment.Builder |
statTrigger(Map<StatTriggerField,Long> statTriggerFieldMap,
StatTriggerFlag statTriggerFlag)
Add stat trigger instruction.
|
TrafficTreatment.Builder |
transition(Integer tableId)
Sets the next table id to transition to.
|
TrafficTreatment.Builder |
wipeDeferred()
Instructs the device to clear the deferred instructions set.
|
TrafficTreatment.Builder |
writeMetadata(long value,
long mask)
Writes metadata to associate with a packet.
|
TrafficTreatment.Builder add(Instruction instruction)
instruction
- an instructionTrafficTreatment.Builder drop()
TrafficTreatment.Builder punt()
TrafficTreatment.Builder setOutput(PortNumber number)
number
- the out portTrafficTreatment.Builder setEthSrc(MacAddress addr)
addr
- a macaddressTrafficTreatment.Builder setEthDst(MacAddress addr)
addr
- a macaddressTrafficTreatment.Builder setVlanId(VlanId id)
id
- a vlanidTrafficTreatment.Builder setVlanPcp(Byte pcp)
pcp
- a vlan priorityTrafficTreatment.Builder setIpSrc(IpAddress addr)
addr
- an ipTrafficTreatment.Builder setIpDst(IpAddress addr)
addr
- an ipTrafficTreatment.Builder decNwTtl()
TrafficTreatment.Builder copyTtlOut()
TrafficTreatment.Builder copyTtlIn()
TrafficTreatment.Builder pushMpls()
TrafficTreatment.Builder popMpls()
TrafficTreatment.Builder popMpls(EthType etherType)
etherType
- an ether typeTrafficTreatment.Builder setMpls(MplsLabel mplsLabel)
mplsLabel
- MPLS labelTrafficTreatment.Builder setMplsBos(boolean mplsBos)
mplsBos
- boolean to set BOS=1 (true) or BOS=0 (false)TrafficTreatment.Builder decMplsTtl()
TrafficTreatment.Builder group(GroupId groupId)
groupId
- group IDTrafficTreatment.Builder setQueue(long queueId)
queueId
- a queue IDTrafficTreatment.Builder setQueue(long queueId, PortNumber port)
queueId
- a queue IDport
- a port numberTrafficTreatment.Builder meter(MeterId meterId)
meterId
- a meter idTrafficTreatment.Builder transition(Integer tableId)
tableId
- the table tableTrafficTreatment.Builder popVlan()
TrafficTreatment.Builder pushVlan()
TrafficTreatment.Builder pushVlan(EthType ethType)
ethType
- ethernet typeTrafficTreatment.Builder deferred()
TrafficTreatment.Builder immediate()
TrafficTreatment.Builder wipeDeferred()
TrafficTreatment.Builder notWipeDeferred()
TrafficTreatment.Builder writeMetadata(long value, long mask)
new_metadata = (old_metadata & ̃mask) | (value & mask)
value
- the metadata to writemask
- the masked bits for the valueTrafficTreatment.Builder setTunnelId(long tunnelId)
tunnelId
- a tunnel idTrafficTreatment.Builder setTcpSrc(TpPort port)
port
- a port numberTrafficTreatment.Builder setTcpDst(TpPort port)
port
- a port numberTrafficTreatment.Builder setUdpSrc(TpPort port)
port
- a port numberTrafficTreatment.Builder setUdpDst(TpPort port)
port
- a port numberTrafficTreatment.Builder setArpSpa(IpAddress addr)
addr
- an ipTrafficTreatment.Builder setArpSha(MacAddress addr)
addr
- a macaddressTrafficTreatment.Builder setArpOp(short op)
op
- the value of arp operation.@Beta TrafficTreatment.Builder piTableAction(PiTableAction piTableAction)
piTableAction
- protocol-independent table actionTrafficTreatment.Builder setIpDscp(byte dscpValue)
dscpValue
- the DSCP valueTrafficTreatment.Builder extension(ExtensionTreatment extension, DeviceId deviceId)
extension
- extension treatmentdeviceId
- device IDTrafficTreatment.Builder statTrigger(Map<StatTriggerField,Long> statTriggerFieldMap, StatTriggerFlag statTriggerFlag)
statTriggerFieldMap
- defines stat trigger constraintsstatTriggerFlag
- describes which circumstances that start will be triggeredTrafficTreatment.Builder addTreatment(TrafficTreatment treatment)
treatment
- another treatmentTrafficTreatment build()
If the treatment is empty when build() is called, it will add a default
drop rule automatically. For a treatment that is actually empty, use
DefaultTrafficTreatment.emptyTreatment()
.