HC2VPP-348: use vpp-fib-management module instead of FIB table index 99/13299/4
authorMarek Gradzki <[email protected]>
Fri, 29 Jun 2018 12:36:59 +0000 (14:36 +0200)
committerMarek Gradzki <[email protected]>
Mon, 2 Jul 2018 09:14:58 +0000 (09:14 +0000)
Change-Id: Iba1f6d4c556c8ef839eb309b990f32945e6494fb
Signed-off-by: Marek Gradzki <[email protected]>
13 files changed:
dhcp/dhcp-api/pom.xml
dhcp/dhcp-api/src/main/yang/[email protected] [moved from dhcp/dhcp-api/src/main/yang/[email protected] with 77% similarity]
dhcp/dhcp-impl/src/main/java/io/fd/hc2vpp/dhcp/read/DhcpReaderFactory.java
dhcp/dhcp-impl/src/main/java/io/fd/hc2vpp/dhcp/read/DhcpRelayCustomizer.java
dhcp/dhcp-impl/src/main/java/io/fd/hc2vpp/dhcp/write/DhcpRelayCustomizer.java
dhcp/dhcp-impl/src/main/java/io/fd/hc2vpp/dhcp/write/DhcpWriterFactory.java
dhcp/dhcp-impl/src/test/java/io/fd/hc2vpp/dhcp/helpers/SchemaContextTestHelper.java
dhcp/dhcp-impl/src/test/java/io/fd/hc2vpp/dhcp/read/DhcpRelayCustomizerTest.java
dhcp/dhcp-impl/src/test/java/io/fd/hc2vpp/dhcp/write/DhcpRelayCustomizerTest.java
dhcp/dhcp-impl/src/test/resources/relay/ipv4DhcpRelay.json
dhcp/dhcp-impl/src/test/resources/relay/ipv6DhcpRelayAfter.json
dhcp/dhcp-impl/src/test/resources/relay/ipv6DhcpRelayBefore.json
dhcp/dhcp_postman_collection.json

index dce4cf1..c9c1668 100644 (file)
       <groupId>org.opendaylight.mdsal.model</groupId>
       <artifactId>yang-ext</artifactId>
     </dependency>
+    <dependency>
+      <groupId>io.fd.hc2vpp.fib.management</groupId>
+      <artifactId>fib-management-api</artifactId>
+      <version>${project.version}</version>
+    </dependency>
   </dependencies>
 </project>
@@ -7,6 +7,12 @@ module dhcp {
         prefix inet;
     }
 
+    import vpp-fib-table-management {
+        prefix fib-management;
+        revision-date 2018-05-21;
+    }
+
+
     organization
         "FD.io - The Fast Data Project";
 
