本文整理汇总了Java中org.openflow.protocol.statistics.OFDescriptionStatistics.setDatapathDescription方法的典型用法代码示例。如果您正苦于以下问题:Java OFDescriptionStatistics.setDatapathDescription方法的具体用法?Java OFDescriptionStatistics.setDatapathDescription怎么用?Java OFDescriptionStatistics.setDatapathDescription使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.openflow.protocol.statistics.OFDescriptionStatistics
的用法示例。
在下文中一共展示了OFDescriptionStatistics.setDatapathDescription方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testSetSwitchProperties
import org.openflow.protocol.statistics.OFDescriptionStatistics; //导入方法依赖的package包/类
@Test
public void testSetSwitchProperties() {
OFDescriptionStatistics desc = new OFDescriptionStatistics();
desc.setDatapathDescription("My Data Path");
desc.setSerialNumber("");
desc.setManufacturerDescription("Big Switch Networks");
desc.setHardwareDescription("Xenon");
desc.setSoftwareDescription("Indigo 2");
IOFSwitch sw = new BetterOFSwitchXenon();
sw.setSwitchProperties(desc);
assertEquals(desc.getDatapathDescription(),
sw.getAttribute(IOFSwitch.SWITCH_DESCRIPTION_DATA));
assertEquals(true,
sw.getAttribute(IOFSwitch.SWITCH_SUPPORTS_NX_ROLE));
assertNull(sw.getAttribute(IBetterOFSwitch.SUPPORTS_OVSDB_TUNNEL_SETUP));
assertEquals(true,
sw.getAttribute(IBetterOFSwitch.SUPPORTS_NX_TTL_DECREMENT));
}
示例2: getDescription
import org.openflow.protocol.statistics.OFDescriptionStatistics; //导入方法依赖的package包/类
@JsonIgnore
public OFDescriptionStatistics getDescription() {
OFDescriptionStatistics desc = new OFDescriptionStatistics();
desc.setManufacturerDescription(manufacturerDescription);
desc.setHardwareDescription(hardwareDescription);
desc.setSoftwareDescription(softwareDescription);
desc.setSerialNumber(serialNumber);
desc.setDatapathDescription(datapathDescription);
return desc;
}
示例3: createOFDescriptionStatistics
import org.openflow.protocol.statistics.OFDescriptionStatistics; //导入方法依赖的package包/类
private static OFDescriptionStatistics createOFDescriptionStatistics() {
OFDescriptionStatistics desc = new OFDescriptionStatistics();
desc.setDatapathDescription("");
desc.setHardwareDescription("");
desc.setManufacturerDescription("");
desc.setSerialNumber("");
desc.setSoftwareDescription("");
return desc;
}
示例4: testAddSwitchRemoveSwitchStoreSlave
import org.openflow.protocol.statistics.OFDescriptionStatistics; //导入方法依赖的package包/类
/**
* add switch to store then remove it again while slave.
* should get notification and switch should be added and then removed
*/
@Test
public void testAddSwitchRemoveSwitchStoreSlave() throws Exception {
doSetUp(Role.SLAVE);
IOFSwitchListener listener = createMock(IOFSwitchListener.class);
controller.addOFSwitchListener(listener);
//------
// Add switch
listener.switchAdded(1L);
expectLastCall().once();
replay(listener);
OFDescriptionStatistics desc = createOFDescriptionStatistics();
desc.setDatapathDescription("The Switch");
doAddSwitchToStore(1L, desc, null);
controller.processUpdateQueueForTesting();
verify(listener);
IOFSwitch sw = controller.getSwitch(1L);
assertNotNull("Switch should be present", sw);
assertEquals(1L, sw.getId());
assertFalse("Switch should be inactive", sw.isActive());
assertEquals("The Switch",
sw.getDescriptionStatistics().getDatapathDescription());
//------
// remove switch
reset(listener);
listener.switchRemoved(1L);
replay(listener);
doRemoveSwitchFromStore(1L);
controller.processUpdateQueueForTesting();
verify(listener);
assertNull("Switch should not exist anymore", controller.getSwitch(1L));
}
示例5: createDescriptionStatsReply
import org.openflow.protocol.statistics.OFDescriptionStatistics; //导入方法依赖的package包/类
private static OFStatisticsReply createDescriptionStatsReply() {
OFStatisticsReply sr = (OFStatisticsReply)BasicFactory.getInstance()
.getMessage(OFType.STATS_REPLY);
sr.setStatisticType(OFStatisticsType.DESC);
OFDescriptionStatistics desc = new OFDescriptionStatistics();
desc.setDatapathDescription("Datapath Description");
desc.setHardwareDescription("Hardware Description");
desc.setManufacturerDescription("Manufacturer Description");
desc.setSerialNumber("Serial Number");
desc.setSoftwareDescription("Software Description");
sr.setStatistics(Collections.singletonList(desc));
return sr;
}
示例6: descStatBuilder
import org.openflow.protocol.statistics.OFDescriptionStatistics; //导入方法依赖的package包/类
/**
* Description Stats Reply Builder
*
* @param incomingStat incoming Stats Request
* @return the Stats Reply
*/
private OFDescriptionStatistics descStatBuilder(OFStatisticsRequest incomingStat) {
OFDescriptionStatistics descStat = new OFDescriptionStatistics();
descStat.setDatapathDescription("None");
descStat.setHardwareDescription("OFCProbe Vswitch");
descStat.setManufacturerDescription("Lehrstuhl fuer Informatik III, University of Wuerzburg");
descStat.setSerialNumber(String.valueOf(this.dpid));
descStat.setSoftwareDescription("1.0.3");
return descStat;
}
示例7: testSwitchActivatedWithAlreadyActiveSwitch
import org.openflow.protocol.statistics.OFDescriptionStatistics; //导入方法依赖的package包/类
/**
* Try to activate a switch that's already active (which can happen if
* two different switches have the same DPIP or if a switch reconnects
* while the old TCP connection is still alive
*/
@Test
public void testSwitchActivatedWithAlreadyActiveSwitch() throws Exception {
OFDescriptionStatistics oldDesc = createOFDescriptionStatistics();
oldDesc.setDatapathDescription("Ye Olde Switch");
OFDescriptionStatistics newDesc = createOFDescriptionStatistics();
newDesc.setDatapathDescription("The new Switch");
OFFeaturesReply featuresReply = createOFFeaturesReply();
// Setup: add a switch to the controller
IOFSwitch oldsw = createMock(IOFSwitch.class);
setupSwitchForAddSwitch(oldsw, 0L, oldDesc, featuresReply);
oldsw.clearAllFlowMods();
expectLastCall().once();
replay(oldsw);
controller.switchActivated(oldsw);
verify(oldsw);
// drain the queue, we don't care what's in it
controller.processUpdateQueueForTesting();
assertEquals(oldsw, controller.getSwitch(0L));
// Now the actual test: add a new switch with the same dpid to
// the controller
reset(oldsw);
expect(oldsw.getId()).andReturn(0L).anyTimes();
oldsw.cancelAllStatisticsReplies();
expectLastCall().once();
oldsw.disconnectOutputStream();
expectLastCall().once();
IOFSwitch newsw = createMock(IOFSwitch.class);
setupSwitchForAddSwitch(newsw, 0L, newDesc, featuresReply);
newsw.clearAllFlowMods();
expectLastCall().once();
// Strict mock. We need to get the removed notification before the
// add notification
IOFSwitchListener listener = createStrictMock(IOFSwitchListener.class);
listener.switchRemoved(0L);
listener.switchAdded(0L);
listener.switchActivated(0L);
replay(listener);
controller.addOFSwitchListener(listener);
replay(newsw, oldsw);
controller.switchActivated(newsw);
verify(newsw, oldsw);
assertEquals(newsw, controller.getSwitch(0L));
controller.processUpdateQueueForTesting();
verify(listener);
}
示例8: testSetSwitchPropoerties
import org.openflow.protocol.statistics.OFDescriptionStatistics; //导入方法依赖的package包/类
@Test
public void testSetSwitchPropoerties() {
OFDescriptionStatistics desc = new OFDescriptionStatistics();
IOFSwitch sw = new BetterOFSwitchOVS();
desc.setDatapathDescription("My Data Path");
desc.setSerialNumber("");
desc.setManufacturerDescription("Nicira Networks, Inc");
desc.setHardwareDescription("Open vSwitch");
sw = new BetterOFSwitchOVS();
desc.setSoftwareDescription("1.4.0");
sw.setSwitchProperties(desc);
assertNull(sw.getAttribute(IBetterOFSwitch.SUPPORTS_NX_TTL_DECREMENT));
assertEquals(desc.getDatapathDescription(),
sw.getAttribute(IOFSwitch.SWITCH_DESCRIPTION_DATA));
assertEquals(true,
sw.getAttribute(IOFSwitch.SWITCH_SUPPORTS_NX_ROLE));
assertEquals(true,
sw.getAttribute(IBetterOFSwitch.SUPPORTS_OVSDB_TUNNEL_SETUP));
sw = new BetterOFSwitchOVS();
desc.setSoftwareDescription("1.4.3");
sw.setSwitchProperties(desc);
assertNull(sw.getAttribute(IBetterOFSwitch.SUPPORTS_NX_TTL_DECREMENT));
sw = new BetterOFSwitchOVS();
desc.setSoftwareDescription("1.6.0");
sw.setSwitchProperties(desc);
assertEquals(true,
sw.getAttribute(IBetterOFSwitch.SUPPORTS_NX_TTL_DECREMENT));
sw = new BetterOFSwitchOVS();
desc.setSoftwareDescription("1.7.0");
sw.setSwitchProperties(desc);
assertEquals(true,
sw.getAttribute(IBetterOFSwitch.SUPPORTS_NX_TTL_DECREMENT));
// invalid version
// don't allocate new switch object.
desc.setSoftwareDescription("xxxxx");
sw.setSwitchProperties(desc);
assertNull(sw.getAttribute(IBetterOFSwitch.SUPPORTS_NX_TTL_DECREMENT));
}
示例9: parseStatsReply
import org.openflow.protocol.statistics.OFDescriptionStatistics; //导入方法依赖的package包/类
/**
* Parses message into relevant properties
* @param statsType the specific Stats Type (0:DESC, 1:FLOW, 2:AGGREGATE, 3:TABLE, 4:PORT, 5:QUEUE, 6:VENDOR)
* @param rawMessage Assumes the following format and parses into properties:
* "["flow_stats_reply", 3, [{"packet_count": 0, "hard_timeout": 0, "byte_count": 0, "idle_timeout": 0, "actions": "[{'output': 65533}]",
* "duration_nsec": 27000000, "priority": 0, "duration_sec": 0, "table_id": 0, "cookie": 0, "match": "{}"}]]"
*/
public OFStatisticsReply parseStatsReply(OFStatisticsType statsType, String rawMessage) {
//EXTRACT THE JSON
String tmp = rawMessage.substring(rawMessage.indexOf(",")+2, rawMessage.length()-2);
String switchStr = tmp.substring(0, 1);
this.switchId = Long.parseLong(switchStr);
String jsonStr = tmp.substring(tmp.indexOf(",")+3);
JSONObject json = new JSONObject(jsonStr);
//ADD PROPS TO STATS_REPLY OBJECT
OFStatisticsReply statsReply = new OFStatisticsReply();
//statsReply.setFlags(Short.parseShort(flagStr));
statsReply.setStatisticType(statsType);
statsReply.setStatisticsFactory(new BasicFactory());
List<OFStatistics> statistics = new ArrayList<OFStatistics>();
switch (statsType) {
case DESC:
OFDescriptionStatistics description = new OFDescriptionStatistics();
description.setDatapathDescription("A");
description.setHardwareDescription("B");
description.setManufacturerDescription("C");
description.setSerialNumber("D");
description.setSoftwareDescription("E");
statistics.add(description);
break;
case FLOW:
OFFlowStatisticsReply flowStats = new OFFlowStatisticsReply();
flowStats.setByteCount(json.getLong("byte_count"));
flowStats.setActionFactory(new BasicFactory());
//FORMATTING SEEMS OFF (why is it in " "), NEED TO CONVERT STRING TO JSON ARRAY
String tmpArrayStr = json.getString("actions");
JSONArray jsonArray = new JSONArray(tmpArrayStr);
flowStats.setActions(parseActionsArray(jsonArray));
//
flowStats.setCookie(json.getLong("cookie"));
flowStats.setDurationNanoseconds(json.getInt("duration_nsec"));
flowStats.setDurationSeconds(json.getInt("duration_sec"));
flowStats.setHardTimeout((short)json.getInt("hard_timeout"));
flowStats.setIdleTimeout((short)json.getInt("idle_timeout"));
flowStats.setPacketCount(json.getLong("packet_count"));
flowStats.setPriority((short)json.getInt("priority"));
flowStats.setTableId((byte)json.getInt("table_id"));
OFMatch match = new OFMatch();
flowStats.setMatch(match);
statistics.add(flowStats);
break;
case TABLE:
OFTableStatistics tables = new OFTableStatistics();
tables.setTableId(Byte.parseByte(json.getString("table_id")));
//tables.setActiveCount();
//tables.setLookupCount(lookupCount);
//tables.setMatchedCount(matchedCount);
//tables.setMaximumEntries(maximumEntries);
//tables.setWildcards(wildcards);
statistics.add(tables);
break;
case PORT:
OFPortStatisticsReply portStatReply = new OFPortStatisticsReply();
portStatReply.setreceivePackets(json.getLong("packet_count"));
portStatReply.setPortNumber(Short.parseShort(json.getString("port")));
portStatReply.setReceiveBytes(json.getLong("received_bytes"));
statistics.add(portStatReply);
break;
case AGGREGATE:
case VENDOR:
case QUEUE:
}
statsReply.setStatistics(statistics);
return statsReply;
}