當前位置: 首頁>>代碼示例>>Java>>正文


Java OspfRouter類代碼示例

本文整理匯總了Java中org.onosproject.ospf.controller.OspfRouter的典型用法代碼示例。如果您正苦於以下問題:Java OspfRouter類的具體用法?Java OspfRouter怎麽用?Java OspfRouter使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


OspfRouter類屬於org.onosproject.ospf.controller包,在下文中一共展示了OspfRouter類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: buildLinkDes

import org.onosproject.ospf.controller.OspfRouter; //導入依賴的package包/類
/**
 * Builds link description.
 *
 * @param ospfRouter  OSPF router instance
 * @param ospfLinkTed OSPF link TED instance
 * @return link description instance
 */
private LinkDescription buildLinkDes(OspfRouter ospfRouter, OspfLinkTed ospfLinkTed) {
    long srcAddress = 0;
    long dstAddress = 0;
    boolean localPseduo = false;
    //Changing of port numbers
    srcAddress = Ip4Address.valueOf(ospfRouter.routerIp().toString()).toInt();
    dstAddress = Ip4Address.valueOf(ospfRouter.neighborRouterId().toString()).toInt();
    DeviceId srcId = DeviceId.deviceId(OspfRouterId.uri(ospfRouter.routerIp()));
    DeviceId dstId = DeviceId.deviceId(OspfRouterId.uri(ospfRouter.neighborRouterId()));
    if (ospfRouter.isDr()) {
        localPseduo = true;
    }
    if (localPseduo && srcAddress == 0) {
        srcAddress = PSEUDO_PORT;
    }

    ConnectPoint src = new ConnectPoint(srcId, PortNumber.portNumber(srcAddress));
    ConnectPoint dst = new ConnectPoint(dstId, PortNumber.portNumber(dstAddress));

    return new DefaultLinkDescription(src, dst, Link.Type.DIRECT, false);
}
 
開發者ID:shlee89,項目名稱:athena,代碼行數:29,代碼來源:OspfTopologyProvider.java

示例2: routerAdded

import org.onosproject.ospf.controller.OspfRouter; //導入依賴的package包/類
@Override
public void routerAdded(OspfRouter ospfRouter) {
    String routerId = ospfRouter.routerIp().toString();
    log.info("Added device {}", routerId);
    DeviceId deviceId = DeviceId.deviceId(OspfRouterId.uri(ospfRouter.routerIp()));
    Device.Type deviceType = Device.Type.ROUTER;
    //If our routerType is Dr or Bdr type is PSEUDO
    if (ospfRouter.isDr()) {
        deviceType = Device.Type.ROUTER;
    } else {
        deviceType = Device.Type.VIRTUAL;
    }
    //deviceId = DeviceId.deviceId(routerDetails);
    ChassisId cId = new ChassisId();
    DefaultAnnotations.Builder newBuilder = DefaultAnnotations.builder();

    newBuilder.set(AnnotationKeys.TYPE, "l3");
    newBuilder.set("routerId", routerId);
    DeviceDescription description =
            new DefaultDeviceDescription(OspfRouterId.uri(ospfRouter.routerIp()),
                    deviceType, UNKNOWN, UNKNOWN, UNKNOWN,
                    UNKNOWN, cId, newBuilder.build());
    deviceProviderService.deviceConnected(deviceId, description);
}
 
開發者ID:shlee89,項目名稱:athena,代碼行數:25,代碼來源:OspfTopologyProvider.java

示例3: addLink

