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/Ipv4WriterFactory.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/Ipv4WriterFactory.java')
-rw-r--r-- | l3/impl/src/main/java/io/fd/hc2vpp/l3/write/factory/Ipv4WriterFactory.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/l3/impl/src/main/java/io/fd/hc2vpp/l3/write/factory/Ipv4WriterFactory.java b/l3/impl/src/main/java/io/fd/hc2vpp/l3/write/factory/Ipv4WriterFactory.java index cc784bb9e..dec6e93db 100644 --- a/l3/impl/src/main/java/io/fd/hc2vpp/l3/write/factory/Ipv4WriterFactory.java +++ b/l3/impl/src/main/java/io/fd/hc2vpp/l3/write/factory/Ipv4WriterFactory.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; @@ -34,6 +36,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.Ipv4; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ip.rev140616.interfaces._interface.ipv4.Address; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ip.rev140616.interfaces._interface.ipv4.Neighbor; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev170315.interfaces._interface.Routing; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; public class Ipv4WriterFactory implements WriterFactory { @@ -52,8 +55,9 @@ public class Ipv4WriterFactory implements WriterFactory { // Ipv4(after interface) final InstanceIdentifier<Ipv4> ipv4Id = ifc1AugId.child(Ipv4.class); + // changing ip table for interface that has ip address assigned is illegal action(internal vpp behaviour) registry.addAfter(new GenericWriter<>(ipv4Id, new Ipv4Customizer(jvpp)), - IFC_ID); + ImmutableSet.of(IFC_ID, VPP_IFC_AUG_ID.child(Routing.class))); // Address(after Ipv4) = final InstanceIdentifier<Address> ipv4AddressId = ipv4Id.child(Address.class); registry.addAfter(new GenericListWriter<>(ipv4AddressId, new Ipv4AddressCustomizer(jvpp, ifcNamingContext)), |