weizhouapache commented on code in PR #12811:
URL: https://github.com/apache/cloudstack/pull/12811#discussion_r4199916188


##########
server/src/main/java/com/cloud/network/router/CommandSetupHelper.java:
##########
@@ -1468,14 +1468,29 @@ public void createBgpPeersCommands(final List<? extends 
BgpPeer> bgpPeers, final
         } else {
             guestNetworks.add(network);
         }
+        Map<Long, NetworkOfferingVO> guestNetworkOfferings = new HashMap<>();
+        for (Network guestNetwork : guestNetworks) {
+            final NetworkOfferingVO offering = 
_networkOfferingDao.findByIdIncludingRemoved(guestNetwork.getNetworkOfferingId());
+            guestNetworkOfferings.put(guestNetwork.getId(), offering);
+        }
         for (BgpPeer bgpPeer: bgpPeers) {
             Map<BgpPeer.Detail, String> bgpPeerDetails = 
bgpPeerDetailsDao.getBgpPeerDetails(bgpPeer.getId());
             for (Network guestNetwork : guestNetworks) {
-                bgpPeerTOs.add(new BgpPeerTO(bgpPeer.getId(), 
bgpPeer.getIp4Address(), bgpPeer.getIp6Address(), bgpPeer.getAsNumber(), 
bgpPeer.getPassword(),
-                        guestNetwork.getId(), asNumberVO.getAsNumber(), 
guestNetwork.getCidr(), guestNetwork.getIp6Cidr(), bgpPeerDetails));
+                final NetworkOfferingVO offering = 
guestNetworkOfferings.get(guestNetwork.getId());
+                if 
(NetworkOffering.NetworkMode.ROUTED.equals(offering.getNetworkMode())) {
+                    bgpPeerTOs.add(new BgpPeerTO(bgpPeer.getId(), 
bgpPeer.getIp4Address(), bgpPeer.getIp6Address(), bgpPeer.getAsNumber(), 
bgpPeer.getPassword(),
+                            guestNetwork.getId(), asNumberVO.getAsNumber(), 
guestNetwork.getCidr(), guestNetwork.getIp6Cidr(), bgpPeerDetails));
+                } else if (guestNetwork.getIp6Cidr() != null && 
bgpPeer.getIp6Address() != null) {

Review Comment:
   the bgp peers are applied when isDynamicRoutedNetwork or isDynamicRoutedVpc 
is true.
   both methods have been updated in this PR, to support isolated network and 
VPC with Dualstack (routing mode must be Dynamic)



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to