import org.onosproject.ospf.controller.OspfRouter; //導入依賴的package包/類
@Override
public void addLink(OspfRouter ospfRouter, OspfLinkTed ospfLinkTed) {
    log.debug("Addlink {}", ospfRouter.routerIp());
    LinkDescription linkDes = buildLinkDes(ospfRouter, ospfLinkTed);
    //If already link exists, return
    if (linkService.getLink(linkDes.src(), linkDes.dst()) != null || linkProviderService == null) {
        return;
    }
    //Updating ports of the link
    List<PortDescription> srcPortDescriptions = new LinkedList<>();
    srcPortDescriptions.add(new DefaultPortDescription(linkDes.src().port(), true));
    deviceProviderService.updatePorts(linkDes.src().deviceId(), srcPortDescriptions);

    List<PortDescription> dstPortDescriptions = new LinkedList<>();
    dstPortDescriptions.add(new DefaultPortDescription(linkDes.dst().port(), true));
    deviceProviderService.updatePorts(linkDes.dst().deviceId(), dstPortDescriptions);
    linkProviderService.linkDetected(linkDes);
}
 
開發者ID:shlee89,項目名稱:athena,代碼行數:19,代碼來源:OspfTopologyProvider.java

示例4: deleteLink

import org.onosproject.ospf.controller.OspfRouter; //導入依賴的package包/類
@Override
public void deleteLink(OspfRouter ospfRouter, OspfLinkTed ospfLinkTed) {
    log.debug("Delete link {}", ospfRouter.routerIp().toString());
    if (linkProviderService == null) {
        return;
    }
    LinkDescription linkDes = buildLinkDes(ospfRouter, ospfLinkTed);
    //Updating ports of the link
    List<PortDescription> srcPortDescriptions = new LinkedList<>();
    srcPortDescriptions.add(new DefaultPortDescription(linkDes.src().port(), true));
    deviceProviderService.updatePorts(linkDes.src().deviceId(), srcPortDescriptions);

    List<PortDescription> dstPortDescriptions = new LinkedList<>();
    dstPortDescriptions.add(new DefaultPortDescription(linkDes.dst().port(), true));
    deviceProviderService.updatePorts(linkDes.dst().deviceId(), dstPortDescriptions);
    linkProviderService.linkVanished(linkDes);
}
 
開發者ID:shlee89,項目名稱:athena,代碼行數:18,代碼來源:OspfTopologyProvider.java

示例5: addConnectedRouter

import org.onosproject.ospf.controller.OspfRouter; //導入依賴的package包/類
@Override
public boolean addConnectedRouter(OspfRouter ospfRouter) {
    for (OspfRouterListener l : listener()) {
        l.routerAdded(ospfRouter);
    }
    return true;
}
 
開發者ID:shlee89,項目名稱:athena,代碼行數:8,代碼來源:OspfControllerImpl.java

示例6: addLink

import org.onosproject.ospf.controller.OspfRouter; //導入依賴的package包/類
@Override
public void addLink(OspfRouter ospfRouter, OspfLinkTed ospfLinkTed) {
    for (OspfLinkListener l : linkListener()) {
        l.addLink(ospfRouter, ospfLinkTed);
    }

}
 
開發者ID:shlee89,項目名稱:athena,代碼行數:8,代碼來源:OspfControllerImpl.java

示例7: neighborDown

import org.onosproject.ospf.controller.OspfRouter; //導入依賴的package包/類
/**
 * Called when neighbor is down.
 *
 * @throws Exception might throws exception
 */
public void neighborDown() throws Exception {
    log.debug("Neighbor Down {} and NeighborId {}", neighborIpAddr,
              neighborId);
    stopInactivityTimeCheck();
    stopRxMtDdTimer();
    stopRxMtLsrTimer();

    if (floodingTimerScheduled) {
        stopFloodingTimer();
        floodingTimerScheduled = false;
    }

    state = OspfNeighborState.DOWN;
    ospfArea.refreshArea(ospfInterface);
    lsReqList.clear();
    ddSummaryList.clear();
    if (neighborIpAddr.equals(neighborBdr) ||
            neighborIpAddr.equals(neighborDr)) {
        ((OspfInterfaceImpl) ospfInterface).neighborChange();
    }
    log.debug("Neighbor Went Down : "
                      + this.neighborIpAddr + " , " + this.neighborId);
    removeDeviceDetails(this.neighborId);
    OspfRouter ospfRouter = new OspfRouterImpl();
    ospfRouter.setRouterIp(this.neighborId());
    ospfRouter.setInterfaceId(ospfInterface.ipAddress());
    ospfRouter.setAreaIdOfInterface(ospfArea.areaId());
    ospfRouter.setDeviceTed(new OspfDeviceTedImpl());
    ((OspfInterfaceImpl) ospfInterface).removeDeviceInformation(ospfRouter);
    removeDeviceDetails(this.neighborIpAddr);
    OspfRouter ospfRouter1 = new OspfRouterImpl();
    ospfRouter1.setRouterIp(this.neighborIpAddr);
    ospfRouter1.setInterfaceId(ospfInterface.ipAddress());
    ospfRouter1.setAreaIdOfInterface(ospfArea.areaId());
    ospfRouter1.setDeviceTed(new OspfDeviceTedImpl());
    ((OspfInterfaceImpl) ospfInterface).removeDeviceInformation(ospfRouter1);
}
 
