Package org.onosproject.net.flow
Class DefaultTrafficTreatment.Builder
- java.lang.Object
 - 
- org.onosproject.net.flow.DefaultTrafficTreatment.Builder
 
 
- 
- All Implemented Interfaces:
 TrafficTreatment.Builder
- Enclosing class:
 - DefaultTrafficTreatment
 
public static final class DefaultTrafficTreatment.Builder extends Object implements TrafficTreatment.Builder
Builds a list of treatments following the following order. Modifications -> Group -> Output (including drop) 
- 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DefaultTrafficTreatment.Builderadd(Instruction instruction)Adds an instruction to the builder.TrafficTreatment.BuilderaddTreatment(TrafficTreatment treatment)Add all instructions from another treatment.TrafficTreatmentbuild()Builds an immutable traffic treatment descriptor.DefaultTrafficTreatment.BuildercopyTtlIn()Copy the TTL to inner protocol layer.DefaultTrafficTreatment.BuildercopyTtlOut()Copy the TTL to outer protocol layer.DefaultTrafficTreatment.BuilderdecMplsTtl()Decrement MPLS TTL.DefaultTrafficTreatment.BuilderdecNwTtl()Decrement the TTL in IP header by one.DefaultTrafficTreatment.Builderdeferred()Any instructions followed by this method call will be deferred.DefaultTrafficTreatment.Builderdrop()Add a NOACTION when DROP instruction is explicitly specified.TrafficTreatment.Builderextension(ExtensionTreatment extension, DeviceId deviceId)Uses an extension treatment.DefaultTrafficTreatment.Buildergroup(GroupId groupId)Sets the group ID.DefaultTrafficTreatment.Builderimmediate()Any instructions followed by this method call will be immediate.TrafficTreatment.Buildermeter(MeterId meterId)Sets a meter to be used by this flow.DefaultTrafficTreatment.BuildernotWipeDeferred()the instruction to clear not wipe the deferred instructions set.DefaultTrafficTreatment.BuilderpiTableAction(PiTableAction piTableAction)Sets the protocol independent table action.DefaultTrafficTreatment.BuilderpopMpls()Pops MPLS ether type.DefaultTrafficTreatment.BuilderpopMpls(EthType etherType)Pops MPLS ether type and set the new ethertype.DefaultTrafficTreatment.BuilderpopVlan()Pops outermost VLAN tag.DefaultTrafficTreatment.Builderpunt()Adds a punt-to-controller instruction.DefaultTrafficTreatment.BuilderpushMpls()Push MPLS ether type.DefaultTrafficTreatment.BuilderpushVlan()Pushes a new VLAN tag.DefaultTrafficTreatment.BuilderpushVlan(EthType ethType)Pushes a new VLAN tag using the supplied Ethernet type.DefaultTrafficTreatment.BuildersetArpOp(short op)Sets the arp operation.DefaultTrafficTreatment.BuildersetArpSha(MacAddress addr)Sets the arp src mac address.DefaultTrafficTreatment.BuildersetArpSpa(IpAddress addr)Sets the arp src ip address.DefaultTrafficTreatment.BuildersetArpTha(MacAddress addr)Sets the arp dst mac address.DefaultTrafficTreatment.BuildersetArpTpa(IpAddress addr)Sets the arp dst ip address.DefaultTrafficTreatment.BuildersetEthDst(MacAddress addr)Sets the dst l2 address.DefaultTrafficTreatment.BuildersetEthSrc(MacAddress addr)Sets the src l2 address.TrafficTreatment.BuildersetIpDscp(byte dscpValue)Sets the IP DSCP field.DefaultTrafficTreatment.BuildersetIpDst(IpAddress addr)Sets the dst l3 address.DefaultTrafficTreatment.BuildersetIpSrc(IpAddress addr)Sets the src l3 address.DefaultTrafficTreatment.BuildersetMpls(MplsLabel mplsLabel)Sets the mpls label.DefaultTrafficTreatment.BuildersetMplsBos(boolean mplsBos)Sets the mpls bottom-of-stack indicator bit.DefaultTrafficTreatment.BuildersetOutput(PortNumber number)Set the output port.DefaultTrafficTreatment.BuildersetQueue(long queueId)Sets the Queue ID.DefaultTrafficTreatment.BuildersetQueue(long queueId, PortNumber port)Sets the Queue ID for a specific port.TrafficTreatment.BuildersetTcpDst(TpPort port)Sets the dst TCP port.TrafficTreatment.BuildersetTcpSrc(TpPort port)Sets the src TCP port.DefaultTrafficTreatment.BuildersetTunnelId(long tunnelId)Sets the tunnel id.TrafficTreatment.BuildersetUdpDst(TpPort port)Sets the dst UDP port.TrafficTreatment.BuildersetUdpSrc(TpPort port)Sets the src UDP port.DefaultTrafficTreatment.BuildersetVlanId(VlanId id)Sets the vlan id.DefaultTrafficTreatment.BuildersetVlanPcp(Byte pcp)Sets the vlan priority.TrafficTreatment.BuilderstatTrigger(Map<StatTriggerField,Long> statTriggerFieldMap, StatTriggerFlag statTriggerFlag)Add stat trigger instruction.DefaultTrafficTreatment.Buildertransition(Integer tableId)Sets the next table id to transition to.DefaultTrafficTreatment.BuilderwipeDeferred()Instructs the device to clear the deferred instructions set.DefaultTrafficTreatment.BuilderwriteMetadata(long metadata, long metadataMask)Writes metadata to associate with a packet. 
 - 
 
