public class SfcOfFlowProgrammerImpl extends Object implements SfcOfFlowProgrammerInterface
| Constructor and Description |
|---|
SfcOfFlowProgrammerImpl() |
SfcOfFlowProgrammerImpl(SfcOfFlowWriterInterface sfcOfFlowWriter) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
compareClassificationTableCookie(org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.FlowCookie cookie)
Check if the given cookie belongs to the Classification table.
|
void |
configureArpTransportIngressFlow(String sffNodeName,
String mac)
Create an ARP responder flow in the Transport Ingress table.
|
void |
configureClassifierTableDpdkInput(String sffNodeName,
Long inPort)
Set DPDK input flow in the Classifier table for OVS DPDK.
|
void |
configureClassifierTableDpdkOutput(String sffNodeName,
Long outPort)
Set DPDK output flow in the Classifier table for OVS DPDK.
|
void |
configureClassifierTableMatchAny(String sffNodeName)
Set the match any flow in the Classifier table to go to the Transport
Ingress table.
|
void |
configureGroup(String sffNodeName,
String openflowNodeId,
String sfgName,
long sfgId,
int groupType,
List<GroupBucketInfo> bucketInfos,
boolean isAddGroup) |
void |
configureGroupNextHopFlow(String sffNodeName,
long sfpId,
String srcMac,
long groupId,
String groupName) |
void |
configureIpv4TransportIngressFlow(String sffNodeName)
Configure IPv4 Transport Ingress flows.
|
void |
configureMacChainingNextHopFlow(String sffNodeName,
String vmac,
String dstSfMac,
String nextVMac,
boolean l2Transparent)
Configure the Next Hop by matching on the virtual MAC address containing path and hop ID
for MAC chaining encapsulation.
|
void |
configureMacChainingSfTransportEgressFlow(String sffNodeName,
String dstMac,
String port,
String vmac) |
void |
configureMacChainingTransportIngressFlow(String sffNodeName)
Configure a Transport Ingress flow.
|
void |
configureMacNextHopFlow(String sffNodeName,
long pathId,
String srcMac,
String dstMac)
Configure the MAC/VLAN Next Hop by matching on the SrcMac and on the
pathId stored in the metadata.
|
void |
configureMplsLastHopTransportEgressFlow(String sffNodeName,
String srcMac,
String dstMac,
long mplsLabel,
String port,
long pathId)
Configure the MPLS Last Hop Transport Egress flow by matching on the RSP
path ID in the metadata.
|
void |
configureMplsPathMapperFlow(String sffNodeName,
long mplsLabel,
long pathId,
boolean isSf)
Create an MPLS Path Mapper flow.
|
void |
configureMplsTransportEgressFlow(String sffNodeName,
String srcMac,
String dstMac,
long mplsLabel,
String port,
long pathId)
Configure the MPLS Transport Egress flow by matching on the RSP path ID
in the metadata.
|
void |
configureMplsTransportEgressFlow(String sffNodeName,
String srcMac,
String dstMac,
long mplsLabel,
String port,
long pathId,
String cookieStr)
Internal Util method used for above MPLS Transport Egress methods.
|
void |
configureMplsTransportIngressFlow(String sffNodeName)
Configure an MPLS Transport Ingress flow, by matching on EtherType MPLS
Ucast.
|
void |
configureNextHopTableMatchAny(String sffNodeName)
Set the match any flow in the Next Hop table to go to the Transport
Egress table.
|
void |
configureNshEthLastHopTransportEgressFlow(String sffNodeName,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress sffIpAddress,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress sfMacAddress,
long nshNsp,
short nshNsi)
Used by logical sff processor in order to write chain egress flows.
|
void |
configureNshEthNextHopFlow(String sffNodeName,
String srcMac,
String dstMac,
long nsp,
short nsi)
Configure the NshEth Next Hop by matching on the NSH pathId and index
stored in the NSH header.
|
void |
configureNshEthTransportEgressFlow(String sffOpenflowNodeName,
long nsp,
short nsi,
List<org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.Action> actionList,
String flowName)
Configure transport egress flows, using a list of externally provided
actions.
|
void |
configureNshEthTransportEgressFlow(String sffNodeName,
long nshNsp,
short nshNsi,
String port)
Configure the NSH Ethernet Transport Egress flow by matching on the NSP
and NSI.
|
void |
configureNshNscTransportEgressFlow(String sffNodeName,
long nshNsp,
short nshNsi,
String port)
For NSH, Return the packet to INPORT if the NSH Nsc1 Register is not
present (==0) If it is present, it will be handled by the flow created in
ConfigureTransportEgressFlowThread() This flow will have a higher
priority than the flow created in ConfigureTransportEgressFlowThread().
|
void |
configureNshVxgpeAppCoexistTransportEgressFlow(String sffNodeName,
long nshNsp,
short nshNsi,
String sffIp) |
void |
configureNshVxgpeLastHopTransportEgressFlow(String sffNodeName,
long nshNsp,
short nshNsi,
String port)
Configure the VxLAN GPE NSH Transport Egress flow by matching on the NSP
and NSI.
|
void |
configureNshVxgpeNextHopFlow(String sffNodeName,
String dstIp,
String nshProxyIp,
long nshNsp,
short nshNsi)
Configure the NshVxgpe NSH Next Hop by matching on the NSH pathId and
index stored in the NSH header.
|
void |
configureNshVxgpeSfLoopbackEncapsulatedEgressFlow(String sffNodeName,
String sfIp,
short vxlanUdpPort,
long sffPort) |
void |
configureNshVxgpeSfReturnLoopbackIngressFlow(String sffNodeName,
short vxlanUdpPort,
long sffPort) |
void |
configureNshVxgpeTransportEgressFlow(String sffNodeName,
long nshNsp,
short nshNsi,
String port) |
void |
configureNshVxgpeTransportIngressFlow(String sffNodeName,
long nshNsp,
short nshNsi)
Configure a NshVxgpe Transport Ingress flow, by matching on EtherType
IPv4.
|
void |
configurePathMapperAclFlow(String sffNodeName,
String pktSrcIpStr,
String pktDstIpStr,
short pathId)
This table is populated as a result of PktIn for TCP Proxy SFs.
|
void |
configurePathMapperAclTableMatchAny(String sffNodeName)
Set the match any flow in the Path Mapper ACL table to go to the Next Hop
table.
|
void |
configurePathMapperTableMatchAny(String sffNodeName)
Set the match any flow in the Path Mapper table to go to the Path Mapper
ACL table.
|
void |
configureTransportEgressTableMatchAny(String sffNodeName)
Set the match any flow in the Transport Egress table to drop.
|
void |
configureTransportEgressTableMatchAnyResubmit(String sffNodeName,
short nextTableId)
Set the match any flow in the Transport Egress table to resubmit.
|
void |
configureTransportIngressTableMatchAny(String sffNodeName)
Set the match any flow in the Transport Ingress table to drop.
|
void |
configureTransportIngressTableMatchAnyResubmit(String sffNodeName,
short nextTableId)
Set the match any flow in the Transport Ingress table to resubmit.
|
void |
configureVlanLastHopTransportEgressFlow(String sffNodeName,
String srcMac,
String dstMac,
int dstVlan,
String port,
long pathId)
Configure the VLAN LastHop Transport Egress flow by matching on the RSP
path ID in the metadata.
|
void |
configureVlanPathMapperFlow(String sffNodeName,
int vlan,
long pathId,
boolean isSf)
Create a VLAN Path Mapper flow.
|
void |
configureVlanSfTransportEgressFlow(String sffNodeName,
String srcMac,
String dstMac,
int dstVlan,
String port,
long pathId,
boolean doPktin) |
void |
configureVlanTransportEgressFlow(String sffNodeName,
String srcMac,
String dstMac,
int dstVlan,
String port,
long pathId)
Configure the VLAN Transport Egress flow by matching on the RSP path ID
in the metadata.
|
void |
configureVlanTransportEgressFlow(String sffNodeName,
String srcMac,
String dstMac,
int dstVlan,
String port,
long pathId,
String cookieStr)
Internal Util method used for above VLAN Transport Egress methods.
|
void |
configureVlanTransportIngressFlow(String sffNodeName)
Configure a VLAN Transport Ingress flow.
|
Set<org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId> |
deleteRspFlows(long rspId)
Deletes all flows created for a particular RSP and removes initialization
flows from SFFs if the last RSP was removed.
|
void |
flushFlows() |
short |
getMaxTableOffset() |
short |
getTableBase() |
short |
getTableEgress() |
void |
purgeFlows() |
void |
setFlowRspId(Long rspId) |
void |
setFlowWriter(SfcOfFlowWriterInterface sfcOfFlowWriter) |
void |
setTableBase(short tableBase) |
void |
setTableEgress(short tableEgress) |
void |
setTableIndexMapper(SfcTableIndexMapper tableIndexMapper)
Setter for the table index mapper (class which provides the tables to use
for Genius-based application coexistence).
|
void |
shutdown() |
public static final int COOKIE_BIGINT_HEX_RADIX
public static final String TRANSPORT_EGRESS_COOKIE_STR_BASE
public static final String TRANSPORT_EGRESS_NSH_VXGPE_COOKIE
public static final String TRANSPORT_EGRESS_NSH_VXGPE_NSC_COOKIE
public static final String TRANSPORT_EGRESS_NSH_VXGPE_LASTHOP_COOKIE
public static final String TRANSPORT_EGRESS_NSH_VXGPE_APPCOEXIST_COOKIE
public static final String TRANSPORT_EGRESS_NSH_ETH_COOKIE
public static final String TRANSPORT_EGRESS_NSH_ETH_LOGICAL_COOKIE
public static final String TRANSPORT_EGRESS_NSH_ETH_LASTHOP_PIPELINE_COOKIE
public static final String TRANSPORT_EGRESS_NSH_ETH_LASTHOP_TUNNEL_REMOTE_COOKIE
public static final String TRANSPORT_EGRESS_NSH_ETH_LASTHOP_TUNNEL_LOCAL_COOKIE
public static final String TRANSPORT_EGRESS_NSH_ETH_LASTHOP_NSH_REMOTE_COOKIE
public static final String TRANSPORT_EGRESS_NSH_ETH_LASTHOP_NSH_LOCAL_COOKIE
public static final String TRANSPORT_EGRESS_VLAN_COOKIE
public static final String TRANSPORT_EGRESS_VLAN_SF_COOKIE
public static final String TRANSPORT_EGRESS_VLAN_LASTHOP_COOKIE
public static final String TRANSPORT_EGRESS_MPLS_COOKIE
public static final String TRANSPORT_EGRESS_MPLS_LASTHOP_COOKIE
public static final String TRANSPORT_EGRESS_MAX_COOKIE
public static final String FLOW_NAME_DELIMITER
public static final String FLOW_NAME_MATCH_ANY
public static final String FLOW_NAME_MATCH_ANY_DROP
public static final String FLOW_NAME_MATCH_ANY_RESUBMIT
public static final String FLOW_NAME_CLASS_DPDK_OUT
public static final String FLOW_NAME_CLASS_DPDK_IN
public static final String FLOW_NAME_TRANSPORT_INGRESS
public static final String FLOW_NAME_TRANSPORT_INGRESS_ARP
public static final String FLOW_NAME_TRANSPORT_INGRESS_MAC
public static final String FLOW_NAME_TRANSPORT_INGRESS_MPLS
public static final String FLOW_NAME_TRANSPORT_INGRESS_TCP
public static final String FLOW_NAME_TRANSPORT_INGRESS_UDP
public static final String FLOW_NAME_TRANSPORT_INGRESS_VLAN
public static final String FLOW_NAME_PATH_MAPPER
public static final String FLOW_NAME_PATH_MAPPER_ACL
public static final String FLOW_NAME_NEXT_HOP
public static final String FLOW_NAME_TRANSPORT_EGRESS
public static final String FLOW_NAME_LASTHOP_TRANSPORT_EGRESS
public static final String FLOW_NAME_LASTHOP_TRANSPORT_EGRESS_PIPELINE
public static final String FLOW_NAME_LASTHOP_TRANSPORT_EGRESS_TUNNEL_REMOTE
public static final String FLOW_NAME_LASTHOP_TRANSPORT_EGRESS_TUNNEL_LOCAL
public static final String FLOW_NAME_LASTHOP_TRANSPORT_EGRESS_NSH_REMOTE
public static final String FLOW_NAME_LASTHOP_TRANSPORT_EGRESS_NSH_LOCAL
public static final String FLOW_NAME_APPCOEXIST_TRANSPORT_EGRESS
public static final String FLOW_NAME_SF_LOOPBACK_INGRESS
public static final String FLOW_NAME_SF_LOOPBACK_EGRESS
public static final String TRANSPORT_EGRESS_MAC_CHAINING_COOKIE
public static final BigInteger METADATA_MASK_SFP_MATCH
public static final short TABLE_INDEX_CLASSIFIER
public static final short TABLE_INDEX_TRANSPORT_INGRESS
public static final short TABLE_INDEX_PATH_MAPPER
public static final short TABLE_INDEX_PATH_MAPPER_ACL
public static final short TABLE_INDEX_NEXT_HOP
public static final short TABLE_INDEX_TRANSPORT_EGRESS
public static final short TABLE_INDEX_MAX_OFFSET
public static final int FLOW_PRIORITY_TRANSPORT_INGRESS
public static final int FLOW_PRIORITY_ARP_TRANSPORT_INGRESS
public static final int FLOW_PRIORITY_PATH_MAPPER
public static final int FLOW_PRIORITY_PATH_MAPPER_ACL
public static final int FLOW_PRIORITY_NEXT_HOP
public static final int FLOW_PRIORITY_TRANSPORT_EGRESS
public static final int FLOW_PRIORITY_TRANSPORT_EGRESS_TUNNEL_REMOTE
public static final int FLOW_PRIORITY_TRANSPORT_EGRESS_TUNNEL_LOCAL
public static final int FLOW_PRIORITY_TRANSPORT_EGRESS_NSH_REMOTE
public static final int FLOW_PRIORITY_TRANSPORT_EGRESS_NSH_LOCAL
public static final int FLOW_PRIORITY_TRANSPORT_EGRESS_PIPELINE
public static final int FLOW_PRIORITY_TRANSPORT_EGRESS_NSH
public static final int FLOW_PRIORITY_MATCH_ANY
public static final int FLOW_PRIORITY_CLASSIFIER
public static final short APP_COEXISTENCE_NOT_SET
public SfcOfFlowProgrammerImpl()
public SfcOfFlowProgrammerImpl(SfcOfFlowWriterInterface sfcOfFlowWriter)
public void setFlowWriter(SfcOfFlowWriterInterface sfcOfFlowWriter)
setFlowWriter in interface SfcOfFlowProgrammerInterfacepublic void shutdown()
throws ExecutionException,
InterruptedException
shutdown in interface SfcOfFlowProgrammerInterfaceExecutionExceptionInterruptedExceptionpublic short getTableBase()
getTableBase in interface SfcOfFlowProgrammerInterfacepublic void setTableBase(short tableBase)
setTableBase in interface SfcOfFlowProgrammerInterfacepublic short getTableEgress()
getTableEgress in interface SfcOfFlowProgrammerInterfacepublic void setTableEgress(short tableEgress)
setTableEgress in interface SfcOfFlowProgrammerInterfacepublic short getMaxTableOffset()
getMaxTableOffset in interface SfcOfFlowProgrammerInterfacepublic void setFlowRspId(Long rspId)
setFlowRspId in interface SfcOfFlowProgrammerInterfacepublic Set<org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId> deleteRspFlows(long rspId)
SfcOfFlowProgrammerInterfacedeleteRspFlows in interface SfcOfFlowProgrammerInterfacerspId - the id of the RSP to be deletedpublic void flushFlows()
flushFlows in interface SfcOfFlowProgrammerInterfacepublic void purgeFlows()
purgeFlows in interface SfcOfFlowProgrammerInterfacepublic boolean compareClassificationTableCookie(org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.FlowCookie cookie)
cookie - - the cookie to comparepublic void configureClassifierTableMatchAny(String sffNodeName)
configureClassifierTableMatchAny in interface SfcOfFlowProgrammerInterfacesffNodeName - - the SFF to write the flow topublic void configureClassifierTableDpdkOutput(String sffNodeName, Long outPort)
configureClassifierTableDpdkOutput in interface SfcOfFlowProgrammerInterfacesffNodeName - - the SFF to write the flow topublic void configureClassifierTableDpdkInput(String sffNodeName, Long inPort)
configureClassifierTableDpdkInput in interface SfcOfFlowProgrammerInterfacesffNodeName - - the SFF to write the flow topublic void configureTransportIngressTableMatchAny(String sffNodeName)
configureTransportIngressTableMatchAny in interface SfcOfFlowProgrammerInterfacesffNodeName - - the SFF to write the flow topublic void configureTransportIngressTableMatchAnyResubmit(String sffNodeName, short nextTableId)
configureTransportIngressTableMatchAnyResubmit in interface SfcOfFlowProgrammerInterfacesffNodeName - - the SFF to write the flow tonextTableId - - the table to resubmitpublic void configurePathMapperTableMatchAny(String sffNodeName)
configurePathMapperTableMatchAny in interface SfcOfFlowProgrammerInterfacesffNodeName - - the SFF to write the flow topublic void configurePathMapperAclTableMatchAny(String sffNodeName)
configurePathMapperAclTableMatchAny in interface SfcOfFlowProgrammerInterfacesffNodeName - - the SFF to write the flow topublic void configureNextHopTableMatchAny(String sffNodeName)
configureNextHopTableMatchAny in interface SfcOfFlowProgrammerInterfacesffNodeName - - the SFF to write the flow topublic void configureTransportEgressTableMatchAny(String sffNodeName)
configureTransportEgressTableMatchAny in interface SfcOfFlowProgrammerInterfacesffNodeName - - the SFF to write the flow topublic void configureTransportEgressTableMatchAnyResubmit(String sffNodeName, short nextTableId)
SfcOfFlowProgrammerInterfaceconfigureTransportEgressTableMatchAnyResubmit in interface SfcOfFlowProgrammerInterfacesffNodeName - - the SFF to write the flow tonextTableId - - the table to resubmitpublic void configureIpv4TransportIngressFlow(String sffNodeName)
configureIpv4TransportIngressFlow in interface SfcOfFlowProgrammerInterfacesffNodeName - - the SFF to write the flow topublic void configureVlanTransportIngressFlow(String sffNodeName)
configureVlanTransportIngressFlow in interface SfcOfFlowProgrammerInterfacesffNodeName - - the SFF to write the flow topublic void configureMacChainingTransportIngressFlow(String sffNodeName)
configureMacChainingTransportIngressFlow in interface SfcOfFlowProgrammerInterfacesffNodeName - - the SFF to write the flow topublic void configureNshVxgpeTransportIngressFlow(String sffNodeName, long nshNsp, short nshNsi)
configureNshVxgpeTransportIngressFlow in interface SfcOfFlowProgrammerInterfacesffNodeName - - the SFF to write the flow topublic void configureMplsTransportIngressFlow(String sffNodeName)
configureMplsTransportIngressFlow in interface SfcOfFlowProgrammerInterfacesffNodeName - - the SFF to write the flow topublic void configureArpTransportIngressFlow(String sffNodeName, String mac)
configureArpTransportIngressFlow in interface SfcOfFlowProgrammerInterfacesffNodeName - - the SFF to write the flow tomac - - the SFF macpublic void configureNshVxgpeSfLoopbackEncapsulatedEgressFlow(String sffNodeName, String sfIp, short vxlanUdpPort, long sffPort)
configureNshVxgpeSfLoopbackEncapsulatedEgressFlow in interface SfcOfFlowProgrammerInterfacepublic void configureNshVxgpeSfReturnLoopbackIngressFlow(String sffNodeName, short vxlanUdpPort, long sffPort)
configureNshVxgpeSfReturnLoopbackIngressFlow in interface SfcOfFlowProgrammerInterfacepublic void configureMplsPathMapperFlow(String sffNodeName, long mplsLabel, long pathId, boolean isSf)
configureMplsPathMapperFlow in interface SfcOfFlowProgrammerInterfacesffNodeName - - the SFF to write the flow tomplsLabel - - the mplsLabel to match onpathId - - the RSP ID to write to the metadataisSf - - if the flow is for an SF or SFFpublic void configureVlanPathMapperFlow(String sffNodeName, int vlan, long pathId, boolean isSf)
configureVlanPathMapperFlow in interface SfcOfFlowProgrammerInterfacesffNodeName - - the SFF to write the flow tovlan - - the vlan tag to match onpathId - - the RSP ID to write to the metadataisSf - - if the flow is for an SF or SFFpublic void configurePathMapperAclFlow(String sffNodeName, String pktSrcIpStr, String pktDstIpStr, short pathId)
sffNodeName - - the SFF to write the flow topktSrcIpStr - - Src IP to match onpktDstIpStr - - Src IP to match onpathId - - the RSP ID to write to the metadatapublic void configureMacNextHopFlow(String sffNodeName, long pathId, String srcMac, String dstMac)
configureMacNextHopFlow in interface SfcOfFlowProgrammerInterfacesffNodeName - - the SFF to write the flow topathId - - the RSP ID to write to the metadatasrcMac - - Src mac to match ondstMac - - Dst mac to set on the packetpublic void configureMacChainingNextHopFlow(String sffNodeName, String vmac, String dstSfMac, String nextVMac, boolean l2Transparent)
configureMacChainingNextHopFlow in interface SfcOfFlowProgrammerInterfacesffNodeName - the SFF to write the flow tovmac - the virtual mac for this hopdstSfMac - destination mac of next SFnextVMac - next hop virtual macl2Transparent - indicates if the SF do not swap MAC addresses (l2 transparent)public void configureNshVxgpeNextHopFlow(String sffNodeName, String dstIp, String nshProxyIp, long nshNsp, short nshNsi)
configureNshVxgpeNextHopFlow in interface SfcOfFlowProgrammerInterfacesffNodeName - - the SFF to write the flow todstIp - - the VxLan GPE tunnel destination IPnshNsp - - NSH Service Path to match onnshNsi - - NSH Index to match onpublic void configureNshEthNextHopFlow(String sffNodeName, String srcMac, String dstMac, long nsp, short nsi)
configureNshEthNextHopFlow in interface SfcOfFlowProgrammerInterfacesffNodeName - - the SFF to write the flow tosrcMac - - the source MacdstMac - - the destination Macnsp - - NSH Service Path to match onnsi - - NSH Index to match onpublic void configureMacChainingSfTransportEgressFlow(String sffNodeName, String dstMac, String port, String vmac)
configureMacChainingSfTransportEgressFlow in interface SfcOfFlowProgrammerInterfacepublic void configureVlanSfTransportEgressFlow(String sffNodeName, String srcMac, String dstMac, int dstVlan, String port, long pathId, boolean doPktin)
configureVlanSfTransportEgressFlow in interface SfcOfFlowProgrammerInterfacepublic void configureVlanLastHopTransportEgressFlow(String sffNodeName, String srcMac, String dstMac, int dstVlan, String port, long pathId)
configureVlanLastHopTransportEgressFlow in interface SfcOfFlowProgrammerInterfacesffNodeName - - the SFF to write the flow tosrcMac - - the source MAC to write to the packetdstMac - - the destination MAC to match ondstVlan - - the VLAN tag to write to the packetport - - the switch port to send the packet out onpathId - - the RSP path id to match onpublic void configureVlanTransportEgressFlow(String sffNodeName, String srcMac, String dstMac, int dstVlan, String port, long pathId)
configureVlanTransportEgressFlow in interface SfcOfFlowProgrammerInterfacesffNodeName - - the SFF to write the flow tosrcMac - - the source MAC to write to the packetdstMac - - the destination MAC to match ondstVlan - - the VLAN tag to write to the packetport - - the switch port to send the packet out onpathId - - the RSP path id to match onpublic void configureVlanTransportEgressFlow(String sffNodeName, String srcMac, String dstMac, int dstVlan, String port, long pathId, String cookieStr)
sffNodeName - - the SFF to write the flow tosrcMac - - the source MAC to write to the packetdstMac - - the destination MAC to match ondstVlan - - the VLAN tag to write to the packetport - - the switch port to send the packet out onpathId - - the RSP path id to match oncookieStr - - The cookie to usepublic void configureMplsLastHopTransportEgressFlow(String sffNodeName, String srcMac, String dstMac, long mplsLabel, String port, long pathId)
configureMplsLastHopTransportEgressFlow in interface SfcOfFlowProgrammerInterfacesffNodeName - - the SFF to write the flow tosrcMac - - the source MAC to write to the packetdstMac - - the destination MAC to match onmplsLabel - - the MPLS label tag to write to the packetport - - the switch port to send the packet out onpathId - - the RSP path id to match onpublic void configureMplsTransportEgressFlow(String sffNodeName, String srcMac, String dstMac, long mplsLabel, String port, long pathId)
configureMplsTransportEgressFlow in interface SfcOfFlowProgrammerInterfacesffNodeName - - the SFF to write the flow tosrcMac - - the source MAC to write to the packetdstMac - - the destination MAC to match onmplsLabel - - the MPLS label tag to write to the packetport - - the switch port to send the packet out onpathId - - the RSP path id to match onpublic void configureMplsTransportEgressFlow(String sffNodeName, String srcMac, String dstMac, long mplsLabel, String port, long pathId, String cookieStr)
sffNodeName - - the SFF to write the flow tosrcMac - - the source MAC to write to the packetdstMac - - the destination MAC to match onmplsLabel - - the mpls label to write to the packetport - - the switch port to send the packet out onpathId - - the RSP path id to match oncookieStr - - the cookie to set on the flowpublic void configureNshVxgpeLastHopTransportEgressFlow(String sffNodeName, long nshNsp, short nshNsi, String port)
configureNshVxgpeLastHopTransportEgressFlow in interface SfcOfFlowProgrammerInterfacesffNodeName - - the SFF to write the flow tonshNsp - - the NSH Service Path to match onnshNsi - - the NSH Service Index to match onport - - the switch port to send the packet out onpublic void configureNshEthLastHopTransportEgressFlow(String sffNodeName, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress sffIpAddress, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress sfMacAddress, long nshNsp, short nshNsi)
SfcOfFlowProgrammerInterfaceconfigureNshEthLastHopTransportEgressFlow in interface SfcOfFlowProgrammerInterfacesffNodeName - last openflow node in the chainsffIpAddress - the sff ip addresssfMacAddress - the last sf mac addressnshNsp - nsp for the matchnshNsi - nsi for the matchpublic void configureNshVxgpeTransportEgressFlow(String sffNodeName, long nshNsp, short nshNsi, String port)
configureNshVxgpeTransportEgressFlow in interface SfcOfFlowProgrammerInterfacepublic void configureNshNscTransportEgressFlow(String sffNodeName, long nshNsp, short nshNsi, String port)
configureNshNscTransportEgressFlow in interface SfcOfFlowProgrammerInterfacesffNodeName - - the SFF to write the flow tonshNsp - - the NSH Service Path to match onnshNsi - - the NSH Service Index to match onport - - the switch port to send the packet out onpublic void configureNshVxgpeAppCoexistTransportEgressFlow(String sffNodeName, long nshNsp, short nshNsi, String sffIp)
configureNshVxgpeAppCoexistTransportEgressFlow in interface SfcOfFlowProgrammerInterfacepublic void configureNshEthTransportEgressFlow(String sffNodeName, long nshNsp, short nshNsi, String port)
configureNshEthTransportEgressFlow in interface SfcOfFlowProgrammerInterfacesffNodeName - - the SFF to write the flow tonshNsp - - the NSH Service Path to match onnshNsi - - the NSH Service Index to match onport - - the switch port to send the packet out onpublic void configureNshEthTransportEgressFlow(String sffOpenflowNodeName, long nsp, short nsi, List<org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.Action> actionList, String flowName)
SfcOfFlowProgrammerInterfaceconfigureNshEthTransportEgressFlow in interface SfcOfFlowProgrammerInterfacesffOpenflowNodeName - The openflow identifier for the node on which the flows are to
be writtennsp - NSP to use in the match partnsi - NSI to use in the match partactionList - List of actions to use in the actions partflowName - A unique flow name, also used as a flow keypublic void setTableIndexMapper(SfcTableIndexMapper tableIndexMapper)
SfcOfFlowProgrammerInterfacesetTableIndexMapper in interface SfcOfFlowProgrammerInterfacetableIndexMapper - The table index mapperpublic void configureGroup(String sffNodeName, String openflowNodeId, String sfgName, long sfgId, int groupType, List<GroupBucketInfo> bucketInfos, boolean isAddGroup)
configureGroup in interface SfcOfFlowProgrammerInterfacepublic void configureGroupNextHopFlow(String sffNodeName, long sfpId, String srcMac, long groupId, String groupName)
configureGroupNextHopFlow in interface SfcOfFlowProgrammerInterfaceCopyright © 2017 OpenDaylight. All rights reserved.