[CORD-1956] Incorrect logic to find interface for input/output packet

Change-Id: Ic61359b7c6b33d8afd52674d905e4c3082de1e25
diff --git a/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/Dhcp4HandlerImpl.java b/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/Dhcp4HandlerImpl.java
index 2ef43b7..b9cbd5b 100644
--- a/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/Dhcp4HandlerImpl.java
+++ b/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/Dhcp4HandlerImpl.java
@@ -460,10 +460,13 @@
      * @return true if the Interface contains the vlan id
      */
     private boolean interfaceContainsVlan(Interface iface, VlanId vlanId) {
-        return iface.vlan().equals(vlanId) ||
-                iface.vlanUntagged().equals(vlanId) ||
-                iface.vlanTagged().contains(vlanId) ||
-                iface.vlanNative().equals(vlanId);
+        if (vlanId.equals(VlanId.NONE)) {
+            // untagged packet, check if vlan untagged or vlan native is not NONE
+            return !iface.vlanUntagged().equals(VlanId.NONE) ||
+                    !iface.vlanNative().equals(VlanId.NONE);
+        }
+        // tagged packet, check if the interface contains the vlan
+        return iface.vlanTagged().contains(vlanId);
     }
 
     /**