本文整理汇总了Java中org.onlab.packet.TpPort.tpPort方法的典型用法代码示例。如果您正苦于以下问题:Java TpPort.tpPort方法的具体用法?Java TpPort.tpPort怎么用?Java TpPort.tpPort使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.onlab.packet.TpPort
的用法示例。
在下文中一共展示了TpPort.tpPort方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: isController
import org.onlab.packet.TpPort; //导入方法依赖的package包/类
private boolean isController(JsonNode jsonNode) {
String[] ctrl = jsonNode.asText().split(":");
final String error = "Malformed controller string " + jsonNode.asText() +
". Controller only takes a list of 'IP:port', 'IP', " +
"or just one ':port'.";
try {
if (ctrl.length == 1) {
IpAddress.valueOf(ctrl[INDEX_IP]);
return true;
}
if (ctrl.length == 2 && ctrl[INDEX_IP].isEmpty() &&
object.get(CONTROLLERS).size() == 1) {
TpPort.tpPort(Integer.valueOf(ctrl[INDEX_PORT]));
return true;
}
if (ctrl.length == 2 && !ctrl[INDEX_IP].isEmpty()) {
IpAddress.valueOf(ctrl[INDEX_IP]);
TpPort.tpPort(Integer.valueOf(ctrl[INDEX_PORT]));
return true;
}
throw new InvalidFieldException(CONTROLLERS, error);
} catch (IllegalArgumentException e) {
throw new InvalidFieldException(CONTROLLERS, error);
}
}
示例2: testUdpPortCriterion
import org.onlab.packet.TpPort; //导入方法依赖的package包/类
@Test
public void testUdpPortCriterion() throws Exception {
TpPort value1 = TpPort.tpPort(random.nextInt(65536));
TpPort value2 = TpPort.tpPort(random.nextInt(65536));
TpPort mask = TpPort.tpPort(random.nextInt(65536));
int bitWidth = 16;
UdpPortCriterion criterion = (UdpPortCriterion) Criteria.matchUdpDst(value1);
PiExactFieldMatch exactMatch = (PiExactFieldMatch) translateCriterion(criterion, fieldId, EXACT, bitWidth);
UdpPortCriterion maskedCriterion = (UdpPortCriterion) Criteria.matchUdpDstMasked(value2, mask);
PiTernaryFieldMatch ternaryMatch = (PiTernaryFieldMatch) translateCriterion(maskedCriterion, fieldId, TERNARY,
bitWidth);
assertThat(exactMatch.value().asReadOnlyBuffer().getShort(), is((short) criterion.udpPort().toInt()));
assertThat(ternaryMatch.value().asReadOnlyBuffer().getShort(), is((short) maskedCriterion.udpPort().toInt()));
assertThat(ternaryMatch.mask().asReadOnlyBuffer().getShort(), is((short) maskedCriterion.mask().toInt()));
}
示例3: testSctpPortCriterion
import org.onlab.packet.TpPort; //导入方法依赖的package包/类
@Test
public void testSctpPortCriterion() throws Exception {
TpPort value1 = TpPort.tpPort(random.nextInt(2 ^ 16));
TpPort value2 = TpPort.tpPort(random.nextInt(2 ^ 16));
TpPort mask = TpPort.tpPort(random.nextInt(2 ^ 16));
int bitWidth = 16;
SctpPortCriterion criterion = (SctpPortCriterion) Criteria.matchSctpDst(value1);
PiExactFieldMatch exactMatch = (PiExactFieldMatch) translateCriterion(criterion, fieldId, EXACT, bitWidth);
SctpPortCriterion maskedCriterion = (SctpPortCriterion) Criteria.matchSctpDstMasked(value2, mask);
PiTernaryFieldMatch ternaryMatch = (PiTernaryFieldMatch) translateCriterion(maskedCriterion, fieldId, TERNARY,
bitWidth);
assertThat(exactMatch.value().asReadOnlyBuffer().getShort(), is((short) criterion.sctpPort().toInt()));
assertThat(ternaryMatch.value().asReadOnlyBuffer().getShort(), is((short) maskedCriterion.sctpPort().toInt()));
assertThat(ternaryMatch.mask().asReadOnlyBuffer().getShort(), is((short) maskedCriterion.mask().toInt()));
}
示例4: testTcpPortCriterion
import org.onlab.packet.TpPort; //导入方法依赖的package包/类
@Test
public void testTcpPortCriterion() throws Exception {
TpPort value1 = TpPort.tpPort(random.nextInt(2 ^ 16));
TpPort value2 = TpPort.tpPort(random.nextInt(2 ^ 16));
TpPort mask = TpPort.tpPort(random.nextInt(2 ^ 16));
int bitWidth = 16;
TcpPortCriterion criterion = (TcpPortCriterion) Criteria.matchTcpDst(value1);
PiExactFieldMatch exactMatch = (PiExactFieldMatch) translateCriterion(criterion, fieldId, EXACT, bitWidth);
TcpPortCriterion maskedCriterion = (TcpPortCriterion) Criteria.matchTcpDstMasked(value2, mask);
PiTernaryFieldMatch ternaryMatch = (PiTernaryFieldMatch) translateCriterion(maskedCriterion, fieldId, TERNARY,
bitWidth);
assertThat(exactMatch.value().asReadOnlyBuffer().getShort(), is((short) criterion.tcpPort().toInt()));
assertThat(ternaryMatch.value().asReadOnlyBuffer().getShort(), is((short) maskedCriterion.tcpPort().toInt()));
assertThat(ternaryMatch.mask().asReadOnlyBuffer().getShort(), is((short) maskedCriterion.mask().toInt()));
}
示例5: getOvsdbClientService
import org.onlab.packet.TpPort; //导入方法依赖的package包/类
private OvsdbClientService getOvsdbClientService(DriverHandler handler) {
OvsdbController ovsController = handler.get(OvsdbController.class);
DeviceService deviceService = handler.get(DeviceService.class);
DeviceId ofDeviceId = handler.data().deviceId();
String[] mgmtAddress = deviceService.getDevice(ofDeviceId)
.annotations().value(AnnotationKeys.MANAGEMENT_ADDRESS).split(":");
String targetIp = mgmtAddress[0];
TpPort targetPort = null;
if (mgmtAddress.length > 1) {
targetPort = TpPort.tpPort(Integer.parseInt(mgmtAddress[1]));
}
List<OvsdbNodeId> nodeIds = ovsController.getNodeIds().stream()
.filter(nodeId -> nodeId.getIpAddress().equals(targetIp))
.collect(Collectors.toList());
if (nodeIds.size() == 0) {
//TODO decide what port?
ovsController.connect(IpAddress.valueOf(targetIp),
targetPort == null ? TpPort.tpPort(6640) : targetPort);
delay(1000); //FIXME... connect is async
}
List<OvsdbClientService> clientServices = ovsController.getNodeIds().stream()
.filter(nodeId -> nodeId.getIpAddress().equals(targetIp))
.map(ovsController::getOvsdbClient)
.filter(cs -> cs.getBridges().stream().anyMatch(b -> dpidMatches(b, ofDeviceId)))
.collect(Collectors.toList());
checkState(clientServices.size() > 0, "No clientServices found");
//FIXME add connection to management address if null --> done ?
return clientServices.size() > 0 ? clientServices.get(0) : null;
}
示例6: getOvsdbClientService
import org.onlab.packet.TpPort; //导入方法依赖的package包/类
private OvsdbClientService getOvsdbClientService(DriverHandler handler) {
OvsdbController ovsController = handler.get(OvsdbController.class);
DeviceService deviceService = handler.get(DeviceService.class);
DeviceId ofDeviceId = handler.data().deviceId();
String[] mgmtAddress = deviceService.getDevice(ofDeviceId)
.annotations().value(AnnotationKeys.MANAGEMENT_ADDRESS).split(":");
String targetIp = mgmtAddress[0];
TpPort targetPort = null;
if (mgmtAddress.length > 1) {
targetPort = TpPort.tpPort(Integer.parseInt(mgmtAddress[1]));
}
List<OvsdbNodeId> nodeIds = ovsController.getNodeIds().stream()
.filter(nodeId -> nodeId.getIpAddress().equals(targetIp))
.collect(Collectors.toList());
if (nodeIds.isEmpty()) {
//TODO decide what port?
ovsController.connect(IpAddress.valueOf(targetIp),
targetPort == null ? TpPort.tpPort(OvsdbConstant.OVSDBPORT) : targetPort);
delay(1000); //FIXME... connect is async
}
List<OvsdbClientService> clientServices = ovsController.getNodeIds().stream()
.filter(nodeId -> nodeId.getIpAddress().equals(targetIp))
.map(ovsController::getOvsdbClient)
.filter(cs -> cs.getBridges().stream().anyMatch(b -> dpidMatches(b, ofDeviceId)))
.collect(Collectors.toList());
checkState(!clientServices.isEmpty(), "No clientServices found");
//FIXME add connection to management address if null --> done ?
return !clientServices.isEmpty() ? clientServices.get(0) : null;
}
示例7: isValidController
import org.onlab.packet.TpPort; //导入方法依赖的package包/类
private boolean isValidController(String ctrl) {
if (!ctrl.matches(PATTERN_IP_PORT)) {
return false;
}
String[] temp = ctrl.split(":");
try {
IpAddress.valueOf(temp[0]);
TpPort.tpPort(Integer.valueOf(temp[1]));
return true;
} catch (IllegalArgumentException e) {
return false;
}
}
示例8: decodeCriterion
import org.onlab.packet.TpPort; //导入方法依赖的package包/类
@Override
public Criterion decodeCriterion(ObjectNode json) {
TpPort tcpPort = TpPort.tpPort(nullIsIllegal(json.get(CriterionCodec.TCP_PORT),
CriterionCodec.TCP_PORT + MISSING_MEMBER_MESSAGE).asInt());
TpPort tcpMask = TpPort.tpPort(nullIsIllegal(json.get(CriterionCodec.TCP_MASK),
CriterionCodec.TCP_MASK + MISSING_MEMBER_MESSAGE).asInt());
return Criteria.matchTcpSrcMasked(tcpPort, tcpMask);
}
示例9: decodeCriterion
import org.onlab.packet.TpPort; //导入方法依赖的package包/类
@Override
public Criterion decodeCriterion(ObjectNode json) {
TpPort tcpPort = TpPort.tpPort(nullIsIllegal(json.get(CriterionCodec.TCP_PORT),
CriterionCodec.TCP_PORT + MISSING_MEMBER_MESSAGE).asInt());
return Criteria.matchTcpSrc(tcpPort);
}
示例10: getOvsdbClientService
import org.onlab.packet.TpPort; //导入方法依赖的package包/类
/**
* Helper method which is used for getting OvsdbClientService.
*/
private OvsdbClientService getOvsdbClientService(DriverHandler handler) {
OvsdbController ovsController = handler.get(OvsdbController.class);
DeviceService deviceService = handler.get(DeviceService.class);
DeviceId deviceId = handler.data().deviceId();
String[] splits = deviceId.toString().split(":");
if (splits == null || splits.length < 1) {
log.warn("Wrong deviceId format");
return null;
}
/**
* Each type of device has to be managed in a different way.
*/
switch (splits[0]) {
case "ovsdb":
OvsdbNodeId nodeId = changeDeviceIdToNodeId(deviceId);
return ovsController.getOvsdbClient(nodeId);
case "of":
String[] mgmtAddress = deviceService.getDevice(deviceId)
.annotations().value(AnnotationKeys.MANAGEMENT_ADDRESS).split(":");
String targetIp = mgmtAddress[0];
TpPort targetPort = null;
if (mgmtAddress.length > 1) {
targetPort = TpPort.tpPort(Integer.parseInt(mgmtAddress[1]));
}
List<OvsdbNodeId> nodeIds = ovsController.getNodeIds().stream()
.filter(nodeID -> nodeID.getIpAddress().equals(targetIp))
.collect(Collectors.toList());
if (nodeIds.isEmpty()) {
//TODO decide what port?
ovsController.connect(IpAddress.valueOf(targetIp),
targetPort == null ? TpPort.tpPort(OvsdbConstant.OVSDBPORT) : targetPort);
delay(1000); //FIXME... connect is async
}
List<OvsdbClientService> clientServices = ovsController.getNodeIds().stream()
.filter(nodeID -> nodeID.getIpAddress().equals(targetIp))
.map(ovsController::getOvsdbClient)
.filter(cs -> cs.getBridges().stream().anyMatch(b -> dpidMatches(b, deviceId)))
.collect(Collectors.toList());
checkState(!clientServices.isEmpty(), "No clientServices found");
//FIXME add connection to management address if null --> done ?
return !clientServices.isEmpty() ? clientServices.get(0) : null;
default:
log.warn("Unmanaged device type");
}
return null;
}