diff --git a/src/main/java/net/floodlightcontroller/firewall/FirewallRulesResource.java b/src/main/java/net/floodlightcontroller/firewall/FirewallRulesResource.java index bfdf5f88df6d671657ea828ec091c6390df0248f..57ccb6a77edaa085350c330b294e2c7229025ad0 100644 --- a/src/main/java/net/floodlightcontroller/firewall/FirewallRulesResource.java +++ b/src/main/java/net/floodlightcontroller/firewall/FirewallRulesResource.java @@ -223,8 +223,10 @@ public class FirewallRulesResource extends ServerResource { else if (n.equalsIgnoreCase("src-ip")) { if (!jp.getText().equalsIgnoreCase("ANY")) { rule.any_nw_src = false; - rule.any_dl_type = false; - rule.dl_type = EthType.IPv4; + if (rule.dl_type.equals(EthType.NONE)){ + rule.any_dl_type = false; + rule.dl_type = EthType.IPv4; + } try { rule.nw_src_prefix_and_mask = IPv4AddressWithMask.of(jp.getText()); } catch (IllegalArgumentException e) { @@ -237,8 +239,10 @@ public class FirewallRulesResource extends ServerResource { else if (n.equalsIgnoreCase("dst-ip")) { if (!jp.getText().equalsIgnoreCase("ANY")) { rule.any_nw_dst = false; - rule.any_dl_type = false; - rule.dl_type = EthType.IPv4; + if (rule.dl_type.equals(EthType.NONE)){ + rule.any_dl_type = false; + rule.dl_type = EthType.IPv4; + } try { rule.nw_dst_prefix_and_mask = IPv4AddressWithMask.of(jp.getText()); } catch (IllegalArgumentException e) {