- 
- 
Method Detail
- 
add
public DefaultTrafficTreatment.Builder add(Instruction instruction)
Description copied from interface:TrafficTreatment.BuilderAdds an instruction to the builder.- Specified by:
 addin interfaceTrafficTreatment.Builder- Parameters:
 instruction- an instruction- Returns:
 - a treatment builder
 
 
- 
drop
public DefaultTrafficTreatment.Builder drop()
Add a NOACTION when DROP instruction is explicitly specified.- Specified by:
 dropin interfaceTrafficTreatment.Builder- Returns:
 - the traffic treatment builder
 
 
- 
punt
public DefaultTrafficTreatment.Builder punt()
Description copied from interface:TrafficTreatment.BuilderAdds a punt-to-controller instruction.- Specified by:
 puntin interfaceTrafficTreatment.Builder- Returns:
 - a treatment builder
 
 
- 
setOutput
public DefaultTrafficTreatment.Builder setOutput(PortNumber number)
Description copied from interface:TrafficTreatment.BuilderSet the output port.- Specified by:
 setOutputin interfaceTrafficTreatment.Builder- Parameters:
 number- the out port- Returns:
 - a treatment builder
 
 
- 
setEthSrc
public DefaultTrafficTreatment.Builder setEthSrc(MacAddress addr)
Description copied from interface:TrafficTreatment.BuilderSets the src l2 address.- Specified by:
 setEthSrcin interfaceTrafficTreatment.Builder- Parameters:
 addr- a macaddress- Returns:
 - a treatment builder
 
 
- 
setEthDst
public DefaultTrafficTreatment.Builder setEthDst(MacAddress addr)
Description copied from interface:TrafficTreatment.BuilderSets the dst l2 address.- Specified by:
 setEthDstin interfaceTrafficTreatment.Builder- Parameters:
 addr- a macaddress- Returns:
 - a treatment builder
 
 
- 
setVlanId
public DefaultTrafficTreatment.Builder setVlanId(VlanId id)
Description copied from interface:TrafficTreatment.BuilderSets the vlan id.- Specified by:
 setVlanIdin interfaceTrafficTreatment.Builder- Parameters:
 id- a vlanid- Returns:
 - a treatment builder
 
 
- 
setVlanPcp
public DefaultTrafficTreatment.Builder setVlanPcp(Byte pcp)
Description copied from interface:TrafficTreatment.BuilderSets the vlan priority.- Specified by:
 setVlanPcpin interfaceTrafficTreatment.Builder- Parameters:
 pcp- a vlan priority- Returns:
 - a treatment builder
 
 
- 
setIpSrc
public DefaultTrafficTreatment.Builder setIpSrc(IpAddress addr)
Description copied from interface:TrafficTreatment.BuilderSets the src l3 address.- Specified by:
 setIpSrcin interfaceTrafficTreatment.Builder- Parameters:
 addr- an ip- Returns:
 - a treatment builder
 
 
- 
setIpDst
public DefaultTrafficTreatment.Builder setIpDst(IpAddress addr)
Description copied from interface:TrafficTreatment.BuilderSets the dst l3 address.- Specified by:
 setIpDstin interfaceTrafficTreatment.Builder- Parameters:
 addr- an ip- Returns:
 - a treatment builder
 
 
