blob: fc1db54eb5e6f34116a2645bb0b3f40c0569196b [file] [log] [blame]
sunish vk30637eb2016-02-16 15:19:32 +05301/*
2 * Copyright 2016 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.ospf.controller;
17
18import org.onlab.packet.Ip4Address;
19
20/**
21 * Representation of an OSPF link information.
22 */
23public interface LinkInformation {
24
25 /**
26 * Gets link id.
27 *
28 * @return link id
29 */
30 String linkId();
31
32 /**
33 * Sets link id.
34 *
35 * @param linkId link id
36 */
37 void setLinkId(String linkId);
38
39 /**
40 * Gets link information is already created or not.
41 *
42 * @return true if link information is already created else false
43 */
44 boolean isAlreadyCreated();
45
46 /**
47 * Sets link information is already created or not.
48 *
49 * @param alreadyCreated true if link information is already created else false
50 */
51 void setAlreadyCreated(boolean alreadyCreated);
52
53 /**
54 * Gets is link source id is same as router id or not.
55 *
56 * @return true if link source id is not same as router id else false
57 */
58 boolean isLinkSrcIdNotRouterId();
59
60 /**
61 * Sets is link source id is same as router id or not.
62 *
63 * @param linkSrcIdNotRouterId true if link source id is not same as router id else false
64 */
65 void setLinkSrcIdNotRouterId(boolean linkSrcIdNotRouterId);
66
67 /**
68 * Gets link destination id.
69 *
70 * @return link destination id
71 */
72 Ip4Address linkDestinationId();
73
74 /**
75 * Sets link destination id.
76 *
77 * @param linkDestinationId link destination id
78 */
79 void setLinkDestinationId(Ip4Address linkDestinationId);
80
81 /**
82 * Gets link source id.
83 *
84 * @return link source id
85 */
86 Ip4Address linkSourceId();
87
88 /**
89 * Sets link source id.
90 *
91 * @param linkSourceId link source id
92 */
93 void setLinkSourceId(Ip4Address linkSourceId);
94
95 /**
96 * Gets interface ip address.
97 *
98 * @return interface ip address
99 */
100 Ip4Address interfaceIp();
101
102 /**
103 * Sets interface ip address.
104 *
105 * @param interfaceIp interface ip address
106 */
107 void setInterfaceIp(Ip4Address interfaceIp);
108
109 /**
110 * Gets link source ip address.
111 *
112 * @return link source ip address
113 */
114 Ip4Address linkSourceIpAddress();
115
116 /**
117 * Sets link source ip address.
118 *
119 * @param linkSourceIpAddress link source ip address
120 */
121 void setLinkSourceIpAddress(Ip4Address linkSourceIpAddress);
122
123 /**
124 * Gets link destination ip address.
125 *
126 * @return link destination ip address
127 */
128 Ip4Address linkDestinationIpAddress();
129
130 /**
131 * Sets link destination ip address.
132 *
133 * @param linkDestinationIpAddress link destination ip address
134 */
135 void setLinkDestinationIpAddress(Ip4Address linkDestinationIpAddress);
136}