Bug 8398 - communication between two tenant network failed while using
[netvirt.git] / vpnservice / aclservice / impl / src / main / java / org / opendaylight / netvirt / aclservice / TransparentIngressAclServiceImpl.java
index 9bf07488320ca1cf84fc82262d72b36b5030e00b..f5dd8a65e961cb732d2ed73cd243dbd9165e1c20 100644 (file)
@@ -9,9 +9,15 @@ package org.opendaylight.netvirt.aclservice;
 
 import java.math.BigInteger;
 import java.util.List;
+import java.util.Map;
+
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.genius.mdsalutil.MatchInfoBase;
 import org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager;
 import org.opendaylight.netvirt.aclservice.api.AclServiceManager.Action;
+import org.opendaylight.netvirt.aclservice.api.utils.AclInterface;
+import org.opendaylight.netvirt.aclservice.utils.AclDataUtil;
+import org.opendaylight.netvirt.aclservice.utils.AclServiceUtils;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev160218.access.lists.acl.access.list.entries.Ace;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.interfaces._interface.AllowedAddressPairs;
 import org.slf4j.Logger;
@@ -24,21 +30,46 @@ import org.slf4j.LoggerFactory;
  * Note: Table names used are w.r.t switch. Hence, switch ingress is VM egress
  * and vice versa.
  */
-public class TransparentIngressAclServiceImpl extends IngressAclServiceImpl {
+public class TransparentIngressAclServiceImpl extends AbstractIngressAclServiceImpl {
 
     private static final Logger LOG = LoggerFactory.getLogger(TransparentIngressAclServiceImpl.class);
 
-    public TransparentIngressAclServiceImpl(DataBroker dataBroker, IMdsalApiManager mdsalManager) {
-        super(dataBroker, mdsalManager);
+    public TransparentIngressAclServiceImpl(DataBroker dataBroker, IMdsalApiManager mdsalManager,
+            AclDataUtil aclDataUtil, AclServiceUtils aclServiceUtils) {
+        super(dataBroker, mdsalManager, aclDataUtil, aclServiceUtils);
+    }
+
+    @Override
+    public void bindService(AclInterface aclInterface) {
+        LOG.debug("transparent ingress acl service - do nothing");
+    }
+
+    @Override
+    protected void unbindService(AclInterface aclInterface) {
+        LOG.debug("transparent ingress acl service - do nothing");
+    }
+
+    @Override
+    protected void programGeneralFixedRules(BigInteger dpid, String dhcpMacAddress,
+            List<AllowedAddressPairs> allowedAddresses, int lportTag, Action action,
+            int addOrRemove) {
+        LOG.debug("transparent ingress acl service - do nothing");
+    }
+
+    @Override
+    protected String syncSpecificAclFlow(BigInteger dpId, int lportTag, int addOrRemove, Ace ace, String portId,
+            Map<String, List<MatchInfoBase>> flowMap, String flowName) {
+        // Not in use here. programAceRule function is overridden.
+        return null;
     }
 
     @Override
-    protected void programFixedRules(BigInteger dpid, String dhcpMacAddress, List<AllowedAddressPairs> allowedAddresses,
-            int lportTag, String portId, Action action, int addOrRemove) {
+    protected void programSpecificFixedRules(BigInteger dpid, String dhcpMacAddress,
+            List<AllowedAddressPairs> allowedAddresses, int lportTag, String portId, Action action, int addOrRemove) {
     }
 
     @Override
-    protected void programAceRule(BigInteger dpId, int lportTag, int addOrRemove, Ace ace, String portId,
+    protected void programAceRule(AclInterface port, int addOrRemove, String aclName, Ace ace,
             List<AllowedAddressPairs> syncAllowedAddresses) {
         LOG.debug("Transparent ingress acl service - do nothing");
     }