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.lisp.proto.rev151105.EidToLocatorRecord;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.MapRegister;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.MapRequest;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eidrecords.EidRecord;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eidrecords.EidRecordBuilder;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eidtolocatorrecords.EidToLocatorRecordBuilder;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.lispaddress.LispAddressContainer;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapregisternotification.MapRegisterBuilder;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.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(LispAddress address) {
39 MapRequestBuilder mrb = new MapRequestBuilder();
41 mrb.setEidRecord(getEidRecord(address));
45 public static List<org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.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.setEid(mapping.getEid());
53 etlrb.setLocatorRecord(mapping.getLocatorRecord());
55 List<org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eidtolocatorrecords.EidToLocatorRecord> mappings =
56 new ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eidtolocatorrecords.EidToLocatorRecord>();
57 mappings.add(etlrb.build());
61 public static List<EidRecord> getEidRecord(LispAddress address) {
62 EidRecordBuilder erb = new EidRecordBuilder();
64 erb.setAddress(address.getAddress());
65 erb.setAfi(address.getAfi());
66 erb.setVirtualNetworkId(address.getVirtualNetworkId());
68 List<EidRecord> records = new ArrayList<EidRecord>();
69 records.add(erb.build());