本文整理汇总了Java中org.projectfloodlight.openflow.protocol.action.OFActionSetNwSrc.Builder方法的典型用法代码示例。如果您正苦于以下问题:Java OFActionSetNwSrc.Builder方法的具体用法?Java OFActionSetNwSrc.Builder怎么用?Java OFActionSetNwSrc.Builder使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.projectfloodlight.openflow.protocol.action.OFActionSetNwSrc
的用法示例。
在下文中一共展示了OFActionSetNwSrc.Builder方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: decode_set_src_ip
import org.projectfloodlight.openflow.protocol.action.OFActionSetNwSrc; //导入方法依赖的package包/类
/**
* Parse set_nw_src actions.
* The key and delimiter for the action should be omitted, and only the
* data should be presented to this decoder.
*
* TODO should consider using IPv4AddressWithMask's built-in parser....
*
* @param actionToDecode; The action as a string to decode
* @param version; The OF version to create the action for
* @param log
* @return
*/
private static OFActionSetNwSrc decode_set_src_ip(String actionToDecode, OFVersion version, Logger log) {
Matcher n = Pattern.compile("(?:(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+))").matcher(actionToDecode);
if (n.matches()) {
IPv4Address ipaddr = IPv4Address.of(get_ip_addr(n, actionToDecode, log));
OFActionSetNwSrc.Builder ab = OFFactories.getFactory(version).actions().buildSetNwSrc();
ab.setNwAddr(ipaddr);
log.debug("action {}", ab.build());
return ab.build();
}
else {
log.debug("Invalid action: '{}'", actionToDecode);
return null;
}
}
示例2: decode_set_src_ip
import org.projectfloodlight.openflow.protocol.action.OFActionSetNwSrc; //导入方法依赖的package包/类
/**
* Parse set_nw_src actions.
* The key and delimiter for the action should be omitted, and only the
* data should be presented to this decoder.
*
* TODO should consider using IPv4AddressWithMask's built-in parser....
*
* @param actionToDecode; The action as a string to decode
* @param version; The OF version to create the action for
* @param log
* @return
*/
private static OFActionSetNwSrc decode_set_src_ip(String actionToDecode, OFVersion version, Logger log) {
Matcher n = Pattern.compile("(?:(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+))").matcher(actionToDecode);
if (n.matches()) {
IPv4Address ipaddr = IPv4Address.of(get_ip_addr(n, actionToDecode, log));
OFActionSetNwSrc.Builder ab = OFFactories.getFactory(version).actions().buildSetNwSrc();
ab.setNwAddr(ipaddr);
log.debug("action {}", ab.build());
return ab.build();
}
else {
log.debug("Invalid action: '{}'", actionToDecode);
return null;
}
}
示例3: switchAdded
import org.projectfloodlight.openflow.protocol.action.OFActionSetNwSrc; //导入方法依赖的package包/类
@Override
public void switchAdded(DatapathId switchId) {
IOFSwitch sw = switchService.getSwitch(switchId);
if (sw == null) {
return;
}
// install conflicting forwarding rules and security rules for testing security kernel
// forward rules
Match.Builder matchFwd = sw.getOFFactory().buildMatch();
matchFwd.setExact(MatchField.IPV4_SRC, IPv4Address.of("10.0.0.3"));
matchFwd.setExact(MatchField.ETH_TYPE, EthType.IPv4);
OFFlowAdd.Builder forwardflow = sw.getOFFactory().buildFlowAdd();
ArrayList<OFAction> forwardfActionList = new ArrayList<OFAction>();
OFActionOutput.Builder forwardaction = sw.getOFFactory().actions()
.buildOutput();
forwardaction.setPort(OFPort.of(2));
OFActionSetNwSrc.Builder secaction = sw.getOFFactory().actions()
.buildSetNwSrc();
secaction.setNwAddr(IPv4Address.of("10.0.0.1"));
forwardfActionList.add(forwardaction.build());
forwardfActionList.add(secaction.build());
forwardflow.setBufferId(OFBufferId.NO_BUFFER);
forwardflow.setHardTimeout(0);
forwardflow.setIdleTimeout(0);
forwardflow.setOutPort(OFPort.CONTROLLER);
forwardflow.setActions(forwardfActionList);
forwardflow.setMatch(matchFwd.build());
forwardflow.setPriority(200);
// security rules
OFFlowAdd.Builder securityFlow = sw.getOFFactory().buildFlowAdd();
ArrayList<OFAction> securityActionList = new ArrayList<OFAction>();
OFActionOutput.Builder securitydaction = sw.getOFFactory().actions()
.buildOutput();
Match.Builder matchSec = sw.getOFFactory().buildMatch();
matchSec.setExact(MatchField.IPV4_SRC, IPv4Address.of("10.0.0.1"));
matchSec.setExact(MatchField.ETH_TYPE, EthType.IPv4);
securityFlow.setBufferId(OFBufferId.NO_BUFFER);
securityFlow.setHardTimeout(0);
securityFlow.setIdleTimeout(0);
securityFlow.setOutPort(OFPort.CONTROLLER);
securityFlow.setActions(securityActionList);
securityFlow.setMatch(matchSec.build());
securityFlow.setPriority(300);
sw.write(securityFlow.build());
sw.write(forwardflow.build());
}