2 * Copyright (c) 2015 Cisco Systems, Inc. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.lispflowmapping.lisp.util;
10 import java.util.ArrayList;
11 import java.util.List;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.EidToLocatorRecord;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.MapRegister;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.MapRequest;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.eidrecords.EidRecord;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.eidrecords.EidRecordBuilder;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.eidtolocatorrecords.EidToLocatorRecordBuilder;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.lispaddress.LispAddressContainer;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.mapregisternotification.MapRegisterBuilder;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.maprequestnotification.MapRequestBuilder;
24 * Utilities to prepare MapRegister and MapRequest object for interaction with
25 * the IFlowMapping API.
27 * @author Lorand Jakab
30 public class MapServerMapResolverUtil {
32 public static MapRegister getMapRegister(EidToLocatorRecord mapping) {
33 MapRegisterBuilder mrb = new MapRegisterBuilder();
34 mrb.setEidToLocatorRecord(getEidToLocatorRecord(mapping));
38 public static MapRequest getMapRequest(LispAddressContainer address, short mask) {
39 MapRequestBuilder mrb = new MapRequestBuilder();
41 mrb.setEidRecord(getEidRecord(address, mask));
45 public static List<org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.eidtolocatorrecords.EidToLocatorRecord> getEidToLocatorRecord(EidToLocatorRecord mapping) {
46 EidToLocatorRecordBuilder etlrb = new EidToLocatorRecordBuilder();
47 etlrb.setRecordTtl(mapping.getRecordTtl());
48 etlrb.setMaskLength(mapping.getMaskLength());
49 etlrb.setMapVersion(mapping.getMapVersion());
50 etlrb.setAction(mapping.getAction());
51 etlrb.setAuthoritative(mapping.isAuthoritative());
52 etlrb.setLispAddressContainer(mapping.getLispAddressContainer());
53 etlrb.setLocatorRecord(mapping.getLocatorRecord());
55 List<org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.eidtolocatorrecords.EidToLocatorRecord> mappings =
56 new ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.eidtolocatorrecords.EidToLocatorRecord>();
57 mappings.add(etlrb.build());
61 public static List<EidRecord> getEidRecord(LispAddressContainer address, short mask) {
62 EidRecordBuilder erb = new EidRecordBuilder();
63 erb.setLispAddressContainer(address);
66 List<EidRecord> records = new ArrayList<EidRecord>();
67 records.add(erb.build());