blob: 65750e29549a4320ca9ef7f6d57817dfaee12e2c [file] [log] [blame]
HIGUCHI Yuta20514902013-06-12 11:24:16 -07001package net.onrc.onos.ofcontroller.core;
Pankaj Berde1b8a42f2013-02-15 08:25:03 -08002
3import org.codehaus.jackson.annotate.JsonIgnore;
4import org.codehaus.jackson.annotate.JsonProperty;
Jonathan Hart01f2d272013-04-04 20:03:46 -07005import org.codehaus.jackson.map.annotate.JsonSerialize;
Pankaj Berde1b8a42f2013-02-15 08:25:03 -08006
7import com.tinkerpop.blueprints.Direction;
8import com.tinkerpop.frames.Adjacency;
Pankaj Berde1b8a42f2013-02-15 08:25:03 -08009import com.tinkerpop.frames.Property;
10import com.tinkerpop.frames.annotations.gremlin.GremlinGroovy;
Pankaj Berdef2f2f032013-06-10 21:08:14 -070011import com.tinkerpop.frames.annotations.gremlin.GremlinParam;
Pankaj Berde1b8a42f2013-02-15 08:25:03 -080012import com.tinkerpop.frames.VertexFrame;
13
Pavlin Radoslavove9b61a92013-12-11 17:23:32 -080014import net.onrc.onos.ofcontroller.flowmanager.web.DatapathSummarySerializer;
15import net.floodlightcontroller.core.web.serializers.IPv4Serializer;
16
Teru68076a42013-06-27 14:57:49 -070017/*
18 * This is the interfaces to make the objects for Cassandra DB.
19 * They are interfaces, but it is also implementation,
20 * so this handles various control to the objects.
21 * Please take a look at tinkerpop/frames annotation doc to understand more.
22 */
Pankaj Berde1b8a42f2013-02-15 08:25:03 -080023public interface INetMapTopologyObjects {
24
Jonathan Hartc8ae36c2013-11-03 19:06:40 -080025 public interface IBaseObject extends VertexFrame {
26
27 @JsonProperty("state")
28 @Property("state")
29 public String getState();
30
31 @Property("state")
32 public void setState(final String state);
33
34 @JsonIgnore
35 @Property("type")
36 public String getType();
37 @Property("type")
38 public void setType(final String type);
39
40 }
Pankaj Berde1b8a42f2013-02-15 08:25:03 -080041
Jonathan Hartc8ae36c2013-11-03 19:06:40 -080042 public interface ISwitchObject extends IBaseObject{
Pankaj Berde1b8a42f2013-02-15 08:25:03 -080043
44 @JsonProperty("dpid")
45 @Property("dpid")
46 public String getDPID();
47
48 @Property("dpid")
49 public void setDPID(String dpid);
50
51 @JsonProperty("ports")
52 @Adjacency(label="on")
53 public Iterable<IPortObject> getPorts();
Pankaj Berde62016142013-04-09 15:35:50 -070054
Jonathan Hartc8ae36c2013-11-03 19:06:40 -080055 // Requires Frames 2.3.0
Pankaj Berdef2f2f032013-06-10 21:08:14 -070056 @JsonIgnore
Toshio Koide46dec822013-06-17 14:21:16 -070057 @GremlinGroovy("it.out('on').has('number',port_num)")
Pankaj Berdef2f2f032013-06-10 21:08:14 -070058 public IPortObject getPort(@GremlinParam("port_num") final short port_num);
Pankaj Berdeda809572013-02-22 15:31:20 -080059
60 @Adjacency(label="on")
Pankaj Berde1b8a42f2013-02-15 08:25:03 -080061 public void addPort(final IPortObject port);
62
63 @Adjacency(label="on")
64 public void removePort(final IPortObject port);
65
66 @JsonIgnore
Toshio Koide46dec822013-06-17 14:21:16 -070067 @GremlinGroovy("it.out('on').out('host')")
Pankaj Berde1b8a42f2013-02-15 08:25:03 -080068 public Iterable<IDeviceObject> getDevices();
Pankaj Berded0079742013-03-27 17:53:25 -070069
70 @JsonIgnore
Teru68076a42013-06-27 14:57:49 -070071 @Adjacency(label="switch",direction = Direction.IN)
Pankaj Berded0079742013-03-27 17:53:25 -070072 public Iterable<IFlowEntry> getFlowEntries();
Pankaj Berdef2f2f032013-06-10 21:08:14 -070073
Pankaj Berde1b8a42f2013-02-15 08:25:03 -080074 }
75
76 public interface IPortObject extends IBaseObject{
77
78 @JsonProperty("number")
79 @Property("number")
80 public Short getNumber();
81
Pankaj Berdebbd38612013-06-22 05:59:12 -070082 @JsonIgnore
83 @Property("port_id")
84 public void setPortId(String id);
85
86 @JsonIgnore
87 @Property("port_id")
88 public String getPortId();
89
Pankaj Berde15193092013-03-21 17:30:14 -070090 @Property("number")
91 public void setNumber(Short n);
92
Pankaj Berde1b8a42f2013-02-15 08:25:03 -080093 @JsonProperty("desc")
94 @Property("desc")
95 public String getDesc();
96
Pankaj Berde15193092013-03-21 17:30:14 -070097 @Property("desc")
98 public void setDesc(String s);
99
100 @JsonIgnore
Pankaj Berdef1404a72013-04-03 11:50:07 -0700101 @Property("port_state")
Pankaj Berde15193092013-03-21 17:30:14 -0700102 public Integer getPortState();
103
104 @Property("port_state")
105 public void setPortState(Integer s);
106
Pankaj Berde1b8a42f2013-02-15 08:25:03 -0800107 @JsonIgnore
Teru87cd2da2013-06-15 20:33:08 -0700108 @Adjacency(label="on",direction = Direction.IN)
Teru80f75132013-06-16 05:16:32 -0700109 public ISwitchObject getSwitch();
Pankaj Berdea6b80c32013-03-29 09:02:56 -0700110
Pankaj Berdeac1a8c32013-02-26 17:45:57 -0800111 @JsonProperty("devices")
Pankaj Berde1b8a42f2013-02-15 08:25:03 -0800112 @Adjacency(label="host")
113 public Iterable<IDeviceObject> getDevices();
114
115 @Adjacency(label="host")
116 public void setDevice(final IDeviceObject device);
117
118 @Adjacency(label="host")
119 public void removeDevice(final IDeviceObject device);
120
Jonathan Hart5b3ad192013-12-06 17:34:46 -0800121
Pankaj Berded0079742013-03-27 17:53:25 -0700122 @JsonIgnore
Teru68076a42013-06-27 14:57:49 -0700123 @Adjacency(label="inport",direction = Direction.IN)
Pankaj Berded0079742013-03-27 17:53:25 -0700124 public Iterable<IFlowEntry> getInFlowEntries();
125
126 @JsonIgnore
Teru68076a42013-06-27 14:57:49 -0700127 @Adjacency(label="outport",direction = Direction.IN)
Pankaj Berded0079742013-03-27 17:53:25 -0700128 public Iterable<IFlowEntry> getOutFlowEntries();
Jonathan Hart5b3ad192013-12-06 17:34:46 -0800129
Pankaj Berded0079742013-03-27 17:53:25 -0700130
Pankaj Berde5fb27632013-04-05 08:56:12 -0700131 @JsonIgnore
132 @Adjacency(label="link")
133 public Iterable<IPortObject> getLinkedPorts();
Pavlin Radoslavovc934b4a2013-11-02 14:53:52 -0700134
135 @JsonIgnore
136 @Adjacency(label="link",direction = Direction.IN)
137 public Iterable<IPortObject> getReverseLinkedPorts();
Pankaj Berde5fb27632013-04-05 08:56:12 -0700138
Pankaj Berdea6b80c32013-03-29 09:02:56 -0700139 @Adjacency(label="link")
140 public void removeLink(final IPortObject dest_port);
141
Pankaj Berde5fb27632013-04-05 08:56:12 -0700142 @Adjacency(label="link")
143 public void setLinkPort(final IPortObject dest_port);
144
Jonathan Hartc8ae36c2013-11-03 19:06:40 -0800145 // @JsonIgnore
146 // @Adjacency(label="link")
147 // public Iterable<ILinkObject> getLinks();
Pankaj Berde1b8a42f2013-02-15 08:25:03 -0800148 }
149
150 public interface IDeviceObject extends IBaseObject {
151
152 @JsonProperty("mac")
153 @Property("dl_addr")
154 public String getMACAddress();
Jonathan Hartc8ae36c2013-11-03 19:06:40 -0800155
Pankaj Berde1b8a42f2013-02-15 08:25:03 -0800156 @Property("dl_addr")
Pankaj Berde2497e542013-02-19 18:51:24 -0800157 public void setMACAddress(String macaddr);
Pankaj Berde1b8a42f2013-02-15 08:25:03 -0800158
Pankaj Berde1b8a42f2013-02-15 08:25:03 -0800159 @JsonIgnore
Teru87cd2da2013-06-15 20:33:08 -0700160 @Adjacency(label="host",direction = Direction.IN)
Pankaj Berde2497e542013-02-19 18:51:24 -0800161 public Iterable<IPortObject> getAttachedPorts();
162
163 @JsonIgnore
Teru68076a42013-06-27 14:57:49 -0700164 @Adjacency(label="host",direction=Direction.IN)
Pankaj Berde2497e542013-02-19 18:51:24 -0800165 public void setHostPort(final IPortObject port);
166
167 @JsonIgnore
Teru68076a42013-06-27 14:57:49 -0700168 @Adjacency(label="host",direction=Direction.IN)
Pankaj Berde2497e542013-02-19 18:51:24 -0800169 public void removeHostPort(final IPortObject port);
Pankaj Berde1b8a42f2013-02-15 08:25:03 -0800170
171 @JsonIgnore
Toshio Koide13260102013-06-17 13:44:27 -0700172 @GremlinGroovy("it.in('host').in('on')")
Pankaj Berde2497e542013-02-19 18:51:24 -0800173 public Iterable<ISwitchObject> getSwitch();
174
Jonathan Hartd6ed62b2013-11-01 13:18:25 -0700175 //
176 // IPv4 Addresses
177 //
178 @JsonProperty("ipv4addresses")
179 @Adjacency(label="hasAddress")
180 public Iterable<IIpv4Address> getIpv4Addresses();
181
182 @JsonIgnore
Jonathan Hartc8ae36c2013-11-03 19:06:40 -0800183 @GremlinGroovy("it.out('hasAddress').has('ipv4_address', ipv4Address)")
Jonathan Hartd6ed62b2013-11-01 13:18:25 -0700184 public IIpv4Address getIpv4Address(@GremlinParam("ipv4Address") final int ipv4Address);
185
186 @Adjacency(label="hasAddress")
187 public void addIpv4Address(final IIpv4Address ipv4Address);
188
189 @Adjacency(label="hasAddress")
190 public void removeIpv4Address(final IIpv4Address ipv4Address);
191
Pankaj Berdeac1a8c32013-02-26 17:45:57 -0800192/* @JsonProperty("dpid")
193 @GremlinGroovy("_().in('host').in('on').next().getProperty('dpid')")
194 public Iterable<String> getSwitchDPID();
195
196 @JsonProperty("number")
197 @GremlinGroovy("_().in('host').transform{it.number}")
198 public Iterable<Short> getPortNumber();
199
Pankaj Berde2497e542013-02-19 18:51:24 -0800200 @JsonProperty("AttachmentPoint")
201 @GremlinGroovy("_().in('host').in('on').path(){it.number}{it.dpid}")
Pankaj Berdeac1a8c32013-02-26 17:45:57 -0800202 public Iterable<SwitchPort> getAttachmentPoints();*/
Pankaj Berde1b8a42f2013-02-15 08:25:03 -0800203 }
Jonathan Hartd6ed62b2013-11-01 13:18:25 -0700204
205 public interface IIpv4Address extends IBaseObject {
206
207 @JsonProperty("ipv4")
208 @Property("ipv4_address")
Pavlin Radoslavove9b61a92013-12-11 17:23:32 -0800209 @JsonSerialize(using=IPv4Serializer.class)
Jonathan Hartd6ed62b2013-11-01 13:18:25 -0700210 public int getIpv4Address();
211
212 @Property("ipv4_address")
213 public void setIpv4Address(int ipv4Address);
214
215 @JsonIgnore
pingping-lin568c6012013-12-14 05:57:11 +0800216 //@GremlinGroovy("it.in('hasAddress')")
217 @Adjacency(label = "hasAddress", direction = Direction.IN)
Jonathan Hartd6ed62b2013-11-01 13:18:25 -0700218 public IDeviceObject getDevice();
219 }
220
Jonathan Hartc8ae36c2013-11-03 19:06:40 -0800221 public interface IFlowPath extends IBaseObject {
Jonathan Hart01f2d272013-04-04 20:03:46 -0700222 @JsonProperty("flowId")
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800223 @Property("flow_id")
224 public String getFlowId();
225
226 @Property("flow_id")
227 public void setFlowId(String flowId);
228
Jonathan Hart01f2d272013-04-04 20:03:46 -0700229 @JsonProperty("installerId")
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800230 @Property("installer_id")
231 public String getInstallerId();
232
233 @Property("installer_id")
234 public void setInstallerId(String installerId);
235
Pavlin Radoslavovd28cf7c2013-10-26 11:27:43 -0700236 @JsonProperty("flowPathType")
237 @Property("flow_path_type")
238 public String getFlowPathType();
239
240 @Property("flow_path_type")
241 public void setFlowPathType(String flowPathType);
242
Pavlin Radoslavov7d4a40e2013-10-27 23:39:40 -0700243 @JsonProperty("flowPathUserState")
244 @Property("user_state")
245 public String getFlowPathUserState();
246
247 @Property("user_state")
248 public void setFlowPathUserState(String userState);
249
Pavlin Radoslavov204b2862013-07-12 14:15:36 -0700250 @JsonProperty("flowPathFlags")
251 @Property("flow_path_flags")
252 public Long getFlowPathFlags();
253
254 @Property("flow_path_flags")
255 public void setFlowPathFlags(Long flowPathFlags);
256
Pavlin Radoslavov5139c0b2013-12-09 18:04:53 -0800257 @JsonProperty("idleTimeout")
258 @Property("idle_timeout")
259 public Integer getIdleTimeout();
260
261 @Property("idle_timeout")
262 public void setIdleTimeout(Integer idleTimeout);
263
264 @JsonProperty("hardTimeout")
265 @Property("hard_timeout")
266 public Integer getHardTimeout();
267
268 @Property("hard_timeout")
269 public void setHardTimeout(Integer hardTimeout);
270
Jonathan Hart01f2d272013-04-04 20:03:46 -0700271 @JsonProperty("srcDpid")
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800272 @Property("src_switch")
273 public String getSrcSwitch();
274
275 @Property("src_switch")
276 public void setSrcSwitch(String srcSwitch);
277
Jonathan Hart01f2d272013-04-04 20:03:46 -0700278 @JsonProperty("srcPort")
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800279 @Property("src_port")
280 public Short getSrcPort();
281
282 @Property("src_port")
283 public void setSrcPort(Short srcPort);
284
Jonathan Hart01f2d272013-04-04 20:03:46 -0700285 @JsonProperty("dstDpid")
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800286 @Property("dst_switch")
287 public String getDstSwitch();
288
289 @Property("dst_switch")
290 public void setDstSwitch(String dstSwitch);
291
Jonathan Hart01f2d272013-04-04 20:03:46 -0700292 @JsonProperty("dstPort")
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800293 @Property("dst_port")
294 public Short getDstPort();
295
296 @Property("dst_port")
297 public void setDstPort(Short dstPort);
298
Jonathan Hart01f2d272013-04-04 20:03:46 -0700299 @JsonProperty("dataPath")
300 @JsonSerialize(using=DatapathSummarySerializer.class)
Pavlin Radoslavovdbaaf2e2013-03-29 04:25:55 -0700301 @Property("data_path_summary")
302 public String getDataPathSummary();
303
304 @Property("data_path_summary")
305 public void setDataPathSummary(String dataPathSummary);
306
Jonathan Hart01f2d272013-04-04 20:03:46 -0700307 @JsonIgnore
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800308 @Adjacency(label="flow", direction=Direction.IN)
309 public Iterable<IFlowEntry> getFlowEntries();
310
311 @Adjacency(label="flow", direction=Direction.IN)
312 public void addFlowEntry(final IFlowEntry flowEntry);
313
314 @Adjacency(label="flow", direction=Direction.IN)
315 public void removeFlowEntry(final IFlowEntry flowEntry);
Pavlin Radoslavov67b3ef32013-04-03 02:44:48 -0700316
Pavlin Radoslavov1bc2c472013-07-17 18:11:37 -0700317 //
318 // Matching fields
319 //
Jonathan Hart01f2d272013-04-04 20:03:46 -0700320 @JsonIgnore
Pavlin Radoslavov67b3ef32013-04-03 02:44:48 -0700321 @Property("matchSrcMac")
322 public String getMatchSrcMac();
323
324 @Property("matchSrcMac")
325 public void setMatchSrcMac(String matchSrcMac);
326
Jonathan Hart01f2d272013-04-04 20:03:46 -0700327 @JsonIgnore
Pavlin Radoslavov67b3ef32013-04-03 02:44:48 -0700328 @Property("matchDstMac")
329 public String getMatchDstMac();
330
331 @Property("matchDstMac")
332 public void setMatchDstMac(String matchDstMac);
333
Jonathan Hart01f2d272013-04-04 20:03:46 -0700334 @JsonIgnore
Pavlin Radoslavovad3a1e62013-07-09 13:30:16 -0700335 @Property("matchEthernetFrameType")
336 public Short getMatchEthernetFrameType();
337
338 @Property("matchEthernetFrameType")
339 public void setMatchEthernetFrameType(Short matchEthernetFrameType);
340
341 @JsonIgnore
342 @Property("matchVlanId")
343 public Short getMatchVlanId();
344
345 @Property("matchVlanId")
346 public void setMatchVlanId(Short matchVlanId);
347
348 @JsonIgnore
349 @Property("matchVlanPriority")
350 public Byte getMatchVlanPriority();
351
352 @Property("matchVlanPriority")
353 public void setMatchVlanPriority(Byte matchVlanPriority);
354
355 @JsonIgnore
Pavlin Radoslavov67b3ef32013-04-03 02:44:48 -0700356 @Property("matchSrcIPv4Net")
357 public String getMatchSrcIPv4Net();
358
359 @Property("matchSrcIPv4Net")
360 public void setMatchSrcIPv4Net(String matchSrcIPv4Net);
361
Jonathan Hart01f2d272013-04-04 20:03:46 -0700362 @JsonIgnore
Pavlin Radoslavov67b3ef32013-04-03 02:44:48 -0700363 @Property("matchDstIPv4Net")
364 public String getMatchDstIPv4Net();
365
366 @Property("matchDstIPv4Net")
367 public void setMatchDstIPv4Net(String matchDstIPv4Net);
Pavlin Radoslavovad3a1e62013-07-09 13:30:16 -0700368
369 @JsonIgnore
370 @Property("matchIpProto")
371 public Byte getMatchIpProto();
372
373 @Property("matchIpProto")
374 public void setMatchIpProto(Byte matchIpProto);
375
376 @JsonIgnore
377 @Property("matchIpToS")
378 public Byte getMatchIpToS();
379
380 @Property("matchIpToS")
381 public void setMatchIpToS(Byte matchIpToS);
382
383 @JsonIgnore
384 @Property("matchSrcTcpUdpPort")
385 public Short getMatchSrcTcpUdpPort();
386
387 @Property("matchSrcTcpUdpPort")
388 public void setMatchSrcTcpUdpPort(Short matchSrcTcpUdpPort);
389
390 @JsonIgnore
391 @Property("matchDstTcpUdpPort")
392 public Short getMatchDstTcpUdpPort();
393
394 @Property("matchDstTcpUdpPort")
395 public void setMatchDstTcpUdpPort(Short matchDstTcpUdpPort);
396
Pavlin Radoslavov1bc2c472013-07-17 18:11:37 -0700397 //
398 // Action-related fields
399 //
400 @Property("actions")
401 public String getActions();
402
403 @Property("actions")
404 public void setActions(String actionsStr);
405
406 //
407 // Other fields
408 //
Pankaj Berded0079742013-03-27 17:53:25 -0700409 @JsonIgnore
Toshio Koide13260102013-06-17 13:44:27 -0700410 @GremlinGroovy("it.in('flow').out('switch')")
Pankaj Berdef1404a72013-04-03 11:50:07 -0700411 public Iterable<ISwitchObject> getSwitches();
Jonathan Hart01f2d272013-04-04 20:03:46 -0700412
413 @JsonIgnore
414 @Property("state")
415 public String getState();
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800416 }
417
Jonathan Hartc8ae36c2013-11-03 19:06:40 -0800418 public interface IFlowEntry extends IBaseObject {
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800419 @Property("flow_entry_id")
420 public String getFlowEntryId();
421
422 @Property("flow_entry_id")
423 public void setFlowEntryId(String flowEntryId);
424
Pavlin Radoslavov5139c0b2013-12-09 18:04:53 -0800425 @JsonProperty("idleTimeout")
426 @Property("idle_timeout")
427 public Integer getIdleTimeout();
428
429 @Property("idle_timeout")
430 public void setIdleTimeout(Integer idleTimeout);
431
432 @JsonProperty("hardTimeout")
433 @Property("hard_timeout")
434 public Integer getHardTimeout();
435
436 @Property("hard_timeout")
437 public void setHardTimeout(Integer hardTimeout);
438
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800439 @Property("switch_dpid")
440 public String getSwitchDpid();
441
442 @Property("switch_dpid")
443 public void setSwitchDpid(String switchDpid);
444
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800445 @Property("user_state")
446 public String getUserState();
447
448 @Property("user_state")
449 public void setUserState(String userState);
450
451 @Property("switch_state")
452 public String getSwitchState();
453
454 @Property("switch_state")
455 public void setSwitchState(String switchState);
456
457 @Property("error_state_type")
458 public String getErrorStateType();
459
460 @Property("error_state_type")
461 public void setErrorStateType(String errorStateType);
462
463 @Property("error_state_code")
464 public String getErrorStateCode();
465
466 @Property("error_state_code")
467 public void setErrorStateCode(String errorStateCode);
Pavlin Radoslavove2f0de82013-03-12 01:39:30 -0700468
Pavlin Radoslavov1bc2c472013-07-17 18:11:37 -0700469 //
470 // Matching fields
471 //
Pavlin Radoslavove2f0de82013-03-12 01:39:30 -0700472 @Property("matchInPort")
473 public Short getMatchInPort();
474
475 @Property("matchInPort")
476 public void setMatchInPort(Short matchInPort);
477
Pavlin Radoslavove2f0de82013-03-12 01:39:30 -0700478 @Property("matchSrcMac")
479 public String getMatchSrcMac();
480
481 @Property("matchSrcMac")
482 public void setMatchSrcMac(String matchSrcMac);
483
484 @Property("matchDstMac")
485 public String getMatchDstMac();
486
487 @Property("matchDstMac")
488 public void setMatchDstMac(String matchDstMac);
489
Pavlin Radoslavovad3a1e62013-07-09 13:30:16 -0700490 @Property("matchEthernetFrameType")
491 public Short getMatchEthernetFrameType();
492
493 @Property("matchEthernetFrameType")
494 public void setMatchEthernetFrameType(Short matchEthernetFrameType);
495
496 @Property("matchVlanId")
497 public Short getMatchVlanId();
498
499 @Property("matchVlanId")
500 public void setMatchVlanId(Short matchVlanId);
501
502 @Property("matchVlanPriority")
503 public Byte getMatchVlanPriority();
504
505 @Property("matchVlanPriority")
506 public void setMatchVlanPriority(Byte matchVlanPriority);
507
Pavlin Radoslavove2f0de82013-03-12 01:39:30 -0700508 @Property("matchSrcIPv4Net")
509 public String getMatchSrcIPv4Net();
510
511 @Property("matchSrcIPv4Net")
512 public void setMatchSrcIPv4Net(String matchSrcIPv4Net);
513
514 @Property("matchDstIPv4Net")
515 public String getMatchDstIPv4Net();
516
517 @Property("matchDstIPv4Net")
518 public void setMatchDstIPv4Net(String matchDstIPv4Net);
519
Pavlin Radoslavovad3a1e62013-07-09 13:30:16 -0700520 @Property("matchIpProto")
521 public Byte getMatchIpProto();
522
523 @Property("matchIpProto")
524 public void setMatchIpProto(Byte matchIpProto);
525
526 @Property("matchIpToS")
527 public Byte getMatchIpToS();
528
529 @Property("matchIpToS")
530 public void setMatchIpToS(Byte matchIpToS);
531
532 @Property("matchSrcTcpUdpPort")
533 public Short getMatchSrcTcpUdpPort();
534
535 @Property("matchSrcTcpUdpPort")
536 public void setMatchSrcTcpUdpPort(Short matchSrcTcpUdpPort);
537
538 @Property("matchDstTcpUdpPort")
539 public Short getMatchDstTcpUdpPort();
540
541 @Property("matchDstTcpUdpPort")
542 public void setMatchDstTcpUdpPort(Short matchDstTcpUdpPort);
543
Pavlin Radoslavov1bc2c472013-07-17 18:11:37 -0700544 //
545 // Action-related fields
546 //
Pavlin Radoslavovc1bafd12013-07-12 17:00:35 -0700547 @Property("actionOutputPort")
548 public Short getActionOutputPort();
Pavlin Radoslavove2f0de82013-03-12 01:39:30 -0700549
Pavlin Radoslavovc1bafd12013-07-12 17:00:35 -0700550 @Property("actionOutputPort")
551 public void setActionOutputPort(Short actionOutputPort);
Pavlin Radoslavov1d4a1072013-03-28 05:29:49 -0700552
Pavlin Radoslavov1bc2c472013-07-17 18:11:37 -0700553 @Property("actions")
554 public String getActions();
555
556 @Property("actions")
557 public void setActions(String actionsStr);
558
559 //
560 // Other fields
561 //
Pavlin Radoslavov1d4a1072013-03-28 05:29:49 -0700562 @Adjacency(label="flow")
563 public IFlowPath getFlow();
564
565 @Adjacency(label="flow")
566 public void setFlow(IFlowPath flow);
567
Pankaj Berded0079742013-03-27 17:53:25 -0700568 @Adjacency(label="switch")
569 public ISwitchObject getSwitch();
Pavlin Radoslavov1d4a1072013-03-28 05:29:49 -0700570
Pankaj Berded0079742013-03-27 17:53:25 -0700571 @Adjacency(label="switch")
572 public void setSwitch(ISwitchObject sw);
Pavlin Radoslavov1d4a1072013-03-28 05:29:49 -0700573
Pankaj Berded0079742013-03-27 17:53:25 -0700574 @Adjacency(label="inport")
575 public IPortObject getInPort();
Pavlin Radoslavov1d4a1072013-03-28 05:29:49 -0700576
Pankaj Berded0079742013-03-27 17:53:25 -0700577 @Adjacency(label="inport")
578 public void setInPort(IPortObject port);
Pavlin Radoslavov1d4a1072013-03-28 05:29:49 -0700579
Pankaj Berded0079742013-03-27 17:53:25 -0700580 @Adjacency(label="outport")
581 public IPortObject getOutPort();
Pavlin Radoslavov1d4a1072013-03-28 05:29:49 -0700582
Pavlin Radoslavov4fead9c2013-03-28 03:09:27 -0700583 @Adjacency(label="outport")
Pankaj Berded0079742013-03-27 17:53:25 -0700584 public void setOutPort(IPortObject port);
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800585 }
Pankaj Berde1b8a42f2013-02-15 08:25:03 -0800586}