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