diff options
author | Tibor Král <tibor.kral@pantheon.tech> | 2019-01-31 17:50:29 +0100 |
---|---|---|
committer | Tibor Král <tibor.kral@pantheon.tech> | 2019-03-26 12:54:21 +0100 |
commit | a2ba7b3fe8d0cdaa0faead940a064081bcb03975 (patch) | |
tree | a2853c19a9c802f09b67beffd91031f1fecd1ebe /vpp-classifier/impl/src/main/java/io/fd/hc2vpp/vpp/classifier/factory/write | |
parent | 54faeb360678987d873282bec5378f2650de29e4 (diff) |
HC2VPP-387: Validation support for Vpp-Classifier module
Change-Id: Ia97fa466bc3e39c04bd8f7625c4b6306523e3fce
Signed-off-by: Tibor Král <tibor.kral@pantheon.tech>
Diffstat (limited to 'vpp-classifier/impl/src/main/java/io/fd/hc2vpp/vpp/classifier/factory/write')
3 files changed, 13 insertions, 4 deletions
diff --git a/vpp-classifier/impl/src/main/java/io/fd/hc2vpp/vpp/classifier/factory/write/InterfaceAclWriterFactory.java b/vpp-classifier/impl/src/main/java/io/fd/hc2vpp/vpp/classifier/factory/write/InterfaceAclWriterFactory.java index 164815265..2538904d5 100644 --- a/vpp-classifier/impl/src/main/java/io/fd/hc2vpp/vpp/classifier/factory/write/InterfaceAclWriterFactory.java +++ b/vpp-classifier/impl/src/main/java/io/fd/hc2vpp/vpp/classifier/factory/write/InterfaceAclWriterFactory.java @@ -25,6 +25,7 @@ import com.google.inject.name.Named; import io.fd.hc2vpp.common.translate.util.NamingContext; import io.fd.hc2vpp.vpp.classifier.context.VppClassifierContextManager; import io.fd.hc2vpp.vpp.classifier.write.acl.ingress.AclCustomizer; +import io.fd.hc2vpp.vpp.classifier.write.acl.ingress.AclValidator; import io.fd.honeycomb.translate.impl.write.GenericWriter; import io.fd.honeycomb.translate.write.WriterFactory; import io.fd.honeycomb.translate.write.registry.ModifiableWriterRegistryBuilder; @@ -71,7 +72,8 @@ public class InterfaceAclWriterFactory implements WriterFactory { Sets.newHashSet(ingressId.child(L2Acl.class), ingressId.child(Ip4Acl.class), ingressId.child(Ip6Acl.class)), new GenericWriter<>(INGRESS_ACL_ID, - new AclCustomizer(jvpp, ifcNamingContext, classifyTableContext)), + new AclCustomizer(jvpp, ifcNamingContext, classifyTableContext), + new AclValidator(ifcNamingContext, classifyTableContext)), Sets.newHashSet(CLASSIFY_TABLE_ID, CLASSIFY_SESSION_ID)); } } diff --git a/vpp-classifier/impl/src/main/java/io/fd/hc2vpp/vpp/classifier/factory/write/SubInterfaceAclWriterFactory.java b/vpp-classifier/impl/src/main/java/io/fd/hc2vpp/vpp/classifier/factory/write/SubInterfaceAclWriterFactory.java index e283618b6..7b0dfff9b 100644 --- a/vpp-classifier/impl/src/main/java/io/fd/hc2vpp/vpp/classifier/factory/write/SubInterfaceAclWriterFactory.java +++ b/vpp-classifier/impl/src/main/java/io/fd/hc2vpp/vpp/classifier/factory/write/SubInterfaceAclWriterFactory.java @@ -22,6 +22,7 @@ import com.google.inject.name.Named; import io.fd.hc2vpp.common.translate.util.NamingContext; import io.fd.hc2vpp.v3po.factory.InterfacesWriterFactory; import io.fd.hc2vpp.vpp.classifier.context.VppClassifierContextManager; +import io.fd.hc2vpp.vpp.classifier.write.acl.ingress.AclValidator; import io.fd.hc2vpp.vpp.classifier.write.acl.ingress.SubInterfaceAclCustomizer; import io.fd.honeycomb.translate.impl.write.GenericWriter; import io.fd.honeycomb.translate.write.WriterFactory; @@ -71,7 +72,8 @@ public class SubInterfaceAclWriterFactory implements WriterFactory { .subtreeAddAfter( Sets.newHashSet(aclId.child(L2Acl.class), aclId.child(Ip4Acl.class), aclId.child(Ip6Acl.class)), new GenericWriter<>(SUBIF_INGRESS_ACL_ID, - new SubInterfaceAclCustomizer(jvpp, ifcNamingContext, classifyTableContext)), + new SubInterfaceAclCustomizer(jvpp, ifcNamingContext, classifyTableContext), + new AclValidator(ifcNamingContext, classifyTableContext)), Sets.newHashSet(VppClassifierHoneycombWriterFactory.CLASSIFY_TABLE_ID, VppClassifierHoneycombWriterFactory.CLASSIFY_SESSION_ID)); } diff --git a/vpp-classifier/impl/src/main/java/io/fd/hc2vpp/vpp/classifier/factory/write/VppClassifierHoneycombWriterFactory.java b/vpp-classifier/impl/src/main/java/io/fd/hc2vpp/vpp/classifier/factory/write/VppClassifierHoneycombWriterFactory.java index 724849885..05699306b 100644 --- a/vpp-classifier/impl/src/main/java/io/fd/hc2vpp/vpp/classifier/factory/write/VppClassifierHoneycombWriterFactory.java +++ b/vpp-classifier/impl/src/main/java/io/fd/hc2vpp/vpp/classifier/factory/write/VppClassifierHoneycombWriterFactory.java @@ -20,7 +20,9 @@ import com.google.inject.Inject; import com.google.inject.name.Named; import io.fd.hc2vpp.common.translate.util.NamingContext; import io.fd.hc2vpp.vpp.classifier.context.VppClassifierContextManager; +import io.fd.hc2vpp.vpp.classifier.write.ClassifySessionValidator; import io.fd.hc2vpp.vpp.classifier.write.ClassifySessionWriter; +import io.fd.hc2vpp.vpp.classifier.write.ClassifyTableValidator; import io.fd.hc2vpp.vpp.classifier.write.ClassifyTableWriter; import io.fd.honeycomb.translate.impl.write.GenericListWriter; import io.fd.honeycomb.translate.write.WriterFactory; @@ -58,11 +60,14 @@ public final class VppClassifierHoneycombWriterFactory implements WriterFactory // Ordering here is: First create table, then create sessions and then assign as ACL // ClassifyTable registry.addBefore( - new GenericListWriter<>(CLASSIFY_TABLE_ID, new ClassifyTableWriter(jvpp, classifyTableContext)), + new GenericListWriter<>(CLASSIFY_TABLE_ID, new ClassifyTableWriter(jvpp, classifyTableContext), + new ClassifyTableValidator()), CLASSIFY_SESSION_ID); // ClassifyTableSession registry.addBefore( - new GenericListWriter<>(CLASSIFY_SESSION_ID, new ClassifySessionWriter(jvpp, classifyTableContext, policerContext)), + new GenericListWriter<>(CLASSIFY_SESSION_ID, + new ClassifySessionWriter(jvpp, classifyTableContext, policerContext), + new ClassifySessionValidator(classifyTableContext, policerContext)), InterfaceAclWriterFactory.ACL_ID); } } |