blob: ff8e532ed8617e89dc5eda3c1cd44af154a9fea9 [file] [log] [blame]
mohamed rahil8ea09d42016-04-19 20:47:21 +05301/*
Brian O'Connora09fe5b2017-08-03 21:12:30 -07002 * Copyright 2016-present Open Networking Foundation
mohamed rahil8ea09d42016-04-19 20:47:21 +05303 *
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.isis.controller.topology;
17
sunish vk7bdf4d42016-06-24 12:29:43 +053018import org.onlab.packet.Ip4Address;
mohamed rahil8ea09d42016-04-19 20:47:21 +053019
20/**
21 * Abstraction of an ISIS Link.
22 */
23public interface IsisLink {
24
25 /**
sunish vk7bdf4d42016-06-24 12:29:43 +053026 * Returns the remote system ID.
mohamed rahil8ea09d42016-04-19 20:47:21 +053027 *
sunish vk7bdf4d42016-06-24 12:29:43 +053028 * @return remote system ID
mohamed rahil8ea09d42016-04-19 20:47:21 +053029 */
sunish vk7bdf4d42016-06-24 12:29:43 +053030 String remoteSystemId();
mohamed rahil8ea09d42016-04-19 20:47:21 +053031
32 /**
sunish vk7bdf4d42016-06-24 12:29:43 +053033 * Returns the local system ID.
mohamed rahil8ea09d42016-04-19 20:47:21 +053034 *
sunish vk7bdf4d42016-06-24 12:29:43 +053035 * @return local system ID
mohamed rahil8ea09d42016-04-19 20:47:21 +053036 */
sunish vk7bdf4d42016-06-24 12:29:43 +053037 String localSystemId();
mohamed rahil8ea09d42016-04-19 20:47:21 +053038
39 /**
40 * Returns IP address of the interface.
41 *
42 * @return IP address of the interface
43 */
sunish vk7bdf4d42016-06-24 12:29:43 +053044 Ip4Address interfaceIp();
mohamed rahil8ea09d42016-04-19 20:47:21 +053045
46 /**
sunish vk7bdf4d42016-06-24 12:29:43 +053047 * Returns IP address of the neighbor.
mohamed rahil8ea09d42016-04-19 20:47:21 +053048 *
sunish vk7bdf4d42016-06-24 12:29:43 +053049 * @return IP address of the neighbor
mohamed rahil8ea09d42016-04-19 20:47:21 +053050 */
sunish vk7bdf4d42016-06-24 12:29:43 +053051 Ip4Address neighborIp();
mohamed rahil8ea09d42016-04-19 20:47:21 +053052
53 /**
sunish vk7bdf4d42016-06-24 12:29:43 +053054 * Returns the link TED details.
mohamed rahil8ea09d42016-04-19 20:47:21 +053055 *
sunish vk7bdf4d42016-06-24 12:29:43 +053056 * @return linkTed link TED
mohamed rahil8ea09d42016-04-19 20:47:21 +053057 */
sunish vk7bdf4d42016-06-24 12:29:43 +053058 IsisLinkTed linkTed();
mohamed rahil8ea09d42016-04-19 20:47:21 +053059
60 /**
sunish vk7bdf4d42016-06-24 12:29:43 +053061 * Sets remote system ID.
mohamed rahil8ea09d42016-04-19 20:47:21 +053062 *
sunish vk7bdf4d42016-06-24 12:29:43 +053063 * @param remoteSystemId remote system ID
mohamed rahil8ea09d42016-04-19 20:47:21 +053064 */
sunish vk7bdf4d42016-06-24 12:29:43 +053065 void setRemoteSystemId(String remoteSystemId);
66
67 /**
68 * Sets local system ID.
69 *
70 * @param localSystemId remote system ID
71 */
72 void setLocalSystemId(String localSystemId);
mohamed rahil8ea09d42016-04-19 20:47:21 +053073
74 /**
75 * Sets IP address of the interface.
76 *
77 * @param interfaceIp IP address of the interface
78 */
sunish vk7bdf4d42016-06-24 12:29:43 +053079 void setInterfaceIp(Ip4Address interfaceIp);
mohamed rahil8ea09d42016-04-19 20:47:21 +053080
81 /**
sunish vk7bdf4d42016-06-24 12:29:43 +053082 * Sets IP address of the neighbor.
mohamed rahil8ea09d42016-04-19 20:47:21 +053083 *
sunish vk7bdf4d42016-06-24 12:29:43 +053084 * @param neighborIp IP address of the neighbor
mohamed rahil8ea09d42016-04-19 20:47:21 +053085 */
sunish vk7bdf4d42016-06-24 12:29:43 +053086 void setNeighborIp(Ip4Address neighborIp);
87
88 /**
89 * Sets the link TED information.
90 *
91 * @param linkTed link TED
92 */
93 void setLinkTed(IsisLinkTed linkTed);
mohamed rahil8ea09d42016-04-19 20:47:21 +053094}