本文整理汇总了Java中net.floodlightcontroller.topology.ITopologyService.getL2DomainId方法的典型用法代码示例。如果您正苦于以下问题:Java ITopologyService.getL2DomainId方法的具体用法?Java ITopologyService.getL2DomainId怎么用?Java ITopologyService.getL2DomainId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类net.floodlightcontroller.topology.ITopologyService
的用法示例。
在下文中一共展示了ITopologyService.getL2DomainId方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getDuplicateAttachmentPoints
import net.floodlightcontroller.topology.ITopologyService; //导入方法依赖的package包/类
/**
* Get a list of duplicate attachment points, given a list of old attachment
* points and one attachment point per L2 domain. Given a true attachment
* point in the L2 domain, say trueAP, another attachment point in the
* same L2 domain, say ap, is duplicate if:
* 1. ap is inconsistent with trueAP, and
* 2. active time of ap is after that of trueAP; and
* 3. last seen time of ap is within the last INACTIVITY_INTERVAL
* @param oldAPList
* @param apMap
* @return
*/
List<AttachmentPoint> getDuplicateAttachmentPoints(List<AttachmentPoint>oldAPList, Map<DatapathId, AttachmentPoint>apMap) {
ITopologyService topology = deviceManager.topology;
List<AttachmentPoint> dupAPs = new ArrayList<AttachmentPoint>();
long timeThreshold = System.currentTimeMillis() - AttachmentPoint.INACTIVITY_INTERVAL;
if (oldAPList == null || apMap == null)
return dupAPs;
for(AttachmentPoint ap : oldAPList) {
DatapathId id = topology.getL2DomainId(ap.getSw());
AttachmentPoint trueAP = apMap.get(id);
if (trueAP == null) continue;
boolean c = (topology.isConsistent(trueAP.getSw(), trueAP.getPort(),
ap.getSw(), ap.getPort()));
boolean active = (ap.getActiveSince().after(trueAP.getActiveSince()));
boolean last = ap.getLastSeen().getTime() > timeThreshold;
if (!c && active && last) {
dupAPs.add(ap);
}
}
return dupAPs;
}
示例2: retrieve
import net.floodlightcontroller.topology.ITopologyService; //导入方法依赖的package包/类
@Get("json")
public Map<String, List<String>> retrieve() {
IOFSwitchService switchService =
(IOFSwitchService) getContext().getAttributes().
get(IOFSwitchService.class.getCanonicalName());
ITopologyService topologyService =
(ITopologyService) getContext().getAttributes().
get(ITopologyService.class.getCanonicalName());
Form form = getQuery();
String queryType = form.getFirstValue("type", true);
boolean openflowDomain = true;
if (queryType != null && "l2".equals(queryType)) {
openflowDomain = false;
}
Map<String, List<String>> switchClusterMap = new HashMap<String, List<String>>();
for (DatapathId dpid: switchService.getAllSwitchDpids()) {
DatapathId clusterDpid =
(openflowDomain
? topologyService.getOpenflowDomainId(dpid)
:topologyService.getL2DomainId(dpid));
List<String> switchesInCluster = switchClusterMap.get(clusterDpid.toString());
if (switchesInCluster != null) {
switchesInCluster.add(dpid.toString());
} else {
List<String> l = new ArrayList<String>();
l.add(dpid.toString());
switchClusterMap.put(clusterDpid.toString(), l);
}
}
return switchClusterMap;
}
示例3: makeMockTopologyAllPortsAp
import net.floodlightcontroller.topology.ITopologyService; //导入方法依赖的package包/类
private ITopologyService makeMockTopologyAllPortsAp() {
ITopologyService mockTopology = createMock(ITopologyService.class);
mockTopology.isAttachmentPointPort(DatapathId.of(anyLong()), OFPort.of(anyShort()));
expectLastCall().andReturn(true).anyTimes();
mockTopology.getL2DomainId(DatapathId.of(anyLong()));
expectLastCall().andReturn(DatapathId.of(1L)).anyTimes();
mockTopology.isBroadcastDomainPort(DatapathId.of(anyLong()), OFPort.of(anyShort()));
expectLastCall().andReturn(false).anyTimes();
mockTopology.isConsistent(DatapathId.of(anyLong()), OFPort.of(anyShort()), DatapathId.of(anyLong()), OFPort.of(anyShort()));
expectLastCall().andReturn(false).anyTimes();
mockTopology.isInSameBroadcastDomain(DatapathId.of(anyLong()), OFPort.of(anyShort()), DatapathId.of(anyLong()), OFPort.of(anyShort()));
expectLastCall().andReturn(false).anyTimes();
return mockTopology;
}
示例4: getDuplicateAttachmentPoints
import net.floodlightcontroller.topology.ITopologyService; //导入方法依赖的package包/类
/**
* Get a list of duplicate attachment points, given a list of old attachment
* points and one attachment point per L2 domain. Given a true attachment
* point in the L2 domain, say trueAP, another attachment point in the
* same L2 domain, say ap, is duplicate if:
* 1. ap is inconsistent with trueAP, and
* 2. active time of ap is after that of trueAP; and
* 3. last seen time of ap is within the last INACTIVITY_INTERVAL
* @param oldAPList
* @param apMap
* @return
*/
List<AttachmentPoint> getDuplicateAttachmentPoints(List<AttachmentPoint>oldAPList,
Map<Long, AttachmentPoint>apMap) {
ITopologyService topology = deviceManager.topology;
List<AttachmentPoint> dupAPs = new ArrayList<AttachmentPoint>();
long timeThreshold = System.currentTimeMillis() -
AttachmentPoint.INACTIVITY_INTERVAL;
if (oldAPList == null || apMap == null)
return dupAPs;
for(AttachmentPoint ap: oldAPList) {
long id = topology.getL2DomainId(ap.getSw());
AttachmentPoint trueAP = apMap.get(id);
if (trueAP == null) continue;
boolean c = (topology.isConsistent(trueAP.getSw(), trueAP.getPort(),
ap.getSw(), ap.getPort()));
boolean active = (ap.getActiveSince() > trueAP.getActiveSince());
boolean last = ap.getLastSeen() > timeThreshold;
if (!c && active && last) {
dupAPs.add(ap);
}
}
return dupAPs;
}
示例5: retrieve
import net.floodlightcontroller.topology.ITopologyService; //导入方法依赖的package包/类
@Get("json")
public Map<String, List<String>> retrieve() {
IFloodlightProviderService floodlightProvider =
(IFloodlightProviderService)getContext().getAttributes().
get(IFloodlightProviderService.class.getCanonicalName());
ITopologyService topology =
(ITopologyService)getContext().getAttributes().
get(ITopologyService.class.getCanonicalName());
Form form = getQuery();
String queryType = form.getFirstValue("type", true);
boolean openflowDomain = true;
if (queryType != null && "l2".equals(queryType)) {
openflowDomain = false;
}
Map<String, List<String>> switchClusterMap = new HashMap<String, List<String>>();
for (Long dpid: floodlightProvider.getAllSwitchDpids()) {
Long clusterDpid =
(openflowDomain
? topology.getOpenflowDomainId(dpid)
:topology.getL2DomainId(dpid));
List<String> switchesInCluster = switchClusterMap.get(HexString.toHexString(clusterDpid));
if (switchesInCluster != null) {
switchesInCluster.add(HexString.toHexString(dpid));
} else {
List<String> l = new ArrayList<String>();
l.add(HexString.toHexString(dpid));
switchClusterMap.put(HexString.toHexString(clusterDpid), l);
}
}
return switchClusterMap;
}
示例6: makeMockTopologyAllPortsAp
import net.floodlightcontroller.topology.ITopologyService; //导入方法依赖的package包/类
private ITopologyService makeMockTopologyAllPortsAp() {
ITopologyService mockTopology = createMock(ITopologyService.class);
mockTopology.isAttachmentPointPort(anyLong(), anyShort());
expectLastCall().andReturn(true).anyTimes();
mockTopology.getL2DomainId(anyLong());
expectLastCall().andReturn(1L).anyTimes();
mockTopology.isBroadcastDomainPort(anyLong(), anyShort());
expectLastCall().andReturn(false).anyTimes();
mockTopology.isConsistent(anyLong(), anyShort(), anyLong(), anyShort());
expectLastCall().andReturn(false).anyTimes();
mockTopology.isInSameBroadcastDomain(anyLong(), anyShort(),
anyLong(), anyShort());
expectLastCall().andReturn(false).anyTimes();
return mockTopology;
}