diff options
author | Jan Srnicek <jsrnicek@cisco.com> | 2017-05-15 14:41:25 +0200 |
---|---|---|
committer | Marek Gradzki <mgradzki@cisco.com> | 2017-05-15 13:12:49 +0000 |
commit | 400acf46ddab06a23a703f7d5b67cc4f5deeafe4 (patch) | |
tree | 5297889eafee26d3b3018f4461b10ed6bfaf9da4 /l3/impl/src/main/java/io/fd/hc2vpp/l3/write/factory/Ipv6WriterFactory.java | |
parent | 8e0b7b8b35c2efba5e48219318e6c5a8e48a6d4f (diff) |
HC2VPP-151 - ip table reconfiguration while address present prevention
- fixed ordering - addresses must be written after vrf's
- added check to prevent such scenario in multi-request scenario
Change-Id: Idc233a8ac36fabef306339bfeec57bdc19b0f082
Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
Diffstat (limited to 'l3/impl/src/main/java/io/fd/hc2vpp/l3/write/factory/Ipv6WriterFactory.java')
-rw-r--r-- | l3/impl/src/main/java/io/fd/hc2vpp/l3/write/factory/Ipv6WriterFactory.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/l3/impl/src/main/java/io/fd/hc2vpp/l3/write/factory/Ipv6WriterFactory.java b/l3/impl/src/main/java/io/fd/hc2vpp/l3/write/factory/Ipv6WriterFactory.java index d9bee8177..1793450c4 100644 --- a/l3/impl/src/main/java/io/fd/hc2vpp/l3/write/factory/Ipv6WriterFactory.java +++ b/l3/impl/src/main/java/io/fd/hc2vpp/l3/write/factory/Ipv6WriterFactory.java @@ -17,7 +17,9 @@ package io.fd.hc2vpp.l3.write.factory; import static io.fd.hc2vpp.v3po.factory.InterfacesWriterFactory.IFC_ID; +import static io.fd.hc2vpp.v3po.factory.InterfacesWriterFactory.VPP_IFC_AUG_ID; +import com.google.common.collect.ImmutableSet; import com.google.inject.Inject; import com.google.inject.name.Named; import io.fd.hc2vpp.common.translate.util.NamingContext; @@ -37,6 +39,7 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ip.rev14061 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ip.rev140616.interfaces._interface.Ipv6; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ip.rev140616.interfaces._interface.ipv6.Address; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ip.rev140616.interfaces._interface.ipv6.Neighbor; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev170315.interfaces._interface.Routing; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.nd.proxy.rev170315.NdProxyIp6Augmentation; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.nd.proxy.rev170315.interfaces._interface.ipv6.NdProxies; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.nd.proxy.rev170315.interfaces._interface.ipv6.nd.proxies.NdProxy; @@ -59,7 +62,9 @@ public class Ipv6WriterFactory implements WriterFactory { // Ipv6(after interface) = final InstanceIdentifier<Ipv6> ipv6Id = ifc1AugId.child(Ipv6.class); - registry.addAfter(new GenericWriter<>(ipv6Id, new Ipv6Customizer(jvpp)), IFC_ID); + // changing ip table for interface that has ip address assigned is illegal action(internal vpp behaviour) + registry.addAfter(new GenericWriter<>(ipv6Id, new Ipv6Customizer(jvpp)), ImmutableSet + .of(IFC_ID, VPP_IFC_AUG_ID.child(Routing.class))); final InstanceIdentifier<Address> ipv6AddressId = ipv6Id.child(Address.class); |