1 /*
2 * Copyright (c) 2014 Contextream, Inc. and others. All rights reserved.
3 *
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
7 */
8 package org.opendaylight.lispflowmapping.interfaces.lisp;
9
10 import java.util.List;
11
12 import org.apache.commons.lang3.tuple.Pair;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.MapNotify;
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.MapReply;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.MapRequest;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.transport.address.TransportAddress;
18
19 /**
20 * The LISP Mapping Service interface
21 */
22 public interface IFlowMapping {
23 /**
24 * Handle southbound map-request
25 *
26 * @param mapRegister
27 * The map-register message
28 * @return a map-notify message, if requested in the map-register or null otherwise
29 */
30 Pair<MapNotify, List<TransportAddress>> handleMapRegister(MapRegister mapRegister);
31
32 /**
33 * Handle southbound map-request
34 *
35 * @param mr
36 * The map-request messages
37 * @return a map-reply messages
38 */
39 MapReply handleMapRequest(MapRequest mr);
40
41 /**
42 * Configure LISP mapping service to track and notify of changes mapping requesters
43 *
44 * @param smr
45 * Configure state of service
46 */
47 void setShouldUseSmr(boolean smr);
48 }