commit | 8a9220f9c0c1a0bdf683b89dc5b875ad6527fbd3 | [log] [tgz] |
---|---|---|
author | Daniel Park <dan.mcpark84@gmail.com> | Mon Nov 19 18:58:35 2018 +0900 |
committer | Jian Li <pyguni@gmail.com> | Tue Nov 20 10:09:50 2018 +0000 |
tree | 792b38ccfe787cc85fbe393280f32cd45c50e1e8 | |
parent | e23b18b61ffde9891113d7b7c356b2c3db06d1f7 [diff] [blame] |
Fixes ARP-related flow rules in VLAN case. Change-Id: I1103ab8984789e62136f0e4c079f6532875ce660
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingHandler.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingHandler.java index 14fd5da..196c07d 100644 --- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingHandler.java +++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingHandler.java
@@ -540,17 +540,21 @@ .matchInPort(instPort.portNumber()) .build(); - TrafficTreatment treatment = DefaultTrafficTreatment.builder() + TrafficTreatment.Builder tBuilder = DefaultTrafficTreatment.builder() .pushVlan() - .setVlanId(getVlanId(instPort)) - .transition(ACL_TABLE) - .build(); + .setVlanId(getVlanId(instPort)); + + if (ethType == Ethernet.TYPE_ARP) { + tBuilder.transition(ARP_TABLE); + } else if (ethType == Ethernet.TYPE_IPV4) { + tBuilder.transition(ACL_TABLE); + } osFlowRuleService.setRule( appId, instPort.deviceId(), selector, - treatment, + tBuilder.build(), PRIORITY_TUNNEL_TAG_RULE, VTAG_TABLE, install);