@@ -32,6 +38,13 @@ module dhcp {
          See the License for the specific language governing permissions and
          limitations under the License.";
 
+    revision "2018-06-29" {
+        description
+            "Uses references to vrf-management module insted of table identifiers.";
+        reference
+            "https://jira.fd.io/browse/HC2VPP-317";
+    }
+
     revision "2018-01-03" {
         description
             "Changes type of ip-addresses from inet:ip-address to inet:ip-address-no-zone.";
@@ -44,30 +57,6 @@ module dhcp {
             "Initial revision of dhcp model";
     }
 
-    identity address-family {
-        description
-            "Base identity from which identities describing address
-            families are derived.";
-    }
-
-    identity ipv4 {
-        base address-family;
-        description
-            "This identity represents IPv4 address family.";
-    }
-
-    identity ipv6 {
-        base address-family;
-        description
-            "This identity represents IPv6 address family.";
-    }
-
-    typedef address-type {
-        type identityref {
-            base address-family;
-        }
-    }
-
     grouping relay-attributes {
         list server {
           key "vrf-id address";
@@ -95,14 +84,14 @@ module dhcp {
     grouping dhcp-attributes {
         container relays {
             list relay {
-                key "address-type rx-vrf-id";
-                leaf address-type {
-                    type address-type;
+                key "address-family rx-vrf-id";
+                leaf address-family {
+                    type fib-management:address-family-type;
                 }
                 leaf rx-vrf-id {
-                    type uint32;
+                    type fib-management:fib-table-list-ref;
                     description
-                        "Used to receive DHCP messages from clients.";
+                        "VRF used to receive DHCP messages from clients.";
                 }
                 uses relay-attributes;
             }
index 83b7370..f2f02ef 100644 (file)
@@ -23,12 +23,12 @@ import io.fd.honeycomb.translate.read.ReaderFactory;
 import io.fd.honeycomb.translate.read.registry.ModifiableReaderRegistryBuilder;
 import io.fd.vpp.jvpp.core.future.FutureJVppCore;
 import javax.annotation.Nonnull;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.Dhcp;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.DhcpBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.dhcp.attributes.Relays;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.dhcp.attributes.RelaysBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.dhcp.attributes.relays.Relay;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.relay.attributes.Server;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180629.Dhcp;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180629.DhcpBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180629.dhcp.attributes.Relays;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180629.dhcp.attributes.RelaysBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180629.dhcp.attributes.relays.Relay;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180629.relay.attributes.Server;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
 /**
index e055a2b..0641334 100644 (file)
@@ -40,13 +40,14 @@ import java.util.concurrent.CompletionStage;
 import java.util.stream.Collectors;
 import javax.annotation.Nonnull;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressNoZone;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.Ipv4;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.Ipv6;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.dhcp.attributes.RelaysBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.dhcp.attributes.relays.Relay;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.dhcp.attributes.relays.RelayBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.dhcp.attributes.relays.RelayKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.relay.attributes.ServerBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180629.dhcp.attributes.RelaysBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180629.dhcp.attributes.relays.Relay;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180629.dhcp.attributes.relays.RelayBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180629.dhcp.attributes.relays.RelayKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180629.relay.attributes.ServerBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.fib.table.management.rev180521.Ipv4;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.fib.table.management.rev180521.Ipv6;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.fib.table.management.rev180521.VniReference;
 import org.opendaylight.yangtools.concepts.Builder;
 import org.opendaylight.yangtools.yang.binding.DataObject;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
@@ -96,7 +97,7 @@ final class DhcpRelayCustomizer extends FutureJVppCustomizer
         return dump.get().dhcpProxyDetails.stream().map(detail -> new RelayKey(detail.isIpv6 == 1
             ? Ipv6.class
             : Ipv4.class,
-            UnsignedInts.toLong(detail.rxVrfId))).collect(Collectors.toList());
+            new VniReference(UnsignedInts.toLong(detail.rxVrfId)))).collect(Collectors.toList());
     }
 
     @Override
@@ -121,17 +122,17 @@ final class DhcpRelayCustomizer extends FutureJVppCustomizer
 
         final RelayKey key = id.firstKeyOf(Relay.class);
 
-        final byte isIpv6 = (byte) (Ipv6.class == key.getAddressType()
+        final byte isIpv6 = (byte) (Ipv6.class == key.getAddressFamily()
             ? 1
             : 0);
-        final int rxVrfId = key.getRxVrfId().intValue();
+        final int rxVrfId = key.getRxVrfId().getValue().intValue();
 
         final java.util.Optional<DhcpProxyDetails> result =
             dump.get().dhcpProxyDetails.stream().filter(d -> d.isIpv6 == isIpv6 && d.rxVrfId == rxVrfId).findFirst();
 
         if (result.isPresent()) {
             final DhcpProxyDetails detail = result.get();
-            builder.setAddressType(key.getAddressType());
+            builder.setAddressFamily(key.getAddressFamily());
             builder.setRxVrfId(key.getRxVrfId());
             final boolean isIp6 = byteToBoolean(detail.isIpv6);
             builder.setGatewayAddress(readAddress(detail.dhcpSrcAddress, isIp6));
index a506f72..46ab48d 100644 (file)
@@ -31,10 +31,10 @@ import io.fd.vpp.jvpp.core.future.FutureJVppCore;
 import java.util.List;
 import javax.annotation.Nonnull;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressNoZone;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.Ipv6;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.dhcp.attributes.relays.Relay;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.dhcp.attributes.relays.RelayKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.relay.attributes.Server;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180629.dhcp.attributes.relays.Relay;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180629.dhcp.attributes.relays.RelayKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180629.relay.attributes.Server;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.fib.table.management.rev180521.Ipv6;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -98,8 +98,8 @@ final class DhcpRelayCustomizer extends FutureJVppCustomizer implements ListWrit
                           final boolean isAdd)
         throws WriteFailedException {
         final DhcpProxyConfig request = new DhcpProxyConfig();
-        request.rxVrfId = relay.getRxVrfId().byteValue();
-        final boolean isIpv6 = Ipv6.class == relay.getAddressType();
+        request.rxVrfId = relay.getRxVrfId().getValue().byteValue();
+        final boolean isIpv6 = Ipv6.class == relay.getAddressFamily();
         request.isIpv6 = booleanToByte(isIpv6);
         request.serverVrfId = server.getVrfId().intValue();
         request.isAdd = booleanToByte(isAdd);
index e694498..4ee5cbc 100644 (file)
@@ -23,10 +23,10 @@ import io.fd.honeycomb.translate.write.WriterFactory;
 import io.fd.honeycomb.translate.write.registry.ModifiableWriterRegistryBuilder;
 import io.fd.vpp.jvpp.core.future.FutureJVppCore;
 import javax.annotation.Nonnull;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.Dhcp;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.dhcp.attributes.Relays;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.dhcp.attributes.relays.Relay;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.relay.attributes.Server;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180629.Dhcp;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180629.dhcp.attributes.Relays;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180629.dhcp.attributes.relays.Relay;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180629.relay.attributes.Server;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
 /**
index bb417ee..3c1cdad 100644 (file)
@@ -27,7 +27,7 @@ public interface SchemaContextTestHelper extends InjectablesProcessor {
     default ModuleInfoBackedContext getSchemaContext() {
         return provideSchemaContextFor(ImmutableSet.of(
             // dhcp
-            org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.$YangModuleInfoImpl
+            org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180629.$YangModuleInfoImpl
                 .getInstance()
         ));
     }
index 904a2a2..500063d 100644 (file)
@@ -31,24 +31,25 @@ import io.fd.vpp.jvpp.core.dto.DhcpProxyDump;
 import io.fd.vpp.jvpp.core.types.DhcpServer;
 import java.util.List;
 import org.junit.Test;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.Dhcp;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.Ipv4;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.Ipv6;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.dhcp.attributes.Relays;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.dhcp.attributes.RelaysBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.dhcp.attributes.relays.Relay;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.dhcp.attributes.relays.RelayBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.dhcp.attributes.relays.RelayKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.relay.attributes.Server;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180629.Dhcp;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180629.dhcp.attributes.Relays;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180629.dhcp.attributes.RelaysBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180629.dhcp.attributes.relays.Relay;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180629.dhcp.attributes.relays.RelayBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180629.dhcp.attributes.relays.RelayKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180629.relay.attributes.Server;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.fib.table.management.rev180521.Ipv4;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.fib.table.management.rev180521.Ipv6;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.fib.table.management.rev180521.VniReference;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
 
 public class DhcpRelayCustomizerTest extends InitializingListReaderCustomizerTest<Relay, RelayKey, RelayBuilder> {
     private static InstanceIdentifier<Relays> RELAYS = InstanceIdentifier.create(Dhcp.class).child(Relays.class);
     private KeyedInstanceIdentifier<Relay, RelayKey> IP4_IID =
-        RELAYS.child(Relay.class, new RelayKey(Ipv4.class, 123L));
+        RELAYS.child(Relay.class, new RelayKey(Ipv4.class, new VniReference(123L)));
     private KeyedInstanceIdentifier<Relay, RelayKey> IP6_IID =
-        RELAYS.child(Relay.class, new RelayKey(Ipv6.class, 321L));
+        RELAYS.child(Relay.class, new RelayKey(Ipv6.class, new VniReference(321L)));
     public DhcpRelayCustomizerTest() {
         super(Relay.class, RelaysBuilder.class);
     }
@@ -104,7 +105,7 @@ public class DhcpRelayCustomizerTest extends InitializingListReaderCustomizerTes
     public void testReadIp4() throws ReadFailedException {
         final RelayBuilder builder = new RelayBuilder();
         getCustomizer().readCurrentAttributes(IP4_IID, builder, ctx);
-        assertEquals(IP4_IID.getKey().getAddressType(), builder.getAddressType());
+        assertEquals(IP4_IID.getKey().getAddressFamily(), builder.getAddressFamily());
         assertEquals(IP4_IID.getKey().getRxVrfId(), builder.getRxVrfId());
         assertArrayEquals("1.2.3.4".toCharArray(), builder.getGatewayAddress().getValue());
         final List<Server> server = builder.getServer();
@@ -119,7 +120,7 @@ public class DhcpRelayCustomizerTest extends InitializingListReaderCustomizerTes
     public void testReadIp6() throws ReadFailedException {
         final RelayBuilder builder = new RelayBuilder();
         getCustomizer().readCurrentAttributes(IP6_IID, builder, ctx);
-        assertEquals(IP6_IID.getKey().getAddressType(), builder.getAddressType());
+        assertEquals(IP6_IID.getKey().getAddressFamily(), builder.getAddressFamily());
         assertEquals(IP6_IID.getKey().getRxVrfId(), builder.getRxVrfId());
         assertEquals(22L, builder.getServer().get(0).getVrfId().longValue());
         assertArrayEquals("2001:db8:a0b:12f0::1".toCharArray(), builder.getGatewayAddress().getValue());
index 29ceb43..4e4e02f 100644 (file)
@@ -29,13 +29,14 @@ import io.fd.vpp.jvpp.core.dto.DhcpProxyConfig;
 import io.fd.vpp.jvpp.core.dto.DhcpProxyConfigReply;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.AddressFamily;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.Dhcp;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.Ipv4;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.Ipv6;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.dhcp.attributes.Relays;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.dhcp.attributes.relays.Relay;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180103.dhcp.attributes.relays.RelayKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180629.Dhcp;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180629.dhcp.attributes.Relays;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180629.dhcp.attributes.relays.Relay;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.dhcp.rev180629.dhcp.attributes.relays.RelayKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.fib.table.management.rev180521.AddressFamilyIdentity;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.fib.table.management.rev180521.Ipv4;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.fib.table.management.rev180521.Ipv6;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.fib.table.management.rev180521.VniReference;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
 @RunWith(HoneycombTestRunner.class)
@@ -106,7 +107,7 @@ public class DhcpRelayCustomizerTest extends WriterCustomizerTest implements Sch
         verify(api).dhcpProxyConfig(request);
     }
 
-    private InstanceIdentifier<Relay> getId(final long rxVrfId, final Class<? extends AddressFamily> addressType) {
-        return RELAYS_IID.child(Relay.class, new RelayKey(addressType, rxVrfId));
+    private InstanceIdentifier<Relay> getId(final long rxVrfId, final Class<? extends AddressFamilyIdentity> addressType) {
+        return RELAYS_IID.child(Relay.class, new RelayKey(addressType, new VniReference(rxVrfId)));
     }
 }
\ No newline at end of file
index 2c7dda2..6d7ca63 100644 (file)
@@ -2,7 +2,7 @@
   "relays": {
     "relay": [
       {
-        "address-type": "ipv4",
+        "address-family": "vpp-fib-table-management:ipv4",
         "rx-vrf-id": 0,
         "gateway-address": "5.6.7.8",
         "server" : [
index 7c2518b..c1ebc52 100644 (file)
@@ -2,7 +2,7 @@
   "relays": {
     "relay": [
       {
-        "address-type": "ipv6",
+        "address-family": "vpp-fib-table-management:ipv6",
         "rx-vrf-id": 1,
         "gateway-address": "2001::2",
         "server" : [
index 94f7c65..149a6e8 100644 (file)
@@ -2,7 +2,7 @@
   "relays": {
     "relay": [
       {
-        "address-type": "ipv6",
+        "address-family": "vpp-fib-table-management:ipv6",
         "rx-vrf-id": 1,
         "gateway-address": "2001::2",
         "server" : [
index e140d6d..ec12607 100644 (file)
@@ -1,13 +1,12 @@
 {
        "info": {
-               "_postman_id": "f5441117-e55c-ba3b-6673-aaa6d383e33c",
+               "_postman_id": "7053d779-442a-4ec9-bee0-70784789f19c",
                "name": "DHCP",
                "description": "Provides DHCP configuration examples for hc2vpp.",
                "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
        },
        "item": [
                {
-                       "_postman_id": "92a6f186-c4ea-4781-85a5-2b9c79884349",
                        "name": "Add IP4 DHCP Relay #1",
                        "request": {
                                "method": "PUT",
                                ],
                                "body": {
                                        "mode": "raw",
-                                       "raw": "{\n\t\"relay\": [\n\t\t{\n\t\t\t\"address-type\": \"ipv4\",\n\t\t\t\"rx-vrf-id\": 0,\n\t\t\t\"gateway-address\": \"5.6.7.8\",\n\t\t\t\"server\" : [\n\t\t\t\t{\n\t\t\t\t\t\"vrf-id\": 0,\n\t\t\t\t\t\"address\": \"1.2.3.3\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"vrf-id\": 0,\n\t\t\t\t\t\"address\": \"1.2.3.4\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"vrf-id\": 1,\n\t\t\t\t\t\"address\": \"1.2.3.5\"\n\t\t\t\t}\n        \t]\n\t\t}\n\t]\n}\n"
+                                       "raw": "{\n\t\"relay\": [\n\t\t{\n\t\t\t\"address-family\": \"vpp-fib-table-management:ipv4\",\n\t\t\t\"rx-vrf-id\": 0,\n\t\t\t\"gateway-address\": \"5.6.7.8\",\n\t\t\t\"server\" : [\n\t\t\t\t{\n\t\t\t\t\t\"vrf-id\": 0,\n\t\t\t\t\t\"address\": \"1.2.3.3\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"vrf-id\": 0,\n\t\t\t\t\t\"address\": \"1.2.3.4\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"vrf-id\": 1,\n\t\t\t\t\t\"address\": \"1.2.3.5\"\n\t\t\t\t}\n        \t]\n\t\t}\n\t]\n}\n"
                                },
                                "url": {
-                                       "raw": "http://localhost:8183/restconf/config/dhcp:dhcp/relays/relay/dhcp:ipv4/0",
+                                       "raw": "http://localhost:8183/restconf/config/dhcp:dhcp/relays/relay/vpp-fib-table-management:ipv4/0",
                                        "protocol": "http",
                                        "host": [
                                                "localhost"
@@ -38,7 +37,7 @@
                                                "dhcp:dhcp",
                                                "relays",
                                                "relay",
-                                               "dhcp:ipv4",
+                                               "vpp-fib-table-management:ipv4",
                                                "0"
                                        ]
                                },
@@ -47,7 +46,6 @@
                        "response": []
                },
                {
-                       "_postman_id": "e0eef0a4-fb27-4a99-933d-2ea4aff476f5",
                        "name": "Add IP4 DHCP Relay #2",
                        "request": {
                                "method": "PUT",
                                ],
                                "body": {
                                        "mode": "raw",
-                                       "raw": "{\n\t\"relay\": [\n\t\t{\n\t\t\t\"address-type\": \"ipv4\",\n\t\t\t\"rx-vrf-id\": 1,\n\t\t\t\"gateway-address\": \"5.6.7.9\",\n\t\t\t\"server\" : [\n\t\t\t\t{\n\t\t\t\t\t\"vrf-id\": 0,\n\t\t\t\t\t\"address\": \"1.2.3.6\"\n\t\t\t\t}\n        \t]\n\t\t}\n\t]\n}\n"
+                                       "raw": "{\n\t\"relay\": [\n\t\t{\n\t\t\t\"address-family\": \"vpp-fib-table-management:ipv4\",\n\t\t\t\"rx-vrf-id\": 1,\n\t\t\t\"gateway-address\": \"5.6.7.9\",\n\t\t\t\"server\" : [\n\t\t\t\t{\n\t\t\t\t\t\"vrf-id\": 0,\n\t\t\t\t\t\"address\": \"1.2.3.6\"\n\t\t\t\t}\n        \t]\n\t\t}\n\t]\n}\n"
                                },
                                "url": {
-                                       "raw": "http://localhost:8183/restconf/config/dhcp:dhcp/relays/relay/dhcp:ipv4/1",
+                                       "raw": "http://localhost:8183/restconf/config/dhcp:dhcp/relays/relay/vpp-fib-table-management:ipv4/1",
                                        "protocol": "http",
                                        "host": [
                                                "localhost"
@@ -78,7 +76,7 @@
                                                "dhcp:dhcp",
                                                "relays",
                                                "relay",
-                                               "dhcp:ipv4",
+                                               "vpp-fib-table-management:ipv4",
                                                "1"
                                        ]
                                },
@@ -87,7 +85,6 @@
                        "response": []
                },
                {
-                       "_postman_id": "10d6a414-e469-4352-b905-a376bf04e530",
                        "name": "Configure IP6 DHCP Relay",
                        "request": {
                                "method": "PUT",
                                ],
                                "body": {
                                        "mode": "raw",
-                                       "raw": "{\n\t\"relay\": [\n\t\t{\n\t        \"address-type\": \"ipv6\",\n\t        \"rx-vrf-id\": 1,\n\t        \"gateway-address\": \"2001::2\",\n\t\t\t\"server\" : [\n\t\t\t\t{\n\t\t\t\t\t\"vrf-id\": 2,\n\t\t\t\t\t\"address\": \"2001::1\"\n\t\t\t\t}\n        \t]\n\t\t}\n\t]\n}\n"
+                                       "raw": "{\n\t\"relay\": [\n\t\t{\n\t        \"address-family\": \"vpp-fib-table-management:ipv6\",\n\t        \"rx-vrf-id\": 1,\n\t        \"gateway-address\": \"2001::2\",\n\t\t\t\"server\" : [\n\t\t\t\t{\n\t\t\t\t\t\"vrf-id\": 2,\n\t\t\t\t\t\"address\": \"2001::1\"\n\t\t\t\t}\n        \t]\n\t\t}\n\t]\n}\n"
                                },
                                "url": {
-                                       "raw": "http://localhost:8183/restconf/config/dhcp:dhcp/relays/relay/dhcp:ipv6/1",
+                                       "raw": "http://localhost:8183/restconf/config/dhcp:dhcp/relays/relay/vpp-fib-table-management:ipv6/1",
                                        "protocol": "http",
                                        "host": [
                                                "localhost"
                                                "dhcp:dhcp",
                                                "relays",
                                                "relay",
-                                               "dhcp:ipv6",
+                                               "vpp-fib-table-management:ipv6",
                                                "1"
                                        ]
                                },
                        "response": []
                },
                {
-                       "_postman_id": "ec6ef8ec-689b-4ca8-8b5d-93f5a00618af",
                        "name": "Delete one of DHCP servers",
                        "request": {
                                "method": "DELETE",
                        "response": []
                },
                {
-                       "_postman_id": "f249a24a-d940-4a88-9738-b41e9fe16c92",
                        "name": "Delete IP4 DHCP Relay #1",
                        "request": {
                                "method": "DELETE",
                        "response": []
                },
                {
-                       "_postman_id": "8d735396-317f-48c5-9af8-b51831f26084",
                        "name": "Delete IP4 DHCP Relay #2",
                        "request": {
                                "method": "DELETE",
                        "response": []
                },
                {
-                       "_postman_id": "88cff2b2-7506-43db-abc3-3609f1c93622",
                        "name": "Show DHCP Relay cfg",
                        "request": {
                                "method": "GET",
                                ],
                                "body": {
                                        "mode": "raw",
-                                       "raw": "{\n\t\"relay\": [\n\t\t{\n\t\t\t\"address-type\": \"ipv4\",\n\t\t\t\"rx-vrf-id\": 0,\n\t\t\t\"server-address\": \"1.2.3.4\",\n\t\t\t\"gateway-address\": \"5.6.7.8\"}\n\t]\n}\n"
+                                       "raw": "{\n\t\"relay\": [\n\t\t{\n\t\t\t\"address-family\": \"vpp-fib-table-management:ipv4\",\n\t\t\t\"rx-vrf-id\": 0,\n\t\t\t\"server-address\": \"1.2.3.4\",\n\t\t\t\"gateway-address\": \"5.6.7.8\"}\n\t]\n}\n"
                                },
                                "url": {
                                        "raw": "http://localhost:8183/restconf/config/dhcp:dhcp/relays/",
                        "response": []
                },
                {
-                       "_postman_id": "49d460d8-688e-43b5-a29d-d8fab9a940bd",
                        "name": "Show DHCP Relay oper",
                        "request": {
                                "method": "GET",
                                ],
                                "body": {
                                        "mode": "raw",
-                                       "raw": "{\n\t\"relay\": [\n\t\t{\n\t\t\t\"address-type\": \"ipv4\",\n\t\t\t\"rx-vrf-id\": 0,\n\t\t\t\"server-address\": \"1.2.3.4\",\n\t\t\t\"gateway-address\": \"5.6.7.8\"}\n\t]\n}\n"
+                                       "raw": "{\n\t\"relay\": [\n\t\t{\n\t\t\t\"address-family\": \"vpp-fib-table-management:ipv4\",\n\t\t\t\"rx-vrf-id\": 0,\n\t\t\t\"server-address\": \"1.2.3.4\",\n\t\t\t\"gateway-address\": \"5.6.7.8\"}\n\t]\n}\n"
                                },
                                "url": {
                                        "raw": "http://localhost:8183/restconf/config/dhcp:dhcp/relays/",