public class CpqdOfdpa2Pipeline extends Ofdpa2Pipeline
Ofdpa2Pipeline.RetryFlowsACL_TABLE, appKryo, BRIDGING_TABLE, coreService, DEFAULT_PRIORITY, deviceId, deviceService, driverId, executorService, flowObjectiveStore, flowRuleService, groupHandler, groupService, HIGHEST_PRIORITY, LOWEST_PRIORITY, MAC_LEARNING_TABLE, MAX_RETRY_ATTEMPTS, MPLS_L2_PORT_FLOW_TABLE, MPLS_L2_PORT_PCP_TRUST_FLOW_TABLE, MPLS_L2_PORT_PRIORITY, MPLS_L3_TYPE_TABLE, MPLS_NNI_PORT_BASE, MPLS_NNI_PORT_MAX, MPLS_TABLE_0, MPLS_TABLE_1, MPLS_TUNNEL_ID_BASE, MPLS_TUNNEL_ID_MAX, MPLS_TYPE_TABLE, MPLS_UNI_PORT_MAX, MULTICAST_ROUTING_TABLE, OFPP_MAX, PORT_TABLE, RETRY_MS, sentIpFilters, serviceDirectory, TMAC_TABLE, UNICAST_ROUTING_TABLE, VLAN_1_TABLE, VLAN_TABLE| Constructor and Description |
|---|
CpqdOfdpa2Pipeline() |
| Modifier and Type | Method and Description |
|---|---|
void |
init(org.onosproject.net.DeviceId deviceId,
org.onosproject.net.behaviour.PipelinerContext context) |
protected void |
initializePipeline() |
protected void |
processAclTable() |
protected List<org.onosproject.net.flow.FlowRule> |
processEthDstFilter(org.onosproject.net.flow.criteria.PortCriterion portCriterion,
org.onosproject.net.flow.criteria.EthCriterion ethCriterion,
org.onosproject.net.flow.criteria.VlanIdCriterion vidCriterion,
org.onlab.packet.VlanId assignedVlan,
org.onosproject.core.ApplicationId applicationId)
Allows routed packets with correct destination MAC to be directed
to unicast-IP routing table or MPLS forwarding table.
|
protected List<org.onosproject.net.flow.FlowRule> |
processEthDstOnlyFilter(org.onosproject.net.flow.criteria.EthCriterion ethCriterion,
org.onosproject.core.ApplicationId applicationId) |
protected Collection<org.onosproject.net.flow.FlowRule> |
processEthDstSpecific(org.onosproject.net.flowobjective.ForwardingObjective fwd)
Handles forwarding rules to the L2 bridging table.
|
protected Collection<org.onosproject.net.flow.FlowRule> |
processEthTypeSpecific(org.onosproject.net.flowobjective.ForwardingObjective fwd)
Handles forwarding rules to the IP and MPLS tables.
|
protected void |
processFilter(org.onosproject.net.flowobjective.FilteringObjective filt,
boolean install,
org.onosproject.core.ApplicationId applicationId)
As per OFDPA 2.0 TTP, filtering of VLAN ids, MAC addresses (for routing)
and IP addresses configured on switch ports happen in different tables.
|
protected void |
processIpTable() |
protected void |
processMplsTable() |
protected void |
processMulticastIpTable() |
protected void |
processPortTable() |
protected void |
processTmacTable() |
protected Collection<org.onosproject.net.flow.FlowRule> |
processVersatile(org.onosproject.net.flowobjective.ForwardingObjective fwd)
In the OF-DPA 2.0 pipeline, versatile forwarding objectives go to the
ACL table.
|
protected List<org.onosproject.net.flow.FlowRule> |
processVlanIdFilter(org.onosproject.net.flow.criteria.PortCriterion portCriterion,
org.onosproject.net.flow.criteria.VlanIdCriterion vidCriterion,
org.onlab.packet.VlanId assignedVlan,
org.onosproject.core.ApplicationId applicationId)
Allows untagged packets into pipeline by assigning a vlan id.
|
buildIpv4Selector, defaultRoute, fail, filter, forward, getGroupForNextObjective, getNextMappings, next, pass, processEthTypeSpecificInternal, processMcastEthDstFilter, processSpecific, processVlanIdFilterInternal, readIpDstFromSelector, readVlanFromSelector, sendForwardhandler, setHandlerpublic void init(org.onosproject.net.DeviceId deviceId,
org.onosproject.net.behaviour.PipelinerContext context)
init in interface org.onosproject.net.behaviour.Pipelinerinit in class Ofdpa2Pipelineprotected void processFilter(org.onosproject.net.flowobjective.FilteringObjective filt,
boolean install,
org.onosproject.core.ApplicationId applicationId)
Ofdpa2PipelineprocessFilter in class Ofdpa2Pipelinefilt - the filtering objectiveinstall - indicates whether to add or remove the objectiveapplicationId - the application that sent this objectiveprotected List<org.onosproject.net.flow.FlowRule> processVlanIdFilter(org.onosproject.net.flow.criteria.PortCriterion portCriterion, org.onosproject.net.flow.criteria.VlanIdCriterion vidCriterion, org.onlab.packet.VlanId assignedVlan, org.onosproject.core.ApplicationId applicationId)
Ofdpa2PipelineprocessVlanIdFilter in class Ofdpa2PipelineportCriterion - port on device for which this filter is programmedvidCriterion - vlan assigned to port, or NONE for untaggedassignedVlan - assigned vlan-id for untagged packetsapplicationId - for application programming this filterprotected List<org.onosproject.net.flow.FlowRule> processEthDstFilter(org.onosproject.net.flow.criteria.PortCriterion portCriterion, org.onosproject.net.flow.criteria.EthCriterion ethCriterion, org.onosproject.net.flow.criteria.VlanIdCriterion vidCriterion, org.onlab.packet.VlanId assignedVlan, org.onosproject.core.ApplicationId applicationId)
Ofdpa2PipelineprocessEthDstFilter in class Ofdpa2PipelineportCriterion - port on device for which this filter is programmedethCriterion - dstMac of device for which is filter is programmedvidCriterion - vlan assigned to port, or NONE for untaggedassignedVlan - assigned vlan-id for untagged packetsapplicationId - for application programming this filterprotected List<org.onosproject.net.flow.FlowRule> processEthDstOnlyFilter(org.onosproject.net.flow.criteria.EthCriterion ethCriterion, org.onosproject.core.ApplicationId applicationId)
processEthDstOnlyFilter in class Ofdpa2Pipelineprotected Collection<org.onosproject.net.flow.FlowRule> processEthTypeSpecific(org.onosproject.net.flowobjective.ForwardingObjective fwd)
Ofdpa2PipelineprocessEthTypeSpecific in class Ofdpa2Pipelinefwd - the forwarding objectiveprotected Collection<org.onosproject.net.flow.FlowRule> processEthDstSpecific(org.onosproject.net.flowobjective.ForwardingObjective fwd)
Ofdpa2PipelineprocessEthDstSpecific in class Ofdpa2Pipelinefwd - the forwarding objectiveprotected Collection<org.onosproject.net.flow.FlowRule> processVersatile(org.onosproject.net.flowobjective.ForwardingObjective fwd)
Ofdpa2PipelineprocessVersatile in class Ofdpa2Pipelinefwd - the forwarding objective of type 'versatile'protected void initializePipeline()
initializePipeline in class Ofdpa2Pipelineprotected void processPortTable()
protected void processTmacTable()
protected void processIpTable()
protected void processMulticastIpTable()
protected void processMplsTable()
protected void processAclTable()