Committed by
Ray Milkey
paths should from bgp peer connect points for Internet-to-local traffic
Change-Id: I04c7f5b8efc9279ee3e15fb27435a2201cccb5f1
Showing
3 changed files
with
18 additions
and
5 deletions
... | @@ -81,6 +81,14 @@ public interface RoutingConfigurationService { | ... | @@ -81,6 +81,14 @@ public interface RoutingConfigurationService { |
81 | Set<Interface> getInterfaces(); | 81 | Set<Interface> getInterfaces(); |
82 | 82 | ||
83 | /** | 83 | /** |
84 | + * Retrieves the entire set of connect points connected to BGP peers in the | ||
85 | + * network. | ||
86 | + * | ||
87 | + * @return the set of connect points connected to BGP peers | ||
88 | + */ | ||
89 | + public Set<ConnectPoint> getBgpPeerConnectPoints(); | ||
90 | + | ||
91 | + /** | ||
84 | * Retrieves the interface associated with the given connect point. | 92 | * Retrieves the interface associated with the given connect point. |
85 | * | 93 | * |
86 | * @param connectPoint the connect point to retrieve interface information | 94 | * @param connectPoint the connect point to retrieve interface information | ... | ... |
... | @@ -71,6 +71,7 @@ public class RoutingConfigurationImpl implements RoutingConfigurationService { | ... | @@ -71,6 +71,7 @@ public class RoutingConfigurationImpl implements RoutingConfigurationService { |
71 | private Map<String, BgpSpeaker> bgpSpeakers = new ConcurrentHashMap<>(); | 71 | private Map<String, BgpSpeaker> bgpSpeakers = new ConcurrentHashMap<>(); |
72 | private Map<IpAddress, BgpPeer> bgpPeers = new ConcurrentHashMap<>(); | 72 | private Map<IpAddress, BgpPeer> bgpPeers = new ConcurrentHashMap<>(); |
73 | private Set<IpAddress> gatewayIpAddresses = new HashSet<>(); | 73 | private Set<IpAddress> gatewayIpAddresses = new HashSet<>(); |
74 | + private Set<ConnectPoint> bgpPeerConnectPoints = new HashSet<>(); | ||
74 | 75 | ||
75 | private InvertedRadixTree<LocalIpPrefixEntry> | 76 | private InvertedRadixTree<LocalIpPrefixEntry> |
76 | localPrefixTable4 = new ConcurrentInvertedRadixTree<>( | 77 | localPrefixTable4 = new ConcurrentInvertedRadixTree<>( |
... | @@ -108,6 +109,7 @@ public class RoutingConfigurationImpl implements RoutingConfigurationService { | ... | @@ -108,6 +109,7 @@ public class RoutingConfigurationImpl implements RoutingConfigurationService { |
108 | } | 109 | } |
109 | for (BgpPeer peer : config.getPeers()) { | 110 | for (BgpPeer peer : config.getPeers()) { |
110 | bgpPeers.put(peer.ipAddress(), peer); | 111 | bgpPeers.put(peer.ipAddress(), peer); |
112 | + bgpPeerConnectPoints.add(peer.connectPoint()); | ||
111 | } | 113 | } |
112 | 114 | ||
113 | for (LocalIpPrefixEntry entry : config.getLocalIp4PrefixEntries()) { | 115 | for (LocalIpPrefixEntry entry : config.getLocalIp4PrefixEntries()) { |
... | @@ -154,6 +156,11 @@ public class RoutingConfigurationImpl implements RoutingConfigurationService { | ... | @@ -154,6 +156,11 @@ public class RoutingConfigurationImpl implements RoutingConfigurationService { |
154 | } | 156 | } |
155 | 157 | ||
156 | @Override | 158 | @Override |
159 | + public Set<ConnectPoint> getBgpPeerConnectPoints() { | ||
160 | + return Collections.unmodifiableSet(bgpPeerConnectPoints); | ||
161 | + } | ||
162 | + | ||
163 | + @Override | ||
157 | public Interface getInterface(ConnectPoint connectPoint) { | 164 | public Interface getInterface(ConnectPoint connectPoint) { |
158 | return hostAdaptor.getInterface(connectPoint); | 165 | return hostAdaptor.getInterface(connectPoint); |
159 | } | 166 | } | ... | ... |
... | @@ -381,11 +381,9 @@ public class IntentSynchronizer implements FibListener, IntentRequestListener { | ... | @@ -381,11 +381,9 @@ public class IntentSynchronizer implements FibListener, IntentRequestListener { |
381 | @Override | 381 | @Override |
382 | public void setUpConnectivityInternetToHost(IpAddress hostIpAddress) { | 382 | public void setUpConnectivityInternetToHost(IpAddress hostIpAddress) { |
383 | checkNotNull(hostIpAddress); | 383 | checkNotNull(hostIpAddress); |
384 | - Set<ConnectPoint> ingressPoints = new HashSet<ConnectPoint>(); | 384 | + Set<ConnectPoint> ingressPoints = |
385 | - for (Interface intf : configService.getInterfaces()) { | 385 | + configService.getBgpPeerConnectPoints(); |
386 | - ConnectPoint srcPoint = intf.connectPoint(); | 386 | + |
387 | - ingressPoints.add(srcPoint); | ||
388 | - } | ||
389 | TrafficSelector.Builder selector = DefaultTrafficSelector.builder(); | 387 | TrafficSelector.Builder selector = DefaultTrafficSelector.builder(); |
390 | 388 | ||
391 | if (hostIpAddress.isIp4()) { | 389 | if (hostIpAddress.isIp4()) { | ... | ... |
-
Please register or login to post a comment