Committed by
Charles Chan
Segment Routing refactoring
- Change name: McastEventHandler -> McastHandler - Separate HostHandler from SRManager - Move storekeys to a dedicated package - Replace SRObjevtiveContext and BridgeTableObjectiveContext with DefaultObjectiveContext Change-Id: Iab25529487004759105e5ba60c1d2a3852ac45e6
Showing
13 changed files
with
84 additions
and
105 deletions
This diff is collapsed. Click to expand it.
... | @@ -48,7 +48,7 @@ import org.onosproject.net.flowobjective.NextObjective; | ... | @@ -48,7 +48,7 @@ import org.onosproject.net.flowobjective.NextObjective; |
48 | import org.onosproject.net.mcast.McastEvent; | 48 | import org.onosproject.net.mcast.McastEvent; |
49 | import org.onosproject.net.mcast.McastRouteInfo; | 49 | import org.onosproject.net.mcast.McastRouteInfo; |
50 | import org.onosproject.net.topology.TopologyService; | 50 | import org.onosproject.net.topology.TopologyService; |
51 | -import org.onosproject.segmentrouting.grouphandler.McastNextObjectiveStoreKey; | 51 | +import org.onosproject.segmentrouting.storekey.McastNextObjectiveStoreKey; |
52 | import org.onosproject.store.serializers.KryoNamespaces; | 52 | import org.onosproject.store.serializers.KryoNamespaces; |
53 | import org.onosproject.store.service.ConsistentMap; | 53 | import org.onosproject.store.service.ConsistentMap; |
54 | import org.onosproject.store.service.Serializer; | 54 | import org.onosproject.store.service.Serializer; |
... | @@ -63,10 +63,10 @@ import java.util.Optional; | ... | @@ -63,10 +63,10 @@ import java.util.Optional; |
63 | import java.util.Set; | 63 | import java.util.Set; |
64 | 64 | ||
65 | /** | 65 | /** |
66 | - * Multicast event handler. | 66 | + * Handles multicast-related events. |
67 | */ | 67 | */ |
68 | -public class McastEventHandler { | 68 | +public class McastHandler { |
69 | - private static final Logger log = LoggerFactory.getLogger(McastEventHandler.class); | 69 | + private static final Logger log = LoggerFactory.getLogger(McastHandler.class); |
70 | private final SegmentRoutingManager srManager; | 70 | private final SegmentRoutingManager srManager; |
71 | private final ApplicationId coreAppId; | 71 | private final ApplicationId coreAppId; |
72 | private StorageService storageService; | 72 | private StorageService storageService; |
... | @@ -79,7 +79,7 @@ public class McastEventHandler { | ... | @@ -79,7 +79,7 @@ public class McastEventHandler { |
79 | * | 79 | * |
80 | * @param srManager Segment Routing manager | 80 | * @param srManager Segment Routing manager |
81 | */ | 81 | */ |
82 | - public McastEventHandler(SegmentRoutingManager srManager) { | 82 | + public McastHandler(SegmentRoutingManager srManager) { |
83 | coreAppId = srManager.coreService.getAppId(CoreService.CORE_APP_NAME); | 83 | coreAppId = srManager.coreService.getAppId(CoreService.CORE_APP_NAME); |
84 | 84 | ||
85 | this.srManager = srManager; | 85 | this.srManager = srManager; | ... | ... |
... | @@ -23,7 +23,9 @@ import org.onosproject.net.config.NetworkConfigEvent; | ... | @@ -23,7 +23,9 @@ import org.onosproject.net.config.NetworkConfigEvent; |
23 | import org.onosproject.net.device.DeviceService; | 23 | import org.onosproject.net.device.DeviceService; |
24 | import org.onosproject.net.flow.criteria.Criteria; | 24 | import org.onosproject.net.flow.criteria.Criteria; |
25 | import org.onosproject.net.flowobjective.DefaultFilteringObjective; | 25 | import org.onosproject.net.flowobjective.DefaultFilteringObjective; |
26 | +import org.onosproject.net.flowobjective.DefaultObjectiveContext; | ||
26 | import org.onosproject.net.flowobjective.FilteringObjective; | 27 | import org.onosproject.net.flowobjective.FilteringObjective; |
28 | +import org.onosproject.net.flowobjective.ObjectiveContext; | ||
27 | import org.onosproject.segmentrouting.config.DeviceConfigNotFoundException; | 29 | import org.onosproject.segmentrouting.config.DeviceConfigNotFoundException; |
28 | import org.onosproject.segmentrouting.config.SegmentRoutingAppConfig; | 30 | import org.onosproject.segmentrouting.config.SegmentRoutingAppConfig; |
29 | import org.slf4j.Logger; | 31 | import org.slf4j.Logger; |
... | @@ -117,9 +119,11 @@ public class NetworkConfigEventHandler { | ... | @@ -117,9 +119,11 @@ public class NetworkConfigEventHandler { |
117 | return; | 119 | return; |
118 | } | 120 | } |
119 | getVRouterFlowObjBuilders(pendingAdd).forEach(foBuilder -> { | 121 | getVRouterFlowObjBuilders(pendingAdd).forEach(foBuilder -> { |
120 | - srManager.flowObjectiveService. | 122 | + ObjectiveContext context = new DefaultObjectiveContext( |
121 | - filter(deviceId, foBuilder.add(new SRObjectiveContext(deviceId, | 123 | + (objective) -> log.debug("vRouterMac filter for {} populated", pendingAdd), |
122 | - SRObjectiveContext.ObjectiveType.FILTER))); | 124 | + (objective, error) -> |
125 | + log.warn("Failed to populate vRouterMac filter for {}: {}", pendingAdd, error)); | ||
126 | + srManager.flowObjectiveService.filter(deviceId, foBuilder.add(context)); | ||
123 | }); | 127 | }); |
124 | } | 128 | } |
125 | 129 | ||
... | @@ -128,9 +132,11 @@ public class NetworkConfigEventHandler { | ... | @@ -128,9 +132,11 @@ public class NetworkConfigEventHandler { |
128 | return; | 132 | return; |
129 | } | 133 | } |
130 | getVRouterFlowObjBuilders(pendingRemove).forEach(foBuilder -> { | 134 | getVRouterFlowObjBuilders(pendingRemove).forEach(foBuilder -> { |
131 | - srManager.flowObjectiveService. | 135 | + ObjectiveContext context = new DefaultObjectiveContext( |
132 | - filter(deviceId, foBuilder.remove(new SRObjectiveContext(deviceId, | 136 | + (objective) -> log.debug("vRouterMac filter for {} revoked", pendingRemove), |
133 | - SRObjectiveContext.ObjectiveType.FILTER))); | 137 | + (objective, error) -> |
138 | + log.warn("Failed to revoke vRouterMac filter for {}: {}", pendingRemove, error)); | ||
139 | + srManager.flowObjectiveService.filter(deviceId, foBuilder.remove(context)); | ||
134 | }); | 140 | }); |
135 | } | 141 | } |
136 | 142 | ... | ... |
... | @@ -24,6 +24,8 @@ import org.onlab.packet.MacAddress; | ... | @@ -24,6 +24,8 @@ import org.onlab.packet.MacAddress; |
24 | import org.onlab.packet.MplsLabel; | 24 | import org.onlab.packet.MplsLabel; |
25 | import org.onlab.packet.VlanId; | 25 | import org.onlab.packet.VlanId; |
26 | import org.onosproject.net.ConnectPoint; | 26 | import org.onosproject.net.ConnectPoint; |
27 | +import org.onosproject.net.flowobjective.DefaultObjectiveContext; | ||
28 | +import org.onosproject.net.flowobjective.ObjectiveContext; | ||
27 | import org.onosproject.segmentrouting.config.DeviceConfigNotFoundException; | 29 | import org.onosproject.segmentrouting.config.DeviceConfigNotFoundException; |
28 | import org.onosproject.segmentrouting.config.DeviceConfiguration; | 30 | import org.onosproject.segmentrouting.config.DeviceConfiguration; |
29 | import org.onosproject.segmentrouting.grouphandler.NeighborSet; | 31 | import org.onosproject.segmentrouting.grouphandler.NeighborSet; |
... | @@ -112,9 +114,11 @@ public class RoutingRulePopulator { | ... | @@ -112,9 +114,11 @@ public class RoutingRulePopulator { |
112 | log.warn(e.getMessage() + " Aborting populateIpRuleForHost."); | 114 | log.warn(e.getMessage() + " Aborting populateIpRuleForHost."); |
113 | return; | 115 | return; |
114 | } | 116 | } |
115 | - srManager.flowObjectiveService. | 117 | + ObjectiveContext context = new DefaultObjectiveContext( |
116 | - forward(deviceId, fwdBuilder.add(new SRObjectiveContext(deviceId, | 118 | + (objective) -> log.debug("IP rule for host {} populated", hostIp), |
117 | - SRObjectiveContext.ObjectiveType.FORWARDING))); | 119 | + (objective, error) -> |
120 | + log.warn("Failed to populate IP rule for host {}: {}", hostIp, error)); | ||
121 | + srManager.flowObjectiveService.forward(deviceId, fwdBuilder.add(context)); | ||
118 | rulePopulationCounter.incrementAndGet(); | 122 | rulePopulationCounter.incrementAndGet(); |
119 | } | 123 | } |
120 | 124 | ||
... | @@ -138,9 +142,11 @@ public class RoutingRulePopulator { | ... | @@ -138,9 +142,11 @@ public class RoutingRulePopulator { |
138 | log.warn(e.getMessage() + " Aborting revokeIpRuleForHost."); | 142 | log.warn(e.getMessage() + " Aborting revokeIpRuleForHost."); |
139 | return; | 143 | return; |
140 | } | 144 | } |
141 | - srManager.flowObjectiveService. | 145 | + ObjectiveContext context = new DefaultObjectiveContext( |
142 | - forward(deviceId, fwdBuilder.remove(new SRObjectiveContext(deviceId, | 146 | + (objective) -> log.debug("IP rule for host {} revoked", hostIp), |
143 | - SRObjectiveContext.ObjectiveType.FORWARDING))); | 147 | + (objective, error) -> |
148 | + log.warn("Failed to revoke IP rule for host {}: {}", hostIp, error)); | ||
149 | + srManager.flowObjectiveService.forward(deviceId, fwdBuilder.remove(context)); | ||
144 | } | 150 | } |
145 | 151 | ||
146 | private ForwardingObjective.Builder getForwardingObjectiveBuilder( | 152 | private ForwardingObjective.Builder getForwardingObjectiveBuilder( |
... | @@ -285,11 +291,11 @@ public class RoutingRulePopulator { | ... | @@ -285,11 +291,11 @@ public class RoutingRulePopulator { |
285 | + "for router IP/subnet {} in switch {}", | 291 | + "for router IP/subnet {} in switch {}", |
286 | ipPrefix, | 292 | ipPrefix, |
287 | deviceId); | 293 | deviceId); |
288 | - srManager.flowObjectiveService. | 294 | + ObjectiveContext context = new DefaultObjectiveContext( |
289 | - forward(deviceId, | 295 | + (objective) -> log.debug("IP rule for router {} populated", ipPrefix), |
290 | - fwdBuilder. | 296 | + (objective, error) -> |
291 | - add(new SRObjectiveContext(deviceId, | 297 | + log.warn("Failed to populate IP rule for router {}: {}", ipPrefix, error)); |
292 | - SRObjectiveContext.ObjectiveType.FORWARDING))); | 298 | + srManager.flowObjectiveService.forward(deviceId, fwdBuilder.add(context)); |
293 | rulePopulationCounter.incrementAndGet(); | 299 | rulePopulationCounter.incrementAndGet(); |
294 | 300 | ||
295 | return true; | 301 | return true; |
... | @@ -387,11 +393,11 @@ public class RoutingRulePopulator { | ... | @@ -387,11 +393,11 @@ public class RoutingRulePopulator { |
387 | .makePermanent()).withSelector(selector) | 393 | .makePermanent()).withSelector(selector) |
388 | .withPriority(SegmentRoutingService.DEFAULT_PRIORITY)) | 394 | .withPriority(SegmentRoutingService.DEFAULT_PRIORITY)) |
389 | .withFlag(ForwardingObjective.Flag.SPECIFIC); | 395 | .withFlag(ForwardingObjective.Flag.SPECIFIC); |
390 | - srManager.flowObjectiveService. | 396 | + ObjectiveContext context = new DefaultObjectiveContext( |
391 | - forward(deviceId, | 397 | + (objective) -> log.debug("MPLS rule for SID {} populated", segmentId), |
392 | - fwdObjBuilder. | 398 | + (objective, error) -> |
393 | - add(new SRObjectiveContext(deviceId, | 399 | + log.warn("Failed to populate MPLS rule for SID {}: {}", segmentId, error)); |
394 | - SRObjectiveContext.ObjectiveType.FORWARDING))); | 400 | + srManager.flowObjectiveService.forward(deviceId, fwdObjBuilder.add(context)); |
395 | rulePopulationCounter.incrementAndGet(); | 401 | rulePopulationCounter.incrementAndGet(); |
396 | } | 402 | } |
397 | 403 | ||
... | @@ -471,9 +477,9 @@ public class RoutingRulePopulator { | ... | @@ -471,9 +477,9 @@ public class RoutingRulePopulator { |
471 | } | 477 | } |
472 | 478 | ||
473 | for (Port port : srManager.deviceService.getPorts(deviceId)) { | 479 | for (Port port : srManager.deviceService.getPorts(deviceId)) { |
474 | - ConnectPoint cp = new ConnectPoint(deviceId, port.number()); | 480 | + ConnectPoint connectPoint = new ConnectPoint(deviceId, port.number()); |
475 | // TODO: Handles dynamic port events when we are ready for dynamic config | 481 | // TODO: Handles dynamic port events when we are ready for dynamic config |
476 | - if (!srManager.deviceConfiguration.suppressSubnet().contains(cp) && | 482 | + if (!srManager.deviceConfiguration.suppressSubnet().contains(connectPoint) && |
477 | port.isEnabled()) { | 483 | port.isEnabled()) { |
478 | Ip4Prefix portSubnet = config.getPortSubnet(deviceId, port.number()); | 484 | Ip4Prefix portSubnet = config.getPortSubnet(deviceId, port.number()); |
479 | VlanId assignedVlan = (portSubnet == null) | 485 | VlanId assignedVlan = (portSubnet == null) |
... | @@ -492,9 +498,11 @@ public class RoutingRulePopulator { | ... | @@ -492,9 +498,11 @@ public class RoutingRulePopulator { |
492 | fob.withMeta(tt); | 498 | fob.withMeta(tt); |
493 | } | 499 | } |
494 | fob.permit().fromApp(srManager.appId); | 500 | fob.permit().fromApp(srManager.appId); |
495 | - srManager.flowObjectiveService. | 501 | + ObjectiveContext context = new DefaultObjectiveContext( |
496 | - filter(deviceId, fob.add(new SRObjectiveContext(deviceId, | 502 | + (objective) -> log.debug("Filter for {} populated", connectPoint), |
497 | - SRObjectiveContext.ObjectiveType.FILTER))); | 503 | + (objective, error) -> |
504 | + log.warn("Failed to populate filter for {}: {}", connectPoint, error)); | ||
505 | + srManager.flowObjectiveService.filter(deviceId, fob.add(context)); | ||
498 | } | 506 | } |
499 | } | 507 | } |
500 | } | 508 | } |
... | @@ -537,11 +545,11 @@ public class RoutingRulePopulator { | ... | @@ -537,11 +545,11 @@ public class RoutingRulePopulator { |
537 | .withPriority(SegmentRoutingService.HIGHEST_PRIORITY) | 545 | .withPriority(SegmentRoutingService.HIGHEST_PRIORITY) |
538 | .makePermanent() | 546 | .makePermanent() |
539 | .fromApp(srManager.appId); | 547 | .fromApp(srManager.appId); |
540 | - log.debug("Installing forwarding objective to punt port IP addresses"); | 548 | + ObjectiveContext context = new DefaultObjectiveContext( |
541 | - srManager.flowObjectiveService. | 549 | + (objective) -> log.debug("IP punt rule for {} populated", ipaddr), |
542 | - forward(deviceId, | 550 | + (objective, error) -> |
543 | - puntIp.add(new SRObjectiveContext(deviceId, | 551 | + log.warn("Failed to populate IP punt rule for {}: {}", ipaddr, error)); |
544 | - SRObjectiveContext.ObjectiveType.FORWARDING))); | 552 | + srManager.flowObjectiveService.forward(deviceId, puntIp.add(context)); |
545 | } | 553 | } |
546 | } | 554 | } |
547 | 555 | ||
... | @@ -585,14 +593,11 @@ public class RoutingRulePopulator { | ... | @@ -585,14 +593,11 @@ public class RoutingRulePopulator { |
585 | .withPriority(SegmentRoutingService.FLOOD_PRIORITY) | 593 | .withPriority(SegmentRoutingService.FLOOD_PRIORITY) |
586 | .fromApp(srManager.appId) | 594 | .fromApp(srManager.appId) |
587 | .makePermanent(); | 595 | .makePermanent(); |
588 | - | 596 | + ObjectiveContext context = new DefaultObjectiveContext( |
589 | - srManager.flowObjectiveService.forward( | 597 | + (objective) -> log.debug("Subnet broadcast rule for {} populated", subnet), |
590 | - deviceId, | 598 | + (objective, error) -> |
591 | - fob.add(new SRObjectiveContext( | 599 | + log.warn("Failed to populate subnet broadcast rule for {}: {}", subnet, error)); |
592 | - deviceId, | 600 | + srManager.flowObjectiveService.forward(deviceId, fob.add(context)); |
593 | - SRObjectiveContext.ObjectiveType.FORWARDING) | ||
594 | - ) | ||
595 | - ); | ||
596 | }); | 601 | }); |
597 | } | 602 | } |
598 | 603 | ||
... | @@ -618,11 +623,12 @@ public class RoutingRulePopulator { | ... | @@ -618,11 +623,12 @@ public class RoutingRulePopulator { |
618 | .addCondition(Criteria.matchVlanId(vlanId)) | 623 | .addCondition(Criteria.matchVlanId(vlanId)) |
619 | .addCondition(Criteria.matchEthDst(MacAddress.NONE)) | 624 | .addCondition(Criteria.matchEthDst(MacAddress.NONE)) |
620 | .withPriority(SegmentRoutingService.XCONNECT_PRIORITY); | 625 | .withPriority(SegmentRoutingService.XCONNECT_PRIORITY); |
621 | - | ||
622 | fob.permit().fromApp(srManager.appId); | 626 | fob.permit().fromApp(srManager.appId); |
623 | - srManager.flowObjectiveService | 627 | + ObjectiveContext context = new DefaultObjectiveContext( |
624 | - .filter(deviceId, fob.add(new SRObjectiveContext(deviceId, | 628 | + (objective) -> log.debug("XConnect filter for {} populated", connectPoint), |
625 | - SRObjectiveContext.ObjectiveType.FILTER))); | 629 | + (objective, error) -> |
630 | + log.warn("Failed to populate xconnect filter for {}: {}", connectPoint, error)); | ||
631 | + srManager.flowObjectiveService.filter(deviceId, fob.add(context)); | ||
626 | }); | 632 | }); |
627 | }); | 633 | }); |
628 | } | 634 | } |
... | @@ -666,14 +672,11 @@ public class RoutingRulePopulator { | ... | @@ -666,14 +672,11 @@ public class RoutingRulePopulator { |
666 | .withPriority(SegmentRoutingService.DEFAULT_PRIORITY) | 672 | .withPriority(SegmentRoutingService.DEFAULT_PRIORITY) |
667 | .fromApp(srManager.appId) | 673 | .fromApp(srManager.appId) |
668 | .makePermanent(); | 674 | .makePermanent(); |
669 | - | 675 | + ObjectiveContext context = new DefaultObjectiveContext( |
670 | - srManager.flowObjectiveService.forward( | 676 | + (objective) -> log.debug("XConnect rule for {} populated", xConnects), |
671 | - deviceId, | 677 | + (objective, error) -> |
672 | - fob.add(new SRObjectiveContext( | 678 | + log.warn("Failed to populate xconnect rule for {}: {}", xConnects, error)); |
673 | - deviceId, | 679 | + srManager.flowObjectiveService.forward(deviceId, fob.add(context)); |
674 | - SRObjectiveContext.ObjectiveType.FORWARDING) | ||
675 | - ) | ||
676 | - ); | ||
677 | }); | 680 | }); |
678 | } | 681 | } |
679 | 682 | ... | ... |
This diff is collapsed. Click to expand it.
... | @@ -53,6 +53,10 @@ import org.onosproject.net.link.LinkService; | ... | @@ -53,6 +53,10 @@ import org.onosproject.net.link.LinkService; |
53 | import org.onosproject.segmentrouting.SegmentRoutingManager; | 53 | import org.onosproject.segmentrouting.SegmentRoutingManager; |
54 | import org.onosproject.segmentrouting.config.DeviceConfigNotFoundException; | 54 | import org.onosproject.segmentrouting.config.DeviceConfigNotFoundException; |
55 | import org.onosproject.segmentrouting.config.DeviceProperties; | 55 | import org.onosproject.segmentrouting.config.DeviceProperties; |
56 | +import org.onosproject.segmentrouting.storekey.NeighborSetNextObjectiveStoreKey; | ||
57 | +import org.onosproject.segmentrouting.storekey.PortNextObjectiveStoreKey; | ||
58 | +import org.onosproject.segmentrouting.storekey.SubnetNextObjectiveStoreKey; | ||
59 | +import org.onosproject.segmentrouting.storekey.XConnectNextObjectiveStoreKey; | ||
56 | import org.onosproject.store.service.EventuallyConsistentMap; | 60 | import org.onosproject.store.service.EventuallyConsistentMap; |
57 | import org.slf4j.Logger; | 61 | import org.slf4j.Logger; |
58 | 62 | ... | ... |
1 | /* | 1 | /* |
2 | - * Copyright 2015-present Open Networking Laboratory | 2 | + * Copyright 2016-present Open Networking Laboratory |
3 | * | 3 | * |
4 | * Licensed under the Apache License, Version 2.0 (the "License"); | 4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
5 | * you may not use this file except in compliance with the License. | 5 | * you may not use this file except in compliance with the License. |
... | @@ -14,7 +14,7 @@ | ... | @@ -14,7 +14,7 @@ |
14 | * limitations under the License. | 14 | * limitations under the License. |
15 | */ | 15 | */ |
16 | 16 | ||
17 | -package org.onosproject.segmentrouting.grouphandler; | 17 | +package org.onosproject.segmentrouting.storekey; |
18 | 18 | ||
19 | import org.onlab.packet.IpAddress; | 19 | import org.onlab.packet.IpAddress; |
20 | import org.onosproject.net.DeviceId; | 20 | import org.onosproject.net.DeviceId; | ... | ... |
1 | /* | 1 | /* |
2 | - * Copyright 2015-present Open Networking Laboratory | 2 | + * Copyright 2016-present Open Networking Laboratory |
3 | * | 3 | * |
4 | * Licensed under the Apache License, Version 2.0 (the "License"); | 4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
5 | * you may not use this file except in compliance with the License. | 5 | * you may not use this file except in compliance with the License. |
... | @@ -14,11 +14,12 @@ | ... | @@ -14,11 +14,12 @@ |
14 | * limitations under the License. | 14 | * limitations under the License. |
15 | */ | 15 | */ |
16 | 16 | ||
17 | -package org.onosproject.segmentrouting.grouphandler; | 17 | +package org.onosproject.segmentrouting.storekey; |
18 | 18 | ||
19 | import java.util.Objects; | 19 | import java.util.Objects; |
20 | 20 | ||
21 | import org.onosproject.net.DeviceId; | 21 | import org.onosproject.net.DeviceId; |
22 | +import org.onosproject.segmentrouting.grouphandler.NeighborSet; | ||
22 | 23 | ||
23 | /** | 24 | /** |
24 | * Key of Neighborset next objective store. | 25 | * Key of Neighborset next objective store. | ... | ... |
1 | /* | 1 | /* |
2 | - * Copyright 2015-present Open Networking Laboratory | 2 | + * Copyright 2016-present Open Networking Laboratory |
3 | * | 3 | * |
4 | * Licensed under the Apache License, Version 2.0 (the "License"); | 4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
5 | * you may not use this file except in compliance with the License. | 5 | * you may not use this file except in compliance with the License. |
... | @@ -13,7 +13,7 @@ | ... | @@ -13,7 +13,7 @@ |
13 | * See the License for the specific language governing permissions and | 13 | * See the License for the specific language governing permissions and |
14 | * limitations under the License. | 14 | * limitations under the License. |
15 | */ | 15 | */ |
16 | -package org.onosproject.segmentrouting.grouphandler; | 16 | +package org.onosproject.segmentrouting.storekey; |
17 | 17 | ||
18 | import org.onosproject.net.DeviceId; | 18 | import org.onosproject.net.DeviceId; |
19 | import org.onosproject.net.PortNumber; | 19 | import org.onosproject.net.PortNumber; | ... | ... |
1 | /* | 1 | /* |
2 | - * Copyright 2015-present Open Networking Laboratory | 2 | + * Copyright 2016-present Open Networking Laboratory |
3 | * | 3 | * |
4 | * Licensed under the Apache License, Version 2.0 (the "License"); | 4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
5 | * you may not use this file except in compliance with the License. | 5 | * you may not use this file except in compliance with the License. |
... | @@ -13,7 +13,7 @@ | ... | @@ -13,7 +13,7 @@ |
13 | * See the License for the specific language governing permissions and | 13 | * See the License for the specific language governing permissions and |
14 | * limitations under the License. | 14 | * limitations under the License. |
15 | */ | 15 | */ |
16 | -package org.onosproject.segmentrouting; | 16 | +package org.onosproject.segmentrouting.storekey; |
17 | 17 | ||
18 | import java.util.Objects; | 18 | import java.util.Objects; |
19 | 19 | ... | ... |
1 | /* | 1 | /* |
2 | - * Copyright 2015-present Open Networking Laboratory | 2 | + * Copyright 2016-present Open Networking Laboratory |
3 | * | 3 | * |
4 | * Licensed under the Apache License, Version 2.0 (the "License"); | 4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
5 | * you may not use this file except in compliance with the License. | 5 | * you may not use this file except in compliance with the License. |
... | @@ -14,7 +14,7 @@ | ... | @@ -14,7 +14,7 @@ |
14 | * limitations under the License. | 14 | * limitations under the License. |
15 | */ | 15 | */ |
16 | 16 | ||
17 | -package org.onosproject.segmentrouting.grouphandler; | 17 | +package org.onosproject.segmentrouting.storekey; |
18 | 18 | ||
19 | import org.onlab.packet.IpPrefix; | 19 | import org.onlab.packet.IpPrefix; |
20 | import org.onosproject.net.DeviceId; | 20 | import org.onosproject.net.DeviceId; | ... | ... |
... | @@ -14,7 +14,7 @@ | ... | @@ -14,7 +14,7 @@ |
14 | * limitations under the License. | 14 | * limitations under the License. |
15 | */ | 15 | */ |
16 | 16 | ||
17 | -package org.onosproject.segmentrouting.grouphandler; | 17 | +package org.onosproject.segmentrouting.storekey; |
18 | 18 | ||
19 | import org.onlab.packet.VlanId; | 19 | import org.onlab.packet.VlanId; |
20 | import org.onosproject.net.DeviceId; | 20 | import org.onosproject.net.DeviceId; | ... | ... |
... | @@ -13,43 +13,8 @@ | ... | @@ -13,43 +13,8 @@ |
13 | * See the License for the specific language governing permissions and | 13 | * See the License for the specific language governing permissions and |
14 | * limitations under the License. | 14 | * limitations under the License. |
15 | */ | 15 | */ |
16 | -package org.onosproject.segmentrouting; | ||
17 | - | ||
18 | -import org.onosproject.net.DeviceId; | ||
19 | -import org.onosproject.net.flowobjective.Objective; | ||
20 | -import org.onosproject.net.flowobjective.ObjectiveContext; | ||
21 | -import org.onosproject.net.flowobjective.ObjectiveError; | ||
22 | -import org.slf4j.Logger; | ||
23 | -import org.slf4j.LoggerFactory; | ||
24 | 16 | ||
25 | /** | 17 | /** |
26 | - * Segment Routing Flow Objective Context. | 18 | + * Key data structure of various stores used by Segment Routing. |
27 | */ | 19 | */ |
28 | -public class SRObjectiveContext implements ObjectiveContext { | 20 | +package org.onosproject.segmentrouting.storekey; |
29 | - enum ObjectiveType { | ||
30 | - FILTER, | ||
31 | - FORWARDING | ||
32 | - } | ||
33 | - private final DeviceId deviceId; | ||
34 | - private final ObjectiveType type; | ||
35 | - | ||
36 | - private static final Logger log = LoggerFactory | ||
37 | - .getLogger(SegmentRoutingManager.class); | ||
38 | - | ||
39 | - SRObjectiveContext(DeviceId deviceId, ObjectiveType type) { | ||
40 | - this.deviceId = deviceId; | ||
41 | - this.type = type; | ||
42 | - } | ||
43 | - @Override | ||
44 | - public void onSuccess(Objective objective) { | ||
45 | - log.debug("{} objective operation successful in device {}", | ||
46 | - type.name(), deviceId); | ||
47 | - } | ||
48 | - | ||
49 | - @Override | ||
50 | - public void onError(Objective objective, ObjectiveError error) { | ||
51 | - log.warn("{} objective {} operation failed with error: {} in device {}", | ||
52 | - type.name(), objective, error, deviceId); | ||
53 | - } | ||
54 | -} | ||
55 | - | ||
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
-
Please register or login to post a comment