import java.util.concurrent.CompletionStage;
import javax.annotation.Nonnull;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev170607.RoutingBaseAttributes;
+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.slf4j.Logger;
import org.slf4j.LoggerFactory;
}
private void setVrfId(final InstanceIdentifier<? extends RoutingBaseAttributes> id, final int swIfc,
- final Long vrfId, boolean isIp6)
+ final VniReference vniRef, boolean isIp6)
throws WriteFailedException {
- if (vrfId == null) {
+ if (vniRef == null || vniRef.getValue() == null) {
return;
}
- final CompletionStage<SwInterfaceSetTableReply> cs = getFutureJVpp()
- .swInterfaceSetTable(getInterfaceSetTableRequest(swIfc, booleanToByte(isIp6), vrfId.intValue()));
+ final CompletionStage<SwInterfaceSetTableReply> cs = getFutureJVpp().swInterfaceSetTable(
+ getInterfaceSetTableRequest(swIfc, booleanToByte(isIp6), vniRef.getValue().intValue()));
getReplyForWrite(cs.toCompletableFuture(), id);
}
import java.util.function.Consumer;
import javax.annotation.Nonnull;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev170607.RoutingBaseAttributes;
+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;
abstract class RoutingCustomizer extends FutureJVppCustomizer implements JvppReplyConsumer {
}
protected void readInterfaceRouting(@Nonnull final InstanceIdentifier<? extends RoutingBaseAttributes> id,
- @Nonnull final Consumer<Long> v4VrfConsumer,
- @Nonnull final Consumer<Long> v6VrfConsumer,
+ @Nonnull final Consumer<VniReference> v4VrfConsumer,
+ @Nonnull final Consumer<VniReference> v6VrfConsumer,
@Nonnull final ReadContext ctx, final String interfaceName)
throws ReadFailedException {
final SwInterfaceGetTable request = new SwInterfaceGetTable();
getReplyForRead(getFutureJVpp().swInterfaceGetTable(request).toCompletableFuture(), id);
if (ip4Reply.vrfId != 0) {
- v4VrfConsumer.accept(UnsignedInts.toLong(ip4Reply.vrfId));
+ v4VrfConsumer.accept(new VniReference(UnsignedInts.toLong(ip4Reply.vrfId)));
}
if (ip6Reply.vrfId != 0) {
- v6VrfConsumer.accept(UnsignedInts.toLong(ip6Reply.vrfId));
+ v6VrfConsumer.accept(new VniReference(UnsignedInts.toLong(ip6Reply.vrfId)));
}
}
}
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.Interfaces;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.InterfaceKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.fib.table.management.rev180521.VniReference;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.vlan.rev180319.SubinterfaceAugmentation;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.vlan.rev180319.interfaces._interface.SubInterfaces;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.vlan.rev180319.interfaces._interface.sub.interfaces.SubInterface;
@Test(expected = IllegalStateException.class)
public void testWriteFailedV4AddressPresent() throws WriteFailedException {
when(writeContext.readBefore(any(InstanceIdentifier.class))).thenReturn(Optional.of(v4AddressPresent()));
- final Routing v4Routing = new RoutingBuilder().setIpv4VrfId(4L).build();
+ final Routing v4Routing = new RoutingBuilder().setIpv4VrfId(new VniReference(4L)).build();
customizer.writeCurrentAttributes(VALID_ID, v4Routing, writeContext);
}
@Test(expected = IllegalStateException.class)
public void testWriteFailedV6AddressPresent() throws WriteFailedException {
when(writeContext.readBefore(any(InstanceIdentifier.class))).thenReturn(Optional.of(v6AddressPresent()));
- final Routing v4Routing = new RoutingBuilder().setIpv4VrfId(4L).build();
+ final Routing v4Routing = new RoutingBuilder().setIpv4VrfId(new VniReference(4L)).build();
customizer.writeCurrentAttributes(VALID_ID, v4Routing, writeContext);
}
@Test
public void testWriteIpv4Vrf() throws WriteFailedException {
when(writeContext.readBefore(any(InstanceIdentifier.class))).thenReturn(Optional.absent());
- final Routing v4Routing = new RoutingBuilder().setIpv4VrfId(4L).build();
+ final Routing v4Routing = new RoutingBuilder().setIpv4VrfId(new VniReference(4L)).build();
customizer.writeCurrentAttributes(VALID_ID, v4Routing, writeContext);
verifySetTableRequest(1, Collections.singleton(request(false, SUBIF_INDEX, 4)));
}
@Test
public void testWriteIpv6Vrf() throws WriteFailedException {
when(writeContext.readBefore(any(InstanceIdentifier.class))).thenReturn(Optional.absent());
- final Routing v6Routing = new RoutingBuilder().setIpv6VrfId(3L).build();
+ final Routing v6Routing = new RoutingBuilder().setIpv6VrfId(new VniReference(3L)).build();
customizer.writeCurrentAttributes(VALID_ID, v6Routing, writeContext);
verifySetTableRequest(1, Collections.singleton(request(true, SUBIF_INDEX, 3)));
}
@Test
public void testUpdateIpv4Vrf() throws WriteFailedException {
when(writeContext.readBefore(any(InstanceIdentifier.class))).thenReturn(Optional.absent());
- final Routing routingBefore = new RoutingBuilder().setIpv6VrfId(3L).setIpv4VrfId(4L).build();
- final Routing routingAfter = new RoutingBuilder().setIpv6VrfId(3L).setIpv4VrfId(5L).build();
+ final Routing routingBefore = new RoutingBuilder().setIpv6VrfId(new VniReference(3L))
+ .setIpv4VrfId(new VniReference(4L)).build();
+ final Routing routingAfter = new RoutingBuilder().setIpv6VrfId(new VniReference(3L))
+ .setIpv4VrfId(new VniReference(5L)).build();
customizer.updateCurrentAttributes(VALID_ID, routingBefore, routingAfter, writeContext);
verifySetTableRequest(2, ImmutableSet.of(request(false, SUBIF_INDEX, 5),
request(true, SUBIF_INDEX, 3)));
@Test
public void testUpdateIpv6Vrf() throws WriteFailedException {
when(writeContext.readBefore(any(InstanceIdentifier.class))).thenReturn(Optional.absent());
- final Routing routingBefore = new RoutingBuilder().setIpv6VrfId(3L).setIpv4VrfId(4L).build();
- final Routing routingAfter = new RoutingBuilder().setIpv6VrfId(8L).setIpv4VrfId(4L).build();
+ final Routing routingBefore = new RoutingBuilder().setIpv6VrfId(new VniReference(3L))
+ .setIpv4VrfId(new VniReference(4L)).build();
+ final Routing routingAfter = new RoutingBuilder().setIpv6VrfId(new VniReference(8L))
+ .setIpv4VrfId(new VniReference(4L)).build();
customizer.updateCurrentAttributes(VALID_ID, routingBefore, routingAfter, writeContext);
verifySetTableRequest(2, ImmutableSet.of(request(false, SUBIF_INDEX, 4),
request(true, SUBIF_INDEX, 8)));
@Test
public void testDeleteIpv4Vrf() throws WriteFailedException {
when(writeContext.readAfter(any(InstanceIdentifier.class))).thenReturn(Optional.absent());
- final Routing v4Routing = new RoutingBuilder().setIpv4VrfId(4L).build();
+ final Routing v4Routing = new RoutingBuilder().setIpv4VrfId(new VniReference(4L)).build();
customizer.deleteCurrentAttributes(VALID_ID, v4Routing, writeContext);
verifySetTableRequest(1, Collections.singleton(request(false, SUBIF_INDEX, DISABLE_VRF)));
}
@Test
public void testDeleteIpv6Vrf() throws WriteFailedException {
when(writeContext.readAfter(any(InstanceIdentifier.class))).thenReturn(Optional.absent());
- final Routing v6Routing = new RoutingBuilder().setIpv6VrfId(3L).build();
+ final Routing v6Routing = new RoutingBuilder().setIpv6VrfId(new VniReference(3L)).build();
customizer.deleteCurrentAttributes(VALID_ID, v6Routing, writeContext);
verifySetTableRequest(1, Collections.singleton(request(true, SUBIF_INDEX, DISABLE_VRF)));
}