開發者ID:shlee89,項目名稱:athena,代碼行數:43,代碼來源:OspfNbrImpl.java

示例8: routerRemoved

import org.onosproject.ospf.controller.OspfRouter; //導入依賴的package包/類
@Override
public void routerRemoved(OspfRouter ospfRouter) {
    String routerId = ospfRouter.routerIp().toString();
    log.info("Delete device {}", routerId);
    DeviceId deviceId = DeviceId.deviceId(OspfRouterId.uri(ospfRouter.routerIp()));
    if (deviceProviderService == null) {
        return;
    }
    deviceProviderService.deviceDisconnected(deviceId);
    log.info("delete device {}", routerId);
}
 
開發者ID:shlee89,項目名稱:athena,代碼行數:12,代碼來源:OspfTopologyProvider.java

示例9: ospfTopologyProviderTestAddDevice2

import org.onosproject.ospf.controller.OspfRouter; //導入依賴的package包/類
@Test
public void ospfTopologyProviderTestAddDevice2() {
    int deviceAddCount = 0;
    OspfRouter ospfRouter = new OspfRouterImpl();
    ospfRouter.setDr(true);
    ospfRouter.setOpaque(true);
    ospfRouter.setNeighborRouterId(Ip4Address.valueOf("3.3.3.3"));
    ospfRouter.setInterfaceId(Ip4Address.valueOf("10.10.10.3"));
    ospfRouter.setAreaIdOfInterface(Ip4Address.valueOf("6.6.6.6"));
    ospfRouter.setRouterIp(Ip4Address.valueOf("7.7.7.7"));
    OspfDeviceTed ospfDeviceTed = new OspfDeviceTedImpl();
    ospfDeviceTed.setAbr(true);
    ospfDeviceTed.setAsbr(true);
    ospfRouter.setDeviceTed(ospfDeviceTed);
    OspfLinkTed ospfLinkTed = new OspfLinkTedImpl();
    ospfLinkTed.setMaximumLink(Bandwidth.bps(30));
    ospfLinkTed.setMaxReserved(Bandwidth.bps(40));
    ospfLinkTed.setTeMetric(50);
    for (OspfRouterListener l : controller.nodeListener) {
        l.routerAdded(ospfRouter);
        deviceAddCount = nodeRegistry.connected.size();
        assertTrue(deviceAddCount == 1);
        l.routerRemoved(ospfRouter);
        deviceAddCount = nodeRegistry.connected.size();
        assertTrue(deviceAddCount == 0);
    }
}
 
開發者ID:shlee89,項目名稱:athena,代碼行數:28,代碼來源:OspfTopologyProviderTest.java

示例10: neighborDown

import org.onosproject.ospf.controller.OspfRouter; //導入依賴的package包/類
/**
 * Called when neighbor is down.
 */