- 
decNwTtl
public DefaultTrafficTreatment.Builder decNwTtl()
Description copied from interface:TrafficTreatment.BuilderDecrement the TTL in IP header by one.- Specified by:
 decNwTtlin interfaceTrafficTreatment.Builder- Returns:
 - a treatment builder
 
 
- 
copyTtlIn
public DefaultTrafficTreatment.Builder copyTtlIn()
Description copied from interface:TrafficTreatment.BuilderCopy the TTL to inner protocol layer.- Specified by:
 copyTtlInin interfaceTrafficTreatment.Builder- Returns:
 - a treatment builder
 
 
- 
copyTtlOut
public DefaultTrafficTreatment.Builder copyTtlOut()
Description copied from interface:TrafficTreatment.BuilderCopy the TTL to outer protocol layer.- Specified by:
 copyTtlOutin interfaceTrafficTreatment.Builder- Returns:
 - a treatment builder
 
 
- 
pushMpls
public DefaultTrafficTreatment.Builder pushMpls()
Description copied from interface:TrafficTreatment.BuilderPush MPLS ether type.- Specified by:
 pushMplsin interfaceTrafficTreatment.Builder- Returns:
 - a treatment builder
 
 
- 
popMpls
public DefaultTrafficTreatment.Builder popMpls()
Description copied from interface:TrafficTreatment.BuilderPops MPLS ether type.- Specified by:
 popMplsin interfaceTrafficTreatment.Builder- Returns:
 - a treatment builder
 
 
- 
popMpls
public DefaultTrafficTreatment.Builder popMpls(EthType etherType)
Description copied from interface:TrafficTreatment.BuilderPops MPLS ether type and set the new ethertype.- Specified by:
 popMplsin interfaceTrafficTreatment.Builder- Parameters:
 etherType- an ether type- Returns:
 - a treatment builder
 
 
- 
setMpls
public DefaultTrafficTreatment.Builder setMpls(MplsLabel mplsLabel)
Description copied from interface:TrafficTreatment.BuilderSets the mpls label.- Specified by:
 setMplsin interfaceTrafficTreatment.Builder- Parameters:
 mplsLabel- MPLS label- Returns:
 - a treatment builder
 
 
- 
setMplsBos
public DefaultTrafficTreatment.Builder setMplsBos(boolean mplsBos)
Description copied from interface:TrafficTreatment.BuilderSets the mpls bottom-of-stack indicator bit.- Specified by:
 setMplsBosin interfaceTrafficTreatment.Builder- Parameters:
 mplsBos- boolean to set BOS=1 (true) or BOS=0 (false)- Returns:
 - a treatment builder.
 
 
- 
decMplsTtl
public DefaultTrafficTreatment.Builder decMplsTtl()
Description copied from interface:TrafficTreatment.BuilderDecrement MPLS TTL.- Specified by:
 decMplsTtlin interfaceTrafficTreatment.Builder- Returns:
 - a treatment builder
 
 
- 
group
public DefaultTrafficTreatment.Builder group(GroupId groupId)
Description copied from interface:TrafficTreatment.BuilderSets the group ID.- Specified by:
 groupin interfaceTrafficTreatment.Builder- Parameters:
 groupId- group ID- Returns:
 - a treatment builder
 
 
- 
setQueue
public DefaultTrafficTreatment.Builder setQueue(long queueId)
Description copied from interface:TrafficTreatment.BuilderSets the Queue ID.- Specified by:
 setQueuein interfaceTrafficTreatment.Builder- Parameters:
 queueId- a queue ID- Returns:
 - a treatment builder
 
 
- 
setQueue
public DefaultTrafficTreatment.Builder setQueue(long queueId, PortNumber port)
Description copied from interface:TrafficTreatment.BuilderSets the Queue ID for a specific port.- Specified by:
 setQueuein interfaceTrafficTreatment.Builder- Parameters:
 queueId- a queue IDport- a port number- Returns:
 - a treatment builder
 
 
- 
meter
public TrafficTreatment.Builder meter(MeterId meterId)
Description copied from interface:TrafficTreatment.BuilderSets a meter to be used by this flow.- Specified by:
 meterin interfaceTrafficTreatment.Builder- Parameters:
 meterId- a meter id- Returns:
 - a treatment builder
 
 
