Committed by
Gerrit Code Review
[ONOS-4738], [ONOS-4737], [ONOS-4741]resilency defect fix
Change-Id: Ie708e932d95d3eedad417075f39135aae31064d9
Showing
9 changed files
with
86 additions
and
22 deletions
... | @@ -116,7 +116,6 @@ import static org.onosproject.incubator.net.tunnel.Tunnel.Type.MPLS; | ... | @@ -116,7 +116,6 @@ import static org.onosproject.incubator.net.tunnel.Tunnel.Type.MPLS; |
116 | import static org.onosproject.incubator.net.tunnel.Tunnel.State.INIT; | 116 | import static org.onosproject.incubator.net.tunnel.Tunnel.State.INIT; |
117 | import static org.onosproject.incubator.net.tunnel.Tunnel.State.ESTABLISHED; | 117 | import static org.onosproject.incubator.net.tunnel.Tunnel.State.ESTABLISHED; |
118 | import static org.onosproject.incubator.net.tunnel.Tunnel.State.UNSTABLE; | 118 | import static org.onosproject.incubator.net.tunnel.Tunnel.State.UNSTABLE; |
119 | -import static org.onosproject.incubator.net.tunnel.Tunnel.State.FAILED; | ||
120 | import static org.onosproject.pce.pceservice.LspType.WITH_SIGNALLING; | 119 | import static org.onosproject.pce.pceservice.LspType.WITH_SIGNALLING; |
121 | import static org.onosproject.pce.pceservice.LspType.SR_WITHOUT_SIGNALLING; | 120 | import static org.onosproject.pce.pceservice.LspType.SR_WITHOUT_SIGNALLING; |
122 | import static org.onosproject.pce.pceservice.LspType.WITHOUT_SIGNALLING_AND_WITHOUT_SR; | 121 | import static org.onosproject.pce.pceservice.LspType.WITHOUT_SIGNALLING_AND_WITHOUT_SR; |
... | @@ -1185,10 +1184,6 @@ public class PceManager implements PceService { | ... | @@ -1185,10 +1184,6 @@ public class PceManager implements PceService { |
1185 | tunnel.tunnelName().value(), constraints, lspType)); | 1184 | tunnel.tunnelName().value(), constraints, lspType)); |
1186 | } | 1185 | } |
1187 | 1186 | ||
1188 | - if (tunnel.state() == FAILED) { | ||
1189 | - // Check whether this ONOS instance is master, if yes, recompute and send update. | ||
1190 | - checkForMasterAndUpdateTunnel(tunnel.path().src().deviceId(), tunnel); | ||
1191 | - } | ||
1192 | break; | 1187 | break; |
1193 | 1188 | ||
1194 | case TUNNEL_REMOVED: | 1189 | case TUNNEL_REMOVED: | ... | ... |
... | @@ -664,6 +664,11 @@ public class PceWebTopovMessageHandler extends UiMessageHandler { | ... | @@ -664,6 +664,11 @@ public class PceWebTopovMessageHandler extends UiMessageHandler { |
664 | sendMessage(TopoJson.highlightsMessage(highlights)); | 664 | sendMessage(TopoJson.highlightsMessage(highlights)); |
665 | return; | 665 | return; |
666 | } | 666 | } |
667 | + if (!tunnel.state().equals(Tunnel.State.ACTIVE)) { | ||
668 | + log.debug("Tunnel state is not active"); | ||
669 | + sendMessage(TopoJson.highlightsMessage(highlights)); | ||
670 | + return; | ||
671 | + } | ||
667 | Link firstLink = tunnel.path().links().get(0); | 672 | Link firstLink = tunnel.path().links().get(0); |
668 | if (firstLink != null) { | 673 | if (firstLink != null) { |
669 | if (firstLink.src() != null) { | 674 | if (firstLink.src() != null) { | ... | ... |
... | @@ -107,8 +107,6 @@ public final class BgpLinkAttrMaxLinkBandwidth implements BgpValueType { | ... | @@ -107,8 +107,6 @@ public final class BgpLinkAttrMaxLinkBandwidth implements BgpValueType { |
107 | * @return normal float | 107 | * @return normal float |
108 | */ | 108 | */ |
109 | static float ieeeToFloatRead(int iVal) { | 109 | static float ieeeToFloatRead(int iVal) { |
110 | - iVal = (((iVal & 0xFF) << 24) | ((iVal & 0xFF00) << 8) | ||
111 | - | ((iVal & 0xFF0000) >> 8) | ((iVal >> 24) & 0xFF)); | ||
112 | 110 | ||
113 | return Float.intBitsToFloat(iVal); | 111 | return Float.intBitsToFloat(iVal); |
114 | } | 112 | } | ... | ... |
... | @@ -115,8 +115,6 @@ public class BgpLinkAttrUnRsrvdLinkBandwidth implements BgpValueType { | ... | @@ -115,8 +115,6 @@ public class BgpLinkAttrUnRsrvdLinkBandwidth implements BgpValueType { |
115 | * @return normal float | 115 | * @return normal float |
116 | */ | 116 | */ |
117 | static float ieeeToFloatRead(int iVal) { | 117 | static float ieeeToFloatRead(int iVal) { |
118 | - iVal = (((iVal & 0xFF) << 24) | ((iVal & 0xFF00) << 8) | ||
119 | - | ((iVal & 0xFF0000) >> 8) | ((iVal >> 24) & 0xFF)); | ||
120 | 118 | ||
121 | return Float.intBitsToFloat(iVal); | 119 | return Float.intBitsToFloat(iVal); |
122 | } | 120 | } | ... | ... |
... | @@ -135,8 +135,6 @@ public class PcepBandwidthObjectVer1 implements PcepBandwidthObject { | ... | @@ -135,8 +135,6 @@ public class PcepBandwidthObjectVer1 implements PcepBandwidthObject { |
135 | * @return normal float | 135 | * @return normal float |
136 | */ | 136 | */ |
137 | public static float ieeeToFloatRead(int iVal) { | 137 | public static float ieeeToFloatRead(int iVal) { |
138 | - iVal = (((iVal & 0xFF) << 24) | ((iVal & 0xFF00) << 8) | ||
139 | - | ((iVal & 0xFF0000) >> 8) | ((iVal >> 24) & 0xFF)); | ||
140 | 138 | ||
141 | return Float.intBitsToFloat(iVal); | 139 | return Float.intBitsToFloat(iVal); |
142 | } | 140 | } | ... | ... |
... | @@ -492,8 +492,8 @@ public class BgpTopologyProvider extends AbstractProvider implements DeviceProvi | ... | @@ -492,8 +492,8 @@ public class BgpTopologyProvider extends AbstractProvider implements DeviceProvi |
492 | switch (tlv.getType()) { | 492 | switch (tlv.getType()) { |
493 | case LinkStateAttributes.ATTR_LINK_MAX_RES_BANDWIDTH: | 493 | case LinkStateAttributes.ATTR_LINK_MAX_RES_BANDWIDTH: |
494 | maxReservableBw = ((BgpLinkAttrMaxLinkBandwidth) tlv).linkAttrMaxLinkBandwidth(); | 494 | maxReservableBw = ((BgpLinkAttrMaxLinkBandwidth) tlv).linkAttrMaxLinkBandwidth(); |
495 | - //will get in bytes/second , convert to MBPS to store in network config service | 495 | + //will get in bits/second , convert to MBPS to store in network config service |
496 | - maxReservableBw = maxReservableBw * 8 / 1000000; | 496 | + maxReservableBw = maxReservableBw / 1000000; |
497 | break; | 497 | break; |
498 | default: // do nothing | 498 | default: // do nothing |
499 | } | 499 | } | ... | ... |
... | @@ -1005,7 +1005,7 @@ public class BgpTopologyProviderTest { | ... | @@ -1005,7 +1005,7 @@ public class BgpTopologyProviderTest { |
1005 | linkStateAttr.add(tlv); | 1005 | linkStateAttr.add(tlv); |
1006 | tlv = BgpLinkAttrTeDefaultMetric.of(20); | 1006 | tlv = BgpLinkAttrTeDefaultMetric.of(20); |
1007 | linkStateAttr.add(tlv); | 1007 | linkStateAttr.add(tlv); |
1008 | - tlv = BgpLinkAttrMaxLinkBandwidth.of((float) 8.75 * 1_000_000L, | 1008 | + tlv = BgpLinkAttrMaxLinkBandwidth.of((float) 70 * 1_000_000L, |
1009 | LinkStateAttributes.ATTR_LINK_MAX_RES_BANDWIDTH); | 1009 | LinkStateAttributes.ATTR_LINK_MAX_RES_BANDWIDTH); |
1010 | linkStateAttr.add(tlv); | 1010 | linkStateAttr.add(tlv); |
1011 | linkPathAttributes.add(new LinkStateAttributes(linkStateAttr)); | 1011 | linkPathAttributes.add(new LinkStateAttributes(linkStateAttr)); | ... | ... |
... | @@ -66,6 +66,7 @@ import org.onosproject.net.Path; | ... | @@ -66,6 +66,7 @@ import org.onosproject.net.Path; |
66 | import org.onosproject.net.PortNumber; | 66 | import org.onosproject.net.PortNumber; |
67 | import org.onosproject.net.SparseAnnotations; | 67 | import org.onosproject.net.SparseAnnotations; |
68 | import org.onosproject.net.device.DeviceService; | 68 | import org.onosproject.net.device.DeviceService; |
69 | +import org.onosproject.net.link.LinkService; | ||
69 | import org.onosproject.net.provider.AbstractProvider; | 70 | import org.onosproject.net.provider.AbstractProvider; |
70 | import org.onosproject.net.provider.ProviderId; | 71 | import org.onosproject.net.provider.ProviderId; |
71 | import org.onosproject.pcep.api.PcepController; | 72 | import org.onosproject.pcep.api.PcepController; |
... | @@ -213,6 +214,9 @@ public class PcepTunnelProvider extends AbstractProvider implements TunnelProvid | ... | @@ -213,6 +214,9 @@ public class PcepTunnelProvider extends AbstractProvider implements TunnelProvid |
213 | @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) | 214 | @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) |
214 | protected DeviceService deviceService; | 215 | protected DeviceService deviceService; |
215 | 216 | ||
217 | + @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) | ||
218 | + protected LinkService linkService; | ||
219 | + | ||
216 | TunnelProviderService service; | 220 | TunnelProviderService service; |
217 | 221 | ||
218 | HashMap<String, TunnelId> tunnelMap = new HashMap<String, TunnelId>(); | 222 | HashMap<String, TunnelId> tunnelMap = new HashMap<String, TunnelId>(); |
... | @@ -611,6 +615,7 @@ public class PcepTunnelProvider extends AbstractProvider implements TunnelProvid | ... | @@ -611,6 +615,7 @@ public class PcepTunnelProvider extends AbstractProvider implements TunnelProvid |
611 | if (tunnel.type() == MPLS) { | 615 | if (tunnel.type() == MPLS) { |
612 | pcepTunnelApiMapper.removeFromCoreTunnelRequestQueue(tunnel.id()); | 616 | pcepTunnelApiMapper.removeFromCoreTunnelRequestQueue(tunnel.id()); |
613 | service.tunnelRemoved(tunnel); | 617 | service.tunnelRemoved(tunnel); |
618 | + return; | ||
614 | } | 619 | } |
615 | 620 | ||
616 | Tunnel tunnelOld = tunnelQueryById(tunnel.id()); | 621 | Tunnel tunnelOld = tunnelQueryById(tunnel.id()); |
... | @@ -1681,8 +1686,8 @@ public class PcepTunnelProvider extends AbstractProvider implements TunnelProvid | ... | @@ -1681,8 +1686,8 @@ public class PcepTunnelProvider extends AbstractProvider implements TunnelProvid |
1681 | if (lspObj.getDFlag()) { | 1686 | if (lspObj.getDFlag()) { |
1682 | annotations = getAnnotations(lspObj, ipv4LspIdenTlv, bandwidth, lspType, costType); | 1687 | annotations = getAnnotations(lspObj, ipv4LspIdenTlv, bandwidth, lspType, costType); |
1683 | td = new DefaultTunnelDescription(null, tunnelEndPointSrc, tunnelEndPointDst, MPLS, new DefaultGroupId( | 1688 | td = new DefaultTunnelDescription(null, tunnelEndPointSrc, tunnelEndPointDst, MPLS, new DefaultGroupId( |
1684 | - 0), providerId, TunnelName.tunnelName(new String(pathNameTlv.getValue())), path, labelStack, | 1689 | + 0), providerId, TunnelName.tunnelName(new String(pathNameTlv.getValue())), |
1685 | - annotations); | 1690 | + tunnel.path(), labelStack, annotations); |
1686 | tunnelUpdateInDelegatedCase(pccId, annotations, td, providerId); | 1691 | tunnelUpdateInDelegatedCase(pccId, annotations, td, providerId); |
1687 | } | 1692 | } |
1688 | removeOrUpdatetunnel(tunnel, pccId, lspObj, providerId, tunnelState); | 1693 | removeOrUpdatetunnel(tunnel, pccId, lspObj, providerId, tunnelState); |
... | @@ -1744,12 +1749,29 @@ public class PcepTunnelProvider extends AbstractProvider implements TunnelProvid | ... | @@ -1744,12 +1749,29 @@ public class PcepTunnelProvider extends AbstractProvider implements TunnelProvid |
1744 | 1749 | ||
1745 | IPv4SubObject ipv4SubObj = (IPv4SubObject) subObj; | 1750 | IPv4SubObject ipv4SubObj = (IPv4SubObject) subObj; |
1746 | if (!isSrcSet) { | 1751 | if (!isSrcSet) { |
1747 | - IpAddress srcIp = IpAddress.valueOf(ipv4SubObj.getIpAddress()); | 1752 | + Iterable<Link> links = linkService.getActiveLinks(); |
1748 | - src = new ConnectPoint(IpElementId.ipElement(srcIp), PortNumber.portNumber(0)); | 1753 | + for (Link l : links) { |
1749 | - isSrcSet = true; | 1754 | + if (l.src().port().equals(PortNumber.portNumber(ipv4SubObj.getIpAddress()))) { |
1750 | - } else { | 1755 | + src = l.src(); |
1751 | - IpAddress dstIp = IpAddress.valueOf(ipv4SubObj.getIpAddress()); | 1756 | + isSrcSet = true; |
1752 | - dst = new ConnectPoint(IpElementId.ipElement(dstIp), PortNumber.portNumber(0)); | 1757 | + break; |
1758 | + } else if (l.dst().port().equals(PortNumber.portNumber(ipv4SubObj.getIpAddress()))) { | ||
1759 | + src = l.dst(); | ||
1760 | + isSrcSet = true; | ||
1761 | + break; | ||
1762 | + } | ||
1763 | + } | ||
1764 | + } else { | ||
1765 | + Iterable<Link> links = linkService.getActiveLinks(); | ||
1766 | + for (Link l : links) { | ||
1767 | + if (l.src().port().equals(PortNumber.portNumber(ipv4SubObj.getIpAddress()))) { | ||
1768 | + dst = l.src(); | ||
1769 | + break; | ||
1770 | + } else if (l.dst().port().equals(PortNumber.portNumber(ipv4SubObj.getIpAddress()))) { | ||
1771 | + dst = l.dst(); | ||
1772 | + break; | ||
1773 | + } | ||
1774 | + } | ||
1753 | Link link = DefaultLink.builder() | 1775 | Link link = DefaultLink.builder() |
1754 | .providerId(providerId) | 1776 | .providerId(providerId) |
1755 | .src(src) | 1777 | .src(src) | ... | ... |
... | @@ -28,6 +28,7 @@ import static org.onosproject.pcep.controller.PcepAnnotationKeys.DELEGATE; | ... | @@ -28,6 +28,7 @@ import static org.onosproject.pcep.controller.PcepAnnotationKeys.DELEGATE; |
28 | import static org.onosproject.pcep.controller.LspType.WITHOUT_SIGNALLING_AND_WITHOUT_SR; | 28 | import static org.onosproject.pcep.controller.LspType.WITHOUT_SIGNALLING_AND_WITHOUT_SR; |
29 | import static org.onosproject.pcep.controller.PcepSyncStatus.SYNCED; | 29 | import static org.onosproject.pcep.controller.PcepSyncStatus.SYNCED; |
30 | import static org.onosproject.net.Device.Type.ROUTER; | 30 | import static org.onosproject.net.Device.Type.ROUTER; |
31 | +import static org.onosproject.net.Link.State.ACTIVE; | ||
31 | import static org.onosproject.net.MastershipRole.MASTER; | 32 | import static org.onosproject.net.MastershipRole.MASTER; |
32 | 33 | ||
33 | import java.io.IOException; | 34 | import java.io.IOException; |
... | @@ -62,15 +63,20 @@ import org.onosproject.incubator.net.tunnel.TunnelProviderService; | ... | @@ -62,15 +63,20 @@ import org.onosproject.incubator.net.tunnel.TunnelProviderService; |
62 | import org.onosproject.incubator.net.tunnel.Tunnel.State; | 63 | import org.onosproject.incubator.net.tunnel.Tunnel.State; |
63 | import org.onosproject.mastership.MastershipServiceAdapter; | 64 | import org.onosproject.mastership.MastershipServiceAdapter; |
64 | import org.onosproject.net.AnnotationKeys; | 65 | import org.onosproject.net.AnnotationKeys; |
66 | +import org.onosproject.net.ConnectPoint; | ||
65 | import org.onosproject.net.DefaultAnnotations; | 67 | import org.onosproject.net.DefaultAnnotations; |
66 | import org.onosproject.net.DefaultDevice; | 68 | import org.onosproject.net.DefaultDevice; |
69 | +import org.onosproject.net.DefaultLink; | ||
67 | import org.onosproject.net.Device; | 70 | import org.onosproject.net.Device; |
68 | import org.onosproject.net.DeviceId; | 71 | import org.onosproject.net.DeviceId; |
69 | import org.onosproject.net.ElementId; | 72 | import org.onosproject.net.ElementId; |
73 | +import org.onosproject.net.Link; | ||
70 | import org.onosproject.net.MastershipRole; | 74 | import org.onosproject.net.MastershipRole; |
71 | import org.onosproject.net.Path; | 75 | import org.onosproject.net.Path; |
76 | +import org.onosproject.net.PortNumber; | ||
72 | import org.onosproject.net.SparseAnnotations; | 77 | import org.onosproject.net.SparseAnnotations; |
73 | import org.onosproject.net.device.DeviceServiceAdapter; | 78 | import org.onosproject.net.device.DeviceServiceAdapter; |
79 | +import org.onosproject.net.link.LinkServiceAdapter; | ||
74 | import org.onosproject.net.provider.ProviderId; | 80 | import org.onosproject.net.provider.ProviderId; |
75 | import org.onosproject.pcepio.exceptions.PcepOutOfBoundMessageException; | 81 | import org.onosproject.pcepio.exceptions.PcepOutOfBoundMessageException; |
76 | import org.onosproject.pcepio.exceptions.PcepParseException; | 82 | import org.onosproject.pcepio.exceptions.PcepParseException; |
... | @@ -82,6 +88,7 @@ import org.onosproject.pcep.controller.ClientCapability; | ... | @@ -82,6 +88,7 @@ import org.onosproject.pcep.controller.ClientCapability; |
82 | import org.onosproject.pcep.controller.LspKey; | 88 | import org.onosproject.pcep.controller.LspKey; |
83 | import org.onosproject.pcep.controller.PccId; | 89 | import org.onosproject.pcep.controller.PccId; |
84 | 90 | ||
91 | +import com.google.common.collect.FluentIterable; | ||
85 | import com.google.common.collect.ImmutableSet; | 92 | import com.google.common.collect.ImmutableSet; |
86 | 93 | ||
87 | /** | 94 | /** |
... | @@ -99,8 +106,23 @@ public class PcepTunnelAddedTest { | ... | @@ -99,8 +106,23 @@ public class PcepTunnelAddedTest { |
99 | private final MockTunnelServiceAdapter tunnelService = new MockTunnelServiceAdapter(); | 106 | private final MockTunnelServiceAdapter tunnelService = new MockTunnelServiceAdapter(); |
100 | public final MockDeviceService deviceService = new MockDeviceService(); | 107 | public final MockDeviceService deviceService = new MockDeviceService(); |
101 | private final MockMasterShipService masterShipService = new MockMasterShipService(); | 108 | private final MockMasterShipService masterShipService = new MockMasterShipService(); |
109 | + private final MockLinkService linkService = new MockLinkService(); | ||
102 | private final MockTunnelAdminService tunnelAdminService = new MockTunnelAdminService(); | 110 | private final MockTunnelAdminService tunnelAdminService = new MockTunnelAdminService(); |
103 | 111 | ||
112 | + private class MockLinkService extends LinkServiceAdapter { | ||
113 | + LinkedList<Link> links = new LinkedList<>(); | ||
114 | + void addLink(Link link) { | ||
115 | + links.add(link); | ||
116 | + } | ||
117 | + | ||
118 | + @Override | ||
119 | + public Iterable<Link> getActiveLinks() { | ||
120 | + | ||
121 | + return FluentIterable.from(links) | ||
122 | + .filter(input -> input.state() == Link.State.ACTIVE); | ||
123 | + } | ||
124 | + } | ||
125 | + | ||
104 | private class MockTunnelAdminService implements TunnelAdminService { | 126 | private class MockTunnelAdminService implements TunnelAdminService { |
105 | 127 | ||
106 | @Override | 128 | @Override |
... | @@ -275,6 +297,7 @@ public class PcepTunnelAddedTest { | ... | @@ -275,6 +297,7 @@ public class PcepTunnelAddedTest { |
275 | tunnelProvider.tunnelService = tunnelService; | 297 | tunnelProvider.tunnelService = tunnelService; |
276 | tunnelProvider.tunnelAdminService = tunnelAdminService; | 298 | tunnelProvider.tunnelAdminService = tunnelAdminService; |
277 | tunnelProvider.service = registry.register(tunnelProvider); | 299 | tunnelProvider.service = registry.register(tunnelProvider); |
300 | + tunnelProvider.linkService = linkService; | ||
278 | tunnelProvider.activate(); | 301 | tunnelProvider.activate(); |
279 | } | 302 | } |
280 | 303 | ||
... | @@ -326,6 +349,14 @@ public class PcepTunnelAddedTest { | ... | @@ -326,6 +349,14 @@ public class PcepTunnelAddedTest { |
326 | controller.getClient(PccId.pccId(IpAddress.valueOf("1.1.1.1"))).setCapability( | 349 | controller.getClient(PccId.pccId(IpAddress.valueOf("1.1.1.1"))).setCapability( |
327 | new ClientCapability(true, true, true, true, true)); | 350 | new ClientCapability(true, true, true, true, true)); |
328 | masterShipService.setMaster(true); | 351 | masterShipService.setMaster(true); |
352 | + Link link = DefaultLink.builder() | ||
353 | + .src(new ConnectPoint(device.id(), PortNumber.portNumber(16843009))) | ||
354 | + .dst(new ConnectPoint(device.id(), PortNumber.portNumber(84215045))) | ||
355 | + .state(ACTIVE) | ||
356 | + .type(Link.Type.DIRECT) | ||
357 | + .providerId(ProviderId.NONE) | ||
358 | + .build(); | ||
359 | + linkService.addLink(link); | ||
329 | controller.processClientMessage(PccId.pccId(IpAddress.valueOf("1.1.1.1")), message); | 360 | controller.processClientMessage(PccId.pccId(IpAddress.valueOf("1.1.1.1")), message); |
330 | 361 | ||
331 | assertThat(registry.tunnelIdCounter, is((long) 1)); | 362 | assertThat(registry.tunnelIdCounter, is((long) 1)); |
... | @@ -444,6 +475,14 @@ public class PcepTunnelAddedTest { | ... | @@ -444,6 +475,14 @@ public class PcepTunnelAddedTest { |
444 | controller.getClient(pccId).setLspDbSyncStatus(SYNCED); | 475 | controller.getClient(pccId).setLspDbSyncStatus(SYNCED); |
445 | controller.getClient(pccId).setCapability(new ClientCapability(true, true, true, true, true)); | 476 | controller.getClient(pccId).setCapability(new ClientCapability(true, true, true, true, true)); |
446 | 477 | ||
478 | + Link link = DefaultLink.builder() | ||
479 | + .src(new ConnectPoint(device.id(), PortNumber.portNumber(16843009))) | ||
480 | + .dst(new ConnectPoint(device.id(), PortNumber.portNumber(84215045))) | ||
481 | + .state(ACTIVE) | ||
482 | + .type(Link.Type.DIRECT) | ||
483 | + .providerId(ProviderId.NONE) | ||
484 | + .build(); | ||
485 | + linkService.addLink(link); | ||
447 | PcepClientAdapter pc = new PcepClientAdapter(); | 486 | PcepClientAdapter pc = new PcepClientAdapter(); |
448 | pc.init(pccId, PcepVersion.PCEP_1); | 487 | pc.init(pccId, PcepVersion.PCEP_1); |
449 | controller.getClient(pccId).setLspAndDelegationInfo(new LspKey(1, (short) 1), true); | 488 | controller.getClient(pccId).setLspAndDelegationInfo(new LspKey(1, (short) 1), true); |
... | @@ -505,6 +544,14 @@ public class PcepTunnelAddedTest { | ... | @@ -505,6 +544,14 @@ public class PcepTunnelAddedTest { |
505 | deviceService.addDevice(device); | 544 | deviceService.addDevice(device); |
506 | controller.getClient(PccId.pccId(IpAddress.valueOf("1.1.1.1"))).setCapability( | 545 | controller.getClient(PccId.pccId(IpAddress.valueOf("1.1.1.1"))).setCapability( |
507 | new ClientCapability(true, true, true, true, true)); | 546 | new ClientCapability(true, true, true, true, true)); |
547 | + Link link = DefaultLink.builder() | ||
548 | + .src(new ConnectPoint(device.id(), PortNumber.portNumber(16843009))) | ||
549 | + .dst(new ConnectPoint(device.id(), PortNumber.portNumber(84215045))) | ||
550 | + .state(ACTIVE) | ||
551 | + .type(Link.Type.DIRECT) | ||
552 | + .providerId(ProviderId.NONE) | ||
553 | + .build(); | ||
554 | + linkService.addLink(link); | ||
508 | controller.processClientMessage(PccId.pccId(IpAddress.valueOf("1.1.1.1")), message); | 555 | controller.processClientMessage(PccId.pccId(IpAddress.valueOf("1.1.1.1")), message); |
509 | assertThat(tunnelService.tunnelIdAsKeyStore.values().iterator().next().annotations().value(DELEGATE), | 556 | assertThat(tunnelService.tunnelIdAsKeyStore.values().iterator().next().annotations().value(DELEGATE), |
510 | is("false")); | 557 | is("false")); |
... | @@ -624,6 +671,7 @@ public class PcepTunnelAddedTest { | ... | @@ -624,6 +671,7 @@ public class PcepTunnelAddedTest { |
624 | tunnelProvider.tunnelAdminService = null; | 671 | tunnelProvider.tunnelAdminService = null; |
625 | tunnelProvider.deviceService = null; | 672 | tunnelProvider.deviceService = null; |
626 | tunnelProvider.mastershipService = null; | 673 | tunnelProvider.mastershipService = null; |
674 | + tunnelProvider.linkService = null; | ||
627 | tunnelProvider.service = null; | 675 | tunnelProvider.service = null; |
628 | } | 676 | } |
629 | } | 677 | } | ... | ... |
-
Please register or login to post a comment