public void neighborDown() {
    log.debug("Neighbor Down {} and NeighborId {}", neighborIpAddr,
              neighborId);
    stopInactivityTimeCheck();
    stopRxMtDdTimer();
    stopRxMtLsrTimer();

    if (floodingTimerScheduled) {
        stopFloodingTimer();
        floodingTimerScheduled = false;
    }

    state = OspfNeighborState.DOWN;
    ospfArea.refreshArea(ospfInterface);
    lsReqList.clear();
    ddSummaryList.clear();
    if (neighborIpAddr.equals(neighborBdr) ||
            neighborIpAddr.equals(neighborDr)) {
        ((OspfInterfaceImpl) ospfInterface).neighborChange();
    }
    log.debug("Neighbor Went Down : "
                      + this.neighborIpAddr + " , " + this.neighborId);
    removeDeviceDetails(this.neighborId);
    OspfRouter ospfRouter = new OspfRouterImpl();
    ospfRouter.setRouterIp(this.neighborId());
    ospfRouter.setInterfaceId(ospfInterface.ipAddress());
    ospfRouter.setAreaIdOfInterface(ospfArea.areaId());
    ospfRouter.setDeviceTed(new OspfDeviceTedImpl());
    ((OspfInterfaceImpl) ospfInterface).removeDeviceInformation(ospfRouter);
    removeDeviceDetails(this.neighborIpAddr);
    OspfRouter ospfRouter1 = new OspfRouterImpl();
    ospfRouter1.setRouterIp(this.neighborIpAddr);
    ospfRouter1.setInterfaceId(ospfInterface.ipAddress());
    ospfRouter1.setAreaIdOfInterface(ospfArea.areaId());
    ospfRouter1.setDeviceTed(new OspfDeviceTedImpl());
    ((OspfInterfaceImpl) ospfInterface).removeDeviceInformation(ospfRouter1);
}
 
開發者ID:opennetworkinglab,項目名稱:onos,代碼行數:41,代碼來源:OspfNbrImpl.java

示例11: removeConnectedRouter

import org.onosproject.ospf.controller.OspfRouter; //導入依賴的package包/類
@Override
public void removeConnectedRouter(OspfRouter ospfRouter) {
    for (OspfRouterListener l : listener()) {
        l.routerRemoved(ospfRouter);
    }
}
 
開發者ID:shlee89,項目名稱:athena,代碼行數:7,代碼來源:OspfControllerImpl.java

示例12: deleteLink

import org.onosproject.ospf.controller.OspfRouter; //導入依賴的package包/類
@Override
public void deleteLink(OspfRouter ospfRouter, OspfLinkTed ospfLinkTed) {
    for (OspfLinkListener l : linkListener()) {
        l.deleteLink(ospfRouter, ospfLinkTed);
    }
}
 
開發者ID:shlee89,項目名稱:athena,代碼行數:7,代碼來源:OspfControllerImpl.java

示例13: routerChanged

import org.onosproject.ospf.controller.OspfRouter; //導入依賴的package包/類
@Override
public void routerChanged(OspfRouter ospfRouter) {
    log.info("Router changed is not supported currently");
}
 
開發者ID:shlee89,項目名稱:athena,代碼行數:5,代碼來源:OspfTopologyProvider.java

示例14: addDeviceInformation

import org.onosproject.ospf.controller.OspfRouter; //導入依賴的package包/類
/**
 * Adds device information.
 *
 * @param ospfRouter OSPF router instance
 */
public void addDeviceInformation(OspfRouter ospfRouter) {
    controller.addDeviceDetails(ospfRouter);
}
 
開發者ID:shlee89,項目名稱:athena,代碼行數:9,代碼來源:OspfInterfaceImpl.java

示例15: removeDeviceInformation

import org.onosproject.ospf.controller.OspfRouter; //導入依賴的package包/類
/**
 * removes device information.
 *
 * @param ospfRouter OSPF neighbor instance
 */
public void removeDeviceInformation(OspfRouter ospfRouter) {
    controller.removeDeviceDetails(ospfRouter);
}
 
開發者ID:shlee89,項目名稱:athena,代碼行數:9,代碼來源:OspfInterfaceImpl.java


注:本文中的org.onosproject.ospf.controller.OspfRouter類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。