本文整理汇总了Java中org.projectfloodlight.openflow.protocol.action.OFAction.getType方法的典型用法代码示例。如果您正苦于以下问题:Java OFAction.getType方法的具体用法?Java OFAction.getType怎么用?Java OFAction.getType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.projectfloodlight.openflow.protocol.action.OFAction
的用法示例。
在下文中一共展示了OFAction.getType方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: FlowAlias
import org.projectfloodlight.openflow.protocol.action.OFAction; //导入方法依赖的package包/类
public FlowAlias(OFFlowMod flowmod){
this.ofm = flowmod;
this.aliasList = new ArrayList<>();
this.fra = FlowRuleAction.DROP;
this.lastConflictAlias = null;
Match match = flowmod.getMatch();
Match.Builder mb = match.createBuilder();
List<OFAction> actions = flowmod.getActions();
//initialize alias with match filed
Alias alias = new Alias(match);
//add alias to list
this.aliasList.add(alias);
//update alias based on actions
for (OFAction act : actions){
switch (act.getType()){
case SET_DL_SRC:
OFActionSetDlSrc setDLSRC = (OFActionSetDlSrc)act;
mb.setExact(MatchField.ETH_SRC, setDLSRC.getDlAddr());
break;
case SET_DL_DST:
OFActionSetDlDst setDLDST = (OFActionSetDlDst)act;
mb.setExact(MatchField.ETH_DST, setDLDST.getDlAddr());
break;
case SET_NW_SRC:
OFActionSetNwSrc setNWSRC = (OFActionSetNwSrc)act;
mb.setExact(MatchField.IPV4_SRC,setNWSRC.getNwAddr());
break;
case SET_NW_DST:
OFActionSetNwDst setNWDST = (OFActionSetNwDst)act;
mb.setExact(MatchField.IPV4_DST,setNWDST.getNwAddr());
break;
case SET_TP_SRC:
OFActionSetTpSrc setTPSRC = (OFActionSetTpSrc)act;
mb.setExact(MatchField.TCP_SRC, setTPSRC.getTpPort());
break;
case SET_TP_DST:
OFActionSetTpDst setTPDST = (OFActionSetTpDst)act;
mb.setExact(MatchField.TCP_SRC, setTPDST.getTpPort());
break;
case ENQUEUE:
case OUTPUT:
OFActionOutput output = (OFActionOutput)act;
alias.setPort(output.getPort());
this.fra = FlowRuleAction.FORWARD;
break;
}
}
//save modified action
alias.setMatch(mb.build());
//add updated alias to the list
this.aliasList.add(alias);
}