blob: 40b2f3f5d7d0c4489b95376c4dcccef8a844aea9 [file] [log] [blame]
Hyunsun Moonb3eb84d2016-07-27 19:10:52 -07001/*
2 * Copyright 2016-present Open Networking Laboratory
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package org.onosproject.openstacknetworking;
17
jskimaa851932016-10-27 17:45:30 +090018import org.onosproject.net.Host;
19
Hyunsun Moonb3eb84d2016-07-27 19:10:52 -070020import org.onosproject.openstackinterface.OpenstackFloatingIP;
21
22/**
23 * Handles floating IP update requests from OpenStack.
24 */
25public interface OpenstackFloatingIpService {
26
27 enum Action {
28 ASSOCIATE,
29 DISSASSOCIATE
30 }
31
32 /**
33 * Handles floating IP create request from OpenStack.
34 *
35 * @param floatingIp floating IP information
36 */
37 void createFloatingIp(OpenstackFloatingIP floatingIp);
38
39 /**
40 * Handles floating IP update request from OpenStack.
41 *
42 * @param floatingIp floating IP information
43 */
44 void updateFloatingIp(OpenstackFloatingIP floatingIp);
45
46 /**
47 * Handles floating IP remove request from OpenStack.
48 *
49 * @param floatingIpId floating ip identifier
50 */
51 void deleteFloatingIp(String floatingIpId);
jskimaa851932016-10-27 17:45:30 +090052
53 /**
54 * Handles to purge data plane flow of existing VM.
55 *
56 * @param host VM Host information
57 */
58 void purgeVmFlow(Host host);
59
60 /**
61 * Handles to reinstall data plane flow of existing VM.
62 *
63 * @param host VM Host information
64 */
65 void reinstallVmFlow(Host host);
Hyunsun Moonb3eb84d2016-07-27 19:10:52 -070066}