Search in sources :

Example 1 with DefaultMappingEntry

use of org.onosproject.mapping.DefaultMappingEntry in project onos by opennetworkinglab.

the class SimpleMappingStore method storeMapping.

@Override
public void storeMapping(Type type, MappingEntry mapping) {
    List<StoredMappingEntry> entries = getMappingEntriesInternal(type, mapping.deviceId(), mapping.id());
    synchronized (entries) {
        if (!entries.contains(mapping)) {
            StoredMappingEntry entry = new DefaultMappingEntry(mapping, mapping.state());
            entries.add(entry);
        }
    }
}
Also used : StoredMappingEntry(org.onosproject.mapping.StoredMappingEntry) DefaultMappingEntry(org.onosproject.mapping.DefaultMappingEntry)

Example 2 with DefaultMappingEntry

use of org.onosproject.mapping.DefaultMappingEntry in project onos by opennetworkinglab.

the class MappingEntryCodecTest method testMappingEntryEncode.

/**
 * Tests encoding of a mapping entry object.
 */
@Test
public void testMappingEntryEncode() {
    MappingAddress address = MappingAddresses.ipv4MappingAddress(IPV4_PREFIX);
    MappingInstruction unicastWeight = MappingInstructions.unicastWeight(UNICAST_WEIGHT);
    MappingInstruction unicastPriority = MappingInstructions.unicastPriority(UNICAST_PRIORITY);
    MappingInstruction multicastWeight = MappingInstructions.multicastWeight(MULTICAST_WEIGHT);
    MappingInstruction multicastPriority = MappingInstructions.multicastPriority(MULTICAST_PRIORITY);
    MappingKey key = DefaultMappingKey.builder().withAddress(address).build();
    MappingTreatment treatment = DefaultMappingTreatment.builder().add(unicastWeight).add(unicastPriority).add(multicastWeight).add(multicastPriority).withAddress(address).build();
    MappingAction action = MappingActions.noAction();
    MappingValue value = DefaultMappingValue.builder().add(treatment).withAction(action).build();
    Mapping mapping = DefaultMapping.builder().withId(ID).forDevice(DEVICE_ID).withKey(key).withValue(value).build();
    MappingEntry entry = new DefaultMappingEntry(mapping, STATE);
    ObjectNode entryJson = entryCodec.encode(entry, context);
    assertThat(entryJson, MappingEntryJsonMatcher.matchesMappingEntry(entry));
}
Also used : MappingEntry(org.onosproject.mapping.MappingEntry) DefaultMappingEntry(org.onosproject.mapping.DefaultMappingEntry) MappingAddress(org.onosproject.mapping.addresses.MappingAddress) ObjectNode(com.fasterxml.jackson.databind.node.ObjectNode) MappingAction(org.onosproject.mapping.actions.MappingAction) DefaultMapping(org.onosproject.mapping.DefaultMapping) Mapping(org.onosproject.mapping.Mapping) DefaultMappingEntry(org.onosproject.mapping.DefaultMappingEntry) DefaultMappingKey(org.onosproject.mapping.DefaultMappingKey) MappingKey(org.onosproject.mapping.MappingKey) MappingTreatment(org.onosproject.mapping.MappingTreatment) DefaultMappingTreatment(org.onosproject.mapping.DefaultMappingTreatment) DefaultMappingValue(org.onosproject.mapping.DefaultMappingValue) MappingValue(org.onosproject.mapping.MappingValue) MappingInstruction(org.onosproject.mapping.instructions.MappingInstruction) Test(org.junit.Test)

Example 3 with DefaultMappingEntry

use of org.onosproject.mapping.DefaultMappingEntry in project onos by opennetworkinglab.

the class DistributedMappingStoreTest method setUp.

/**
 * Sets up the storage service test harness.
 */
@Before
public void setUp() {
    mappingStore = new DistributedMappingStore();
    mappingStore.storageService = new TestStorageService();
    mappingStore.deviceService = new InternalDeviceServiceAdapter();
    mappingStore.setDelegate(event -> {
    });
    IpPrefix ipPrefix = IpPrefix.valueOf(IP_ADDRESS);
    MappingAddress address = MappingAddresses.ipv4MappingAddress(ipPrefix);
    MappingKey key = DefaultMappingKey.builder().withAddress(address).build();
    MappingAction action = MappingActions.noAction();
    MappingTreatment treatment = DefaultMappingTreatment.builder().withAddress(address).setUnicastPriority(10).setUnicastWeight(10).build();
    MappingValue value = DefaultMappingValue.builder().withAction(action).add(treatment).build();
    device1 = new MockDevice(ProviderId.NONE, DEVICE_ID_1, Device.Type.OTHER, "foo.inc", "0", "0", "0", null, DefaultAnnotations.builder().build());
    device2 = new MockDevice(ProviderId.NONE, DEVICE_ID_2, Device.Type.OTHER, "foo.inc", "0", "0", "0", null, DefaultAnnotations.builder().build());
    Mapping originalMapping1 = DefaultMapping.builder().forDevice(DEVICE_ID_1).withId(1000L).withKey(key).withValue(value).build();
    Mapping originalMapping2 = DefaultMapping.builder().forDevice(DEVICE_ID_2).withId(2000L).withKey(key).withValue(value).build();
    mapping1 = new DefaultMappingEntry(originalMapping1);
    mapping2 = new DefaultMappingEntry(originalMapping2);
    mappingStore.activate();
}
Also used : IpPrefix(org.onlab.packet.IpPrefix) MappingAddress(org.onosproject.mapping.addresses.MappingAddress) MappingAction(org.onosproject.mapping.actions.MappingAction) TestStorageService(org.onosproject.store.service.TestStorageService) DefaultMapping(org.onosproject.mapping.DefaultMapping) Mapping(org.onosproject.mapping.Mapping) DefaultMappingEntry(org.onosproject.mapping.DefaultMappingEntry) DefaultMappingKey(org.onosproject.mapping.DefaultMappingKey) MappingKey(org.onosproject.mapping.MappingKey) MappingTreatment(org.onosproject.mapping.MappingTreatment) DefaultMappingTreatment(org.onosproject.mapping.DefaultMappingTreatment) DefaultMappingValue(org.onosproject.mapping.DefaultMappingValue) MappingValue(org.onosproject.mapping.MappingValue) Before(org.junit.Before)

