Committed by
Gerrit Code Review
Don't proxy ARP with the private gateway MAC address for public network.
Change-Id: Ice16a39cc9fe349e22f61131d24f898744a765db
Showing
1 changed file
with
33 additions
and
19 deletions
... | @@ -548,16 +548,23 @@ public class CordVtn extends AbstractProvider implements CordVtnService, HostPro | ... | @@ -548,16 +548,23 @@ public class CordVtn extends AbstractProvider implements CordVtnService, HostPro |
548 | return; | 548 | return; |
549 | } | 549 | } |
550 | 550 | ||
551 | - if (service.serviceType().equals(CordService.ServiceType.MANAGEMENT)) { | 551 | + switch (service.serviceType()) { |
552 | - ruleInstaller.populateManagementNetworkRules(host, service); | 552 | + case MANAGEMENT: |
553 | - } else { | 553 | + ruleInstaller.populateManagementNetworkRules(host, service); |
554 | - // TODO check if the service needs an update on its group buckets after done CORD-433 | 554 | + break; |
555 | - ruleInstaller.updateServiceGroup(service); | 555 | + case PRIVATE: |
556 | - arpProxy.addGateway(service.serviceIp(), privateGatewayMac); | 556 | + case PRIVATE_INDIRECT: |
557 | - | 557 | + case PRIVATE_DIRECT: |
558 | - // sends gratuitous ARP here for the case of adding existing VMs | 558 | + arpProxy.addGateway(service.serviceIp(), privateGatewayMac); |
559 | - // when ONOS or cordvtn app is restarted | 559 | + case PUBLIC_INDIRECT: |
560 | - arpProxy.sendGratuitousArpForGateway(service.serviceIp(), Sets.newHashSet(host)); | 560 | + case PUBLIC_DIRECT: |
561 | + default: | ||
562 | + // TODO check if the service needs an update on its group buckets after done CORD-433 | ||
563 | + ruleInstaller.updateServiceGroup(service); | ||
564 | + // sends gratuitous ARP here for the case of adding existing VMs | ||
565 | + // when ONOS or cordvtn app is restarted | ||
566 | + arpProxy.sendGratuitousArpForGateway(service.serviceIp(), Sets.newHashSet(host)); | ||
567 | + break; | ||
561 | } | 568 | } |
562 | 569 | ||
563 | registerDhcpLease(host, service); | 570 | registerDhcpLease(host, service); |
... | @@ -616,15 +623,22 @@ public class CordVtn extends AbstractProvider implements CordVtnService, HostPro | ... | @@ -616,15 +623,22 @@ public class CordVtn extends AbstractProvider implements CordVtnService, HostPro |
616 | return; | 623 | return; |
617 | } | 624 | } |
618 | 625 | ||
619 | - if (service.serviceType().equals(CordService.ServiceType.MANAGEMENT)) { | 626 | + switch (service.serviceType()) { |
620 | - ruleInstaller.removeManagementNetworkRules(host, service); | 627 | + case MANAGEMENT: |
621 | - } else { | 628 | + ruleInstaller.removeManagementNetworkRules(host, service); |
622 | - // TODO check if the service needs an update on its group buckets after done CORD-433 | 629 | + break; |
623 | - ruleInstaller.updateServiceGroup(service); | 630 | + case PRIVATE: |
624 | - | 631 | + case PRIVATE_INDIRECT: |
625 | - if (getHostsWithOpenstackNetwork(vNet).isEmpty()) { | 632 | + case PRIVATE_DIRECT: |
626 | - arpProxy.removeGateway(service.serviceIp()); | 633 | + if (getHostsWithOpenstackNetwork(vNet).isEmpty()) { |
627 | - } | 634 | + arpProxy.removeGateway(service.serviceIp()); |
635 | + } | ||
636 | + case PUBLIC_INDIRECT: | ||
637 | + case PUBLIC_DIRECT: | ||
638 | + default: | ||
639 | + // TODO check if the service needs an update on its group buckets after done CORD-433 | ||
640 | + ruleInstaller.updateServiceGroup(service); | ||
641 | + break; | ||
628 | } | 642 | } |
629 | } | 643 | } |
630 | 644 | ... | ... |
-
Please register or login to post a comment