diff options
author | Marek Gradzki <mgradzki@cisco.com> | 2017-03-03 07:36:52 +0100 |
---|---|---|
committer | Jan Srnicek <jsrnicek@cisco.com> | 2017-03-08 09:00:34 +0000 |
commit | 2c28a58160b7693a1ab11d43def37c41a067eff1 (patch) | |
tree | a744af0f4f195727217bc8714862a936d60c6e60 /acl/acl-impl/src/main/java/io/fd/hc2vpp/acl/write/factory/InterfaceAclWriterFactory.java | |
parent | f782c704854eac8cb5ffe04ed4addfeae5b2bdfe (diff) |
HC2VPP-91: fix acl ordering
Acl assignment should be added after interface creation
(and removed in reverse order).
Change-Id: Ieb915b8909ce39549e6f8312a92e065d59303e8d
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Diffstat (limited to 'acl/acl-impl/src/main/java/io/fd/hc2vpp/acl/write/factory/InterfaceAclWriterFactory.java')
-rw-r--r-- | acl/acl-impl/src/main/java/io/fd/hc2vpp/acl/write/factory/InterfaceAclWriterFactory.java | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/acl/acl-impl/src/main/java/io/fd/hc2vpp/acl/write/factory/InterfaceAclWriterFactory.java b/acl/acl-impl/src/main/java/io/fd/hc2vpp/acl/write/factory/InterfaceAclWriterFactory.java index 6598aae9c..12be40a14 100644 --- a/acl/acl-impl/src/main/java/io/fd/hc2vpp/acl/write/factory/InterfaceAclWriterFactory.java +++ b/acl/acl-impl/src/main/java/io/fd/hc2vpp/acl/write/factory/InterfaceAclWriterFactory.java @@ -36,21 +36,24 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; public class InterfaceAclWriterFactory extends AbstractAclWriterFactory implements WriterFactory { - private static final InstanceIdentifier<Acl> ACL_IID = + static final InstanceIdentifier<Acl> ACL_IID = InstanceIdentifier.create(Interfaces.class).child(Interface.class) .augmentation(VppAclInterfaceAugmentation.class).child(Acl.class); + private static final InstanceIdentifier<Interface> IFC_ID = + InstanceIdentifier.create(Interfaces.class).child(Interface.class); + @Override public void init(@Nonnull final ModifiableWriterRegistryBuilder registry) { - registry.subtreeAdd(aclHandledChildren(InstanceIdentifier.create(Acl.class)), + registry.subtreeAddAfter(aclHandledChildren(InstanceIdentifier.create(Acl.class)), new GenericWriter<>(ACL_IID, - new InterfaceAclCustomizer(futureAclFacade, interfaceContext, standardAclContext))); + new InterfaceAclCustomizer(futureAclFacade, interfaceContext, standardAclContext)), IFC_ID); - registry.add(new GenericWriter<>(ACL_IID.child(Ingress.class).child(VppMacipAcl.class), - new InterfaceAclMacIpCustomizer(futureAclFacade, macIpAClContext, interfaceContext))); + registry.addAfter(new GenericWriter<>(ACL_IID.child(Ingress.class).child(VppMacipAcl.class), + new InterfaceAclMacIpCustomizer(futureAclFacade, macIpAClContext, interfaceContext)), IFC_ID); } - private Set<InstanceIdentifier<?>> aclHandledChildren(final InstanceIdentifier<Acl> parentId) { + static Set<InstanceIdentifier<?>> aclHandledChildren(final InstanceIdentifier<Acl> parentId) { return ImmutableSet.of(parentId.child(Ingress.class), parentId.child(Ingress.class).child(VppAcls.class), parentId.child(Egress.class), |