- 
popVlan
public DefaultTrafficTreatment.Builder popVlan()
Description copied from interface:TrafficTreatment.BuilderPops outermost VLAN tag.- Specified by:
 popVlanin interfaceTrafficTreatment.Builder- Returns:
 - a treatment builder
 
 
- 
pushVlan
public DefaultTrafficTreatment.Builder pushVlan()
Description copied from interface:TrafficTreatment.BuilderPushes a new VLAN tag.- Specified by:
 pushVlanin interfaceTrafficTreatment.Builder- Returns:
 - a treatment builder
 
 
- 
pushVlan
public DefaultTrafficTreatment.Builder pushVlan(EthType ethType)
Description copied from interface:TrafficTreatment.BuilderPushes a new VLAN tag using the supplied Ethernet type.- Specified by:
 pushVlanin interfaceTrafficTreatment.Builder- Parameters:
 ethType- ethernet type- Returns:
 - a treatment builder
 
 
- 
transition
public DefaultTrafficTreatment.Builder transition(Integer tableId)
Description copied from interface:TrafficTreatment.BuilderSets the next table id to transition to.- Specified by:
 transitionin interfaceTrafficTreatment.Builder- Parameters:
 tableId- the table table- Returns:
 - a treatement builder
 
 
- 
immediate
public DefaultTrafficTreatment.Builder immediate()
Description copied from interface:TrafficTreatment.BuilderAny instructions followed by this method call will be immediate.- Specified by:
 immediatein interfaceTrafficTreatment.Builder- Returns:
 - a treatment builder
 
 
- 
deferred
public DefaultTrafficTreatment.Builder deferred()
Description copied from interface:TrafficTreatment.BuilderAny instructions followed by this method call will be deferred.- Specified by:
 deferredin interfaceTrafficTreatment.Builder- Returns:
 - a treatment builder
 
 
- 
wipeDeferred
public DefaultTrafficTreatment.Builder wipeDeferred()
Description copied from interface:TrafficTreatment.BuilderInstructs the device to clear the deferred instructions set.- Specified by:
 wipeDeferredin interfaceTrafficTreatment.Builder- Returns:
 - a treatment builder
 
 
- 
notWipeDeferred
public DefaultTrafficTreatment.Builder notWipeDeferred()
Description copied from interface:TrafficTreatment.Builderthe instruction to clear not wipe the deferred instructions set.- Specified by:
 notWipeDeferredin interfaceTrafficTreatment.Builder- Returns:
 - a treatment builder
 
 
- 
writeMetadata
public DefaultTrafficTreatment.Builder writeMetadata(long metadata, long metadataMask)
Description copied from interface:TrafficTreatment.BuilderWrites metadata to associate with a packet.new_metadata = (old_metadata & ̃mask) | (value & mask)- Specified by:
 writeMetadatain interfaceTrafficTreatment.Builder- Parameters:
 metadata- the metadata to writemetadataMask- the masked bits for the value- Returns:
 - a treatment builder
 
 
- 
setTunnelId
public DefaultTrafficTreatment.Builder setTunnelId(long tunnelId)
Description copied from interface:TrafficTreatment.BuilderSets the tunnel id.- Specified by:
 setTunnelIdin interfaceTrafficTreatment.Builder- Parameters:
 tunnelId- a tunnel id- Returns:
 - a treatment builder
 
 
- 
setTcpSrc
public TrafficTreatment.Builder setTcpSrc(TpPort port)
Description copied from interface:TrafficTreatment.BuilderSets the src TCP port.- Specified by:
 setTcpSrcin interfaceTrafficTreatment.Builder- Parameters:
 port- a port number- Returns:
 - a treatment builder
 
 
- 
setTcpDst
public TrafficTreatment.Builder setTcpDst(TpPort port)
Description copied from interface:TrafficTreatment.BuilderSets the dst TCP port.- Specified by:
 setTcpDstin interfaceTrafficTreatment.Builder- Parameters:
 port- a port number- Returns:
 - a treatment builder
 
 
- 
setUdpSrc
public TrafficTreatment.Builder setUdpSrc(TpPort port)
Description copied from interface:TrafficTreatment.BuilderSets the src UDP port.- Specified by:
 setUdpSrcin interfaceTrafficTreatment.Builder- Parameters:
 port- a port number- Returns:
 - a treatment builder
 
 
