import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;
-import com.google.common.primitives.Longs;
import io.fd.hc2vpp.common.translate.util.ByteDataTranslator;
import io.fd.hc2vpp.common.translate.util.FutureJVppCustomizer;
import io.fd.hc2vpp.common.translate.util.JvppReplyConsumer;
private L2FibAddDel createL2FibRequest(final L2FibEntry entry, final int bdId, final int swIfIndex, boolean isAdd) {
final L2FibAddDel request = new L2FibAddDel();
- request.mac = macToLong(entry.getPhysAddress().getValue());
+ request.mac = parseMac(entry.getPhysAddress().getValue());
request.bdId = bdId;
request.swIfIndex = swIfIndex;
request.isAdd = booleanToByte(isAdd);
}
return request;
}
-
- // mac address is string of the form: 11:22:33:44:55:66
- // but VPP expects long value in the format 11:22:33:44:55:66:XX:XX
- private long macToLong(final String macAddress) {
- final byte[] mac = parseMac(macAddress);
- return Longs.fromBytes(mac[0], mac[1], mac[2], mac[3],
- mac[4], mac[5], (byte) 0, (byte) 0);
- }
}
package io.fd.hc2vpp.v3po.l2state;
import com.google.common.base.Preconditions;
-import com.google.common.primitives.Longs;
import io.fd.hc2vpp.common.translate.util.ByteDataTranslator;
import io.fd.hc2vpp.common.translate.util.FutureJVppCustomizer;
import io.fd.hc2vpp.common.translate.util.NamingContext;
try {
// TODO HONEYCOMB-186 use cached l2FibTable
final L2FibTableDetails entry = dumpL2Fibs(id, bdId).stream().filter(e -> key.getPhysAddress()
- .equals(new PhysAddress(vppPhysAddrToYang(Longs.toByteArray(e.mac), 2))))
+ .equals(new PhysAddress(vppPhysAddrToYang((e.mac)))))
.collect(SINGLE_ITEM_COLLECTOR);
builder.setAction(byteToBoolean(entry.filterMac)
LOG.debug("Reading L2 FIB for bridge domain {} (bdId={})", bridgeDomainKey, bdId);
return dumpL2Fibs(id, bdId).stream()
- .map(entry -> new L2FibEntryKey(
- new PhysAddress(vppPhysAddrToYang(Longs.toByteArray(entry.mac), 2))))
+ .map(entry -> new L2FibEntryKey(new PhysAddress(vppPhysAddrToYang(entry.mac))))
.collect(Collectors.toList());
}
package io.fd.hc2vpp.v3po.l2;
+import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
doReturn(failedFuture()).when(api).l2FibAddDel(any(L2FibAddDel.class));
}
- private L2FibAddDel generateL2FibAddDelFilterRequest(final long mac, final byte isAdd, final int ifaceIndex) {
+ private L2FibAddDel generateL2FibAddDelFilterRequest(final byte[] mac, final byte isAdd, final int ifaceIndex) {
final L2FibAddDel request = new L2FibAddDel();
request.mac = mac;
request.bdId = BD_ID;
return request;
}
- private L2FibAddDel generateL2FibAddDelForwardRequest(final long mac, final byte isAdd, final int ifaceIndex) {
+ private L2FibAddDel generateL2FibAddDelForwardRequest(final byte[] mac, final byte isAdd, final int ifaceIndex) {
final L2FibAddDel request = new L2FibAddDel();
request.mac = mac;
request.bdId = BD_ID;
ArgumentCaptor<L2FibAddDel> argumentCaptor = ArgumentCaptor.forClass(L2FibAddDel.class);
verify(api).l2FibAddDel(argumentCaptor.capture());
final L2FibAddDel actual = argumentCaptor.getValue();
- assertEquals(expected.mac, actual.mac);
+ assertArrayEquals(expected.mac, actual.mac);
assertEquals(expected.bdId, actual.bdId);
assertEquals(expected.swIfIndex, actual.swIfIndex);
assertEquals(expected.isAdd, actual.isAdd);
@Test
public void testCreateFilter() throws Exception {
- final long address_vpp = 0x0102030405060000L;
+ final byte[] address_vpp = new byte[]{1, 2, 3, 4, 5, 6};
final PhysAddress address = new PhysAddress("01:02:03:04:05:06");
final L2FibEntry entry = generateL2FibFilterEntry(address);
final InstanceIdentifier<L2FibEntry> id = getL2FibEntryId(address);
@Test
public void testCreateForward() throws Exception {
- final long address_vpp = 0x0102030405060000L;
+ final byte[] address_vpp = new byte[]{1, 2, 3, 4, 5, 6};
final PhysAddress address = new PhysAddress("01:02:03:04:05:06");
final L2FibEntry entry = generateL2FibForwardEntry(address);
final InstanceIdentifier<L2FibEntry> id = getL2FibEntryId(address);
@Test
public void testCreateFilterFailed() throws Exception {
- final long address_vpp = 0x1122334455660000L;
+ final byte[] address_vpp = new byte[]{0x11, 0x22 ,0x33, 0x44 ,0x55, 0x66};
final PhysAddress address = new PhysAddress("11:22:33:44:55:66");
final L2FibEntry entry = generateL2FibFilterEntry(address);
final InstanceIdentifier<L2FibEntry> id = getL2FibEntryId(address);
@Test
public void testCreateForwardFailed() throws Exception {
- final long address_vpp = 0x1122334455660000L;
+ final byte[] address_vpp = new byte[]{0x11, 0x22 ,0x33, 0x44 ,0x55, 0x66};
final PhysAddress address = new PhysAddress("11:22:33:44:55:66");
final L2FibEntry entry = generateL2FibForwardEntry(address);
final InstanceIdentifier<L2FibEntry> id = getL2FibEntryId(address);
@Test
public void testDeleteFilter() throws Exception {
- final long address_vpp = 0x1122334455660000L;
+ final byte[] address_vpp = new byte[]{0x11, 0x22 ,0x33, 0x44 ,0x55, 0x66};
final PhysAddress address = new PhysAddress("11:22:33:44:55:66");
final L2FibEntry entry = generateL2FibFilterEntry(address);
final InstanceIdentifier<L2FibEntry> id = getL2FibEntryId(address);
@Test
public void testDeleteForward() throws Exception {
- final long address_vpp = 0x1122334455660000L;
+ final byte[] address_vpp = new byte[]{0x11, 0x22 ,0x33, 0x44 ,0x55, 0x66};
final PhysAddress address = new PhysAddress("11:22:33:44:55:66");
final L2FibEntry entry = generateL2FibForwardEntry(address);
final InstanceIdentifier<L2FibEntry> id = getL2FibEntryId(address);
@Test
public void testDeleteFilterFailed() throws Exception {
- final long address_vpp = 0x0102030405060000L;
+ final byte[] address_vpp = new byte[]{1, 2, 3, 4, 5, 6};
final PhysAddress address = new PhysAddress("01:02:03:04:05:06");
final L2FibEntry entry = generateL2FibFilterEntry(address);
final InstanceIdentifier<L2FibEntry> id = getL2FibEntryId(address);
@Test
public void testDeleteForwardFailed() throws Exception {
- final long address_vpp = 0x0102030405060000L;
+ final byte[] address_vpp = new byte[]{1, 2, 3, 4, 5, 6};
final PhysAddress address = new PhysAddress("01:02:03:04:05:06");
final L2FibEntry entry = generateL2FibForwardEntry(address);
final InstanceIdentifier<L2FibEntry> id = getL2FibEntryId(address);
@Test
public void testRead() throws Exception {
- final long address_vpp = 0x0000010203040506L;
+ final byte[] address_vpp = new byte[]{1, 2, 3, 4, 5, 6};
final PhysAddress address = new PhysAddress("01:02:03:04:05:06");
defineMapping(mappingContext, IFACE_NAME, IFACE_ID, IFC_CTX_NAME);
verify(builder).setKey(new L2FibEntryKey(address));
}
- private L2FibTableDetails generateL2FibEntry(final long mac) {
+ private L2FibTableDetails generateL2FibEntry(final byte[] mac) {
final L2FibTableDetails entry = new L2FibTableDetails();
entry.mac = mac;
entry.swIfIndex = IFACE_ID;
@Test
public void testGetAllIds() throws Exception {
- final long address_vpp = 0x0000112233445566L;
+ final byte[] address_vpp = new byte[]{0x11, 0x22, 0x33, 0x44, 0x55, 0x66};
final PhysAddress address = new PhysAddress("11:22:33:44:55:66");
whenL2FibTableDumpThenReturn(Collections.singletonList(generateL2FibEntry(address_vpp)));