commit | e2e03a52a6a1df662921d0445bca451c9bbeed4a | [log] [tgz] |
---|---|---|
author | Jian Li <pyguni@gmail.com> | Thu Jul 05 23:35:02 2018 +0900 |
committer | Jian Li <pyguni@gmail.com> | Thu Jul 05 15:12:53 2018 +0000 |
tree | 3ee6a36f37c51ff9f2b509e87378a6e7bf91225a | |
parent | 753280ebbf9e6a19213886257683c808342771f9 [diff] |
Fix: do not add fake gateway ARP rule for FLAT typed network Change-Id: I2463ba0e523846acabdc2ed924432c65ded9964b
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingArpHandler.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingArpHandler.java index 03af72e..b78328c 100644 --- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingArpHandler.java +++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingArpHandler.java
@@ -462,7 +462,16 @@ break; case ARP_BROADCAST_MODE: setDefaultArpRuleForBroadcastMode(osNode, install); - osNetworkService.subnets().forEach(subnet -> setFakeGatewayArpRule(subnet, install, osNode)); + + // we do not add fake gateway ARP rules for FLAT network + // ARP packets generated by FLAT typed VM should not be + // delegated to switch to handle + osNetworkService.subnets().stream().filter(subnet -> + osNetworkService.network(subnet.getNetworkId()) != null && + osNetworkService.network(subnet.getNetworkId()) + .getNetworkType() == NetworkType.FLAT) + .forEach(subnet -> + setFakeGatewayArpRule(subnet, install, osNode)); break; default: log.warn("Invalid ARP mode {}. Please use either " +