- 
setUdpDst
public TrafficTreatment.Builder setUdpDst(TpPort port)
Description copied from interface:TrafficTreatment.BuilderSets the dst UDP port.- Specified by:
 setUdpDstin interfaceTrafficTreatment.Builder- Parameters:
 port- a port number- Returns:
 - a treatment builder
 
 
- 
setArpSpa
public DefaultTrafficTreatment.Builder setArpSpa(IpAddress addr)
Description copied from interface:TrafficTreatment.BuilderSets the arp src ip address.- Specified by:
 setArpSpain interfaceTrafficTreatment.Builder- Parameters:
 addr- an ip- Returns:
 - a treatment builder
 
 
- 
setArpSha
public DefaultTrafficTreatment.Builder setArpSha(MacAddress addr)
Description copied from interface:TrafficTreatment.BuilderSets the arp src mac address.- Specified by:
 setArpShain interfaceTrafficTreatment.Builder- Parameters:
 addr- a macaddress- Returns:
 - a treatment builder
 
 
- 
setArpTpa
public DefaultTrafficTreatment.Builder setArpTpa(IpAddress addr)
Description copied from interface:TrafficTreatment.BuilderSets the arp dst ip address.- Specified by:
 setArpTpain interfaceTrafficTreatment.Builder- Parameters:
 addr- an ip- Returns:
 - a treatment builder
 
 
- 
setArpTha
public DefaultTrafficTreatment.Builder setArpTha(MacAddress addr)
Description copied from interface:TrafficTreatment.BuilderSets the arp dst mac address.- Specified by:
 setArpThain interfaceTrafficTreatment.Builder- Parameters:
 addr- a macaddress- Returns:
 - a treatment builder
 
 
- 
setArpOp
public DefaultTrafficTreatment.Builder setArpOp(short op)
Description copied from interface:TrafficTreatment.BuilderSets the arp operation.- Specified by:
 setArpOpin interfaceTrafficTreatment.Builder- Parameters:
 op- the value of arp operation.- Returns:
 - a treatment builder.
 
 
- 
piTableAction
public DefaultTrafficTreatment.Builder piTableAction(PiTableAction piTableAction)
Description copied from interface:TrafficTreatment.BuilderSets the protocol independent table action.- Specified by:
 piTableActionin interfaceTrafficTreatment.Builder- Parameters:
 piTableAction- protocol-independent table action- Returns:
 - a treatment builder.
 
 
- 
setIpDscp
public TrafficTreatment.Builder setIpDscp(byte dscpValue)
Description copied from interface:TrafficTreatment.BuilderSets the IP DSCP field.- Specified by:
 setIpDscpin interfaceTrafficTreatment.Builder- Parameters:
 dscpValue- the DSCP value- Returns:
 - a treatment builder.
 
 
- 
extension
public TrafficTreatment.Builder extension(ExtensionTreatment extension, DeviceId deviceId)
Description copied from interface:TrafficTreatment.BuilderUses an extension treatment.- Specified by:
 extensionin interfaceTrafficTreatment.Builder- Parameters:
 extension- extension treatmentdeviceId- device ID- Returns:
 - a treatment builder
 
 
- 
statTrigger
public TrafficTreatment.Builder statTrigger(Map<StatTriggerField,Long> statTriggerFieldMap, StatTriggerFlag statTriggerFlag)
Description copied from interface:TrafficTreatment.BuilderAdd stat trigger instruction.- Specified by:
 statTriggerin interfaceTrafficTreatment.Builder- Parameters:
 statTriggerFieldMap- defines stat trigger constraintsstatTriggerFlag- describes which circumstances that start will be triggered- Returns:
 - a treatment builder
 
 
- 
addTreatment
public TrafficTreatment.Builder addTreatment(TrafficTreatment treatment)
Description copied from interface:TrafficTreatment.BuilderAdd all instructions from another treatment.- Specified by:
 addTreatmentin interfaceTrafficTreatment.Builder- Parameters:
 treatment- another treatment- Returns:
 - a treatment builder
 
 
- 
build
public TrafficTreatment build()
Description copied from interface:TrafficTreatment.BuilderBuilds an immutable traffic treatment descriptor.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().- Specified by:
 buildin interfaceTrafficTreatment.Builder- Returns:
 - traffic treatment
 
 
 - 
 
 -