View Javadoc

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  }