blob: c276c96433522f09bb12bdd5af3de4d3e40f6bce [file] [log] [blame]
Jonathan Hart0bdf8372015-10-08 14:30:36 -07001/*
Brian O'Connora09fe5b2017-08-03 21:12:30 -07002 * Copyright 2015-present Open Networking Foundation
Jonathan Hart0bdf8372015-10-08 14:30:36 -07003 *
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 */
16
Ray Milkeyfacf2862017-08-03 11:58:29 -070017package org.onosproject.net.intf;
Jonathan Hart0bdf8372015-10-08 14:30:36 -070018
Jonathan Hart0bdf8372015-10-08 14:30:36 -070019import org.onosproject.net.ConnectPoint;
20
21/**
22 * Provides a means to modify the interfaces configuration.
23 */
24public interface InterfaceAdminService {
Jonathan Hart7dbe6292015-11-10 08:33:17 -080025
Jonathan Hart0bdf8372015-10-08 14:30:36 -070026 /**
27 * Adds a new interface configuration to the system.
28 *
29 * @param intf interface to add
30 */
31 void add(Interface intf);
32
33 /**
34 * Removes an interface configuration from the system.
35 *
36 * @param connectPoint connect point of the interface
Jonathan Hart7dbe6292015-11-10 08:33:17 -080037 * @param name name of the interface
Jian Lidfba7392016-01-22 16:46:58 -080038 * @return the result of removal
Jonathan Hart0bdf8372015-10-08 14:30:36 -070039 */
Jonathan Hart7dbe6292015-11-10 08:33:17 -080040 boolean remove(ConnectPoint connectPoint, String name);
Jonathan Hart0bdf8372015-10-08 14:30:36 -070041}