本文整理汇总了Java中org.projectfloodlight.openflow.types.OFPort.getPortNumber方法的典型用法代码示例。如果您正苦于以下问题:Java OFPort.getPortNumber方法的具体用法?Java OFPort.getPortNumber怎么用?Java OFPort.getPortNumber使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.projectfloodlight.openflow.types.OFPort
的用法示例。
在下文中一共展示了OFPort.getPortNumber方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: retrieve
import org.projectfloodlight.openflow.types.OFPort; //导入方法依赖的package包/类
@Get("json")
public Set<LinkWithType> retrieve() {
ILinkDiscoveryService ld = (ILinkDiscoveryService)getContext().getAttributes().
get(ILinkDiscoveryService.class.getCanonicalName());
Map<Link, LinkInfo> links = new HashMap<Link, LinkInfo>();
Set<LinkWithType> returnLinkSet = new HashSet<LinkWithType>();
if (ld != null) {
links.putAll(ld.getLinks());
for (Link link: links.keySet()) {
LinkInfo info = links.get(link);
LinkType type = ld.getLinkType(link, info);
if (type == LinkType.DIRECT_LINK || type == LinkType.TUNNEL) {
LinkWithType lwt;
DatapathId src = link.getSrc();
DatapathId dst = link.getDst();
OFPort srcPort = link.getSrcPort();
OFPort dstPort = link.getDstPort();
Link otherLink = new Link(dst, dstPort, src, srcPort, U64.ZERO /* not important in lookup */);
LinkInfo otherInfo = links.get(otherLink);
LinkType otherType = null;
if (otherInfo != null)
otherType = ld.getLinkType(otherLink, otherInfo);
if (otherType == LinkType.DIRECT_LINK ||
otherType == LinkType.TUNNEL) {
// This is a bi-direcitonal link.
// It is sufficient to add only one side of it.
if ((src.getLong() < dst.getLong()) || (src.getLong() == dst.getLong()
&& srcPort.getPortNumber() < dstPort.getPortNumber())) {
lwt = new LinkWithType(link,
type,
LinkDirection.BIDIRECTIONAL);
returnLinkSet.add(lwt);
}
} else {
// This is a unidirectional link.
lwt = new LinkWithType(link,
type,
LinkDirection.UNIDIRECTIONAL);
returnLinkSet.add(lwt);
}
}
}
}
return returnLinkSet;
}
示例2: retrieve
import org.projectfloodlight.openflow.types.OFPort; //导入方法依赖的package包/类
@Get("json")
public Set<LinkWithType> retrieve() {
ILinkDiscoveryService ld = (ILinkDiscoveryService)getContext().getAttributes().
get(ILinkDiscoveryService.class.getCanonicalName());
Map<Link, LinkInfo> links = new HashMap<Link, LinkInfo>();
Set<LinkWithType> returnLinkSet = new HashSet<LinkWithType>();
if (ld != null) {
links.putAll(ld.getLinks());
for (Link link: links.keySet()) {
LinkInfo info = links.get(link);
LinkType type = ld.getLinkType(link, info);
if (type == LinkType.MULTIHOP_LINK) {
LinkWithType lwt;
DatapathId src = link.getSrc();
DatapathId dst = link.getDst();
OFPort srcPort = link.getSrcPort();
OFPort dstPort = link.getDstPort();
Link otherLink = new Link(dst, dstPort, src, srcPort, U64.ZERO /* not important in lookup */);
LinkInfo otherInfo = links.get(otherLink);
LinkType otherType = null;
if (otherInfo != null)
otherType = ld.getLinkType(otherLink, otherInfo);
if (otherType == LinkType.MULTIHOP_LINK) {
// This is a bi-direcitonal link.
// It is sufficient to add only one side of it.
if ((src.getLong() < dst.getLong()) || (src.getLong() == dst.getLong()
&& srcPort.getPortNumber() < dstPort.getPortNumber())) {
lwt = new LinkWithType(link,
type,
LinkDirection.BIDIRECTIONAL);
returnLinkSet.add(lwt);
}
} else {
// This is a unidirectional link.
lwt = new LinkWithType(link,
type,
LinkDirection.UNIDIRECTIONAL);
returnLinkSet.add(lwt);
}
}
}
}
return returnLinkSet;
}
示例3: retrieve
import org.projectfloodlight.openflow.types.OFPort; //导入方法依赖的package包/类
@Get("json")
public Set<LinkWithType> retrieve() {
ILinkDiscoveryService ld = (ILinkDiscoveryService)getContext().getAttributes().
get(ILinkDiscoveryService.class.getCanonicalName());
Map<Link, LinkInfo> links = new HashMap<Link, LinkInfo>();
Set<LinkWithType> returnLinkSet = new HashSet<LinkWithType>();
if (ld != null) {
links.putAll(ld.getLinks());
for (Link link: links.keySet()) {
LinkInfo info = links.get(link);
LinkType type = ld.getLinkType(link, info);
if (type == LinkType.DIRECT_LINK || type == LinkType.TUNNEL) {
LinkWithType lwt;
DatapathId src = link.getSrc();
DatapathId dst = link.getDst();
OFPort srcPort = link.getSrcPort();
OFPort dstPort = link.getDstPort();
Link otherLink = new Link(dst, dstPort, src, srcPort);
LinkInfo otherInfo = links.get(otherLink);
LinkType otherType = null;
if (otherInfo != null)
otherType = ld.getLinkType(otherLink, otherInfo);
if (otherType == LinkType.DIRECT_LINK ||
otherType == LinkType.TUNNEL) {
// This is a bi-direcitonal link.
// It is sufficient to add only one side of it.
if ((src.getLong() < dst.getLong()) || (src.getLong() == dst.getLong()
&& srcPort.getPortNumber() < dstPort.getPortNumber())) {
lwt = new LinkWithType(link,
type,
LinkDirection.BIDIRECTIONAL);
returnLinkSet.add(lwt);
}
} else {
// This is a unidirectional link.
lwt = new LinkWithType(link,
type,
LinkDirection.UNIDIRECTIONAL);
returnLinkSet.add(lwt);
}
}
}
}
return returnLinkSet;
}
示例4: retrieve
import org.projectfloodlight.openflow.types.OFPort; //导入方法依赖的package包/类
@Get("json")
public Set<LinkWithType> retrieve() {
ILinkDiscoveryService ld = (ILinkDiscoveryService)getContext().getAttributes().
get(ILinkDiscoveryService.class.getCanonicalName());
Map<Link, LinkInfo> links = new HashMap<Link, LinkInfo>();
Set<LinkWithType> returnLinkSet = new HashSet<LinkWithType>();
if (ld != null) {
links.putAll(ld.getLinks());
for (Link link: links.keySet()) {
LinkInfo info = links.get(link);
LinkType type = ld.getLinkType(link, info);
if (type == LinkType.MULTIHOP_LINK) {
LinkWithType lwt;
DatapathId src = link.getSrc();
DatapathId dst = link.getDst();
OFPort srcPort = link.getSrcPort();
OFPort dstPort = link.getDstPort();
Link otherLink = new Link(dst, dstPort, src, srcPort);
LinkInfo otherInfo = links.get(otherLink);
LinkType otherType = null;
if (otherInfo != null)
otherType = ld.getLinkType(otherLink, otherInfo);
if (otherType == LinkType.MULTIHOP_LINK) {
// This is a bi-direcitonal link.
// It is sufficient to add only one side of it.
if ((src.getLong() < dst.getLong()) || (src.getLong() == dst.getLong()
&& srcPort.getPortNumber() < dstPort.getPortNumber())) {
lwt = new LinkWithType(link,
type,
LinkDirection.BIDIRECTIONAL);
returnLinkSet.add(lwt);
}
} else {
// This is a unidirectional link.
lwt = new LinkWithType(link,
type,
LinkDirection.UNIDIRECTIONAL);
returnLinkSet.add(lwt);
}
}
}
}
return returnLinkSet;
}
示例5: buildPortMessage
import org.projectfloodlight.openflow.types.OFPort; //导入方法依赖的package包/类
/**
* Builds a port state change message with port number.
*
* @param switchId datapathId of switch
* @param port port that triggered the event
* @param type type of port event
* @return Message
*/
private Message buildPortMessage(final DatapathId switchId, final OFPort port, final PortChangeType type) {
InfoData data = new PortInfoData(switchId.toString(), port.getPortNumber(), null, toJsonType(type));
return buildMessage(data);
}