Example 4 with DefaultMappingEntry

use of org.onosproject.mapping.DefaultMappingEntry in project onos by opennetworkinglab.

the class MappingManagerTest method removeMappingEntries.

/**
 * Tests removing mapping entries method.
 */
@Test
public void removeMappingEntries() {
    Mapping m1 = addMapping(MAP_DATABASE, 1);
    Mapping m2 = addMapping(MAP_DATABASE, 2);
    addMapping(MAP_DATABASE, 3);
    assertEquals("3 mappings should exist", 3, mappingCount(MAP_DATABASE));
    MappingEntry me1 = new DefaultMappingEntry(m1);
    MappingEntry me2 = new DefaultMappingEntry(m2);
    adminService.removeMappingEntries(MAP_DATABASE, me1, me2);
    assertEquals("1 mappings should exist", 1, mappingCount(MAP_DATABASE));
}
Also used : MappingEntry(org.onosproject.mapping.MappingEntry) DefaultMappingEntry(org.onosproject.mapping.DefaultMappingEntry) DefaultMapping(org.onosproject.mapping.DefaultMapping) Mapping(org.onosproject.mapping.Mapping) DefaultMappingEntry(org.onosproject.mapping.DefaultMappingEntry) Test(org.junit.Test)

Example 5 with DefaultMappingEntry

use of org.onosproject.mapping.DefaultMappingEntry in project onos by opennetworkinglab.

the class MappingManagerTest method storeMappingEntry.

/**
 * Tests storing mapping entry method.
 */
@Test
public void storeMappingEntry() {
    Mapping m1 = mapping(1, 1);
    Mapping m2 = mapping(2, 2);
    Mapping m3 = mapping(3, 3);
    MappingEntry me1 = new DefaultMappingEntry(m1);
    MappingEntry me2 = new DefaultMappingEntry(m2);
    MappingEntry me3 = new DefaultMappingEntry(m3);
    assertTrue("store should be empty", Sets.newHashSet(service.getMappingEntries(MAP_DATABASE, LISP_DID)).isEmpty());
    adminService.storeMappingEntry(MAP_DATABASE, me1);
    adminService.storeMappingEntry(MAP_DATABASE, me2);
    adminService.storeMappingEntry(MAP_DATABASE, me3);
    assertEquals("3 mappings should exist", 3, mappingCount(MAP_DATABASE));
}
Also used : MappingEntry(org.onosproject.mapping.MappingEntry) DefaultMappingEntry(org.onosproject.mapping.DefaultMappingEntry) DefaultMapping(org.onosproject.mapping.DefaultMapping) Mapping(org.onosproject.mapping.Mapping) DefaultMappingEntry(org.onosproject.mapping.DefaultMappingEntry) Test(org.junit.Test)

Aggregations

DefaultMappingEntry (org.onosproject.mapping.DefaultMappingEntry)6 DefaultMapping (org.onosproject.mapping.DefaultMapping)5 Mapping (org.onosproject.mapping.Mapping)5 MappingEntry (org.onosproject.mapping.MappingEntry)4 Test (org.junit.Test)3 DefaultMappingKey (org.onosproject.mapping.DefaultMappingKey)2 DefaultMappingTreatment (org.onosproject.mapping.DefaultMappingTreatment)2 DefaultMappingValue (org.onosproject.mapping.DefaultMappingValue)2 MappingKey (org.onosproject.mapping.MappingKey)2 MappingTreatment (org.onosproject.mapping.MappingTreatment)2 MappingValue (org.onosproject.mapping.MappingValue)2 MappingAction (org.onosproject.mapping.actions.MappingAction)2 MappingAddress (org.onosproject.mapping.addresses.MappingAddress)2 ObjectNode (com.fasterxml.jackson.databind.node.ObjectNode)1 Before (org.junit.Before)1 IpPrefix (org.onlab.packet.IpPrefix)1 StoredMappingEntry (org.onosproject.mapping.StoredMappingEntry)1 MappingInstruction (org.onosproject.mapping.instructions.MappingInstruction)1 TestStorageService (org.onosproject.store.service.TestStorageService)1