blob: 256a98e5e5d3529e5900b242291d1e2968c180f1 [file] [log] [blame]
HIGUCHI Yuta20514902013-06-12 11:24:16 -07001package net.onrc.onos.ofcontroller.core;
Pankaj Berde1b8a42f2013-02-15 08:25:03 -08002
HIGUCHI Yuta60a10142013-06-14 15:50:10 -07003import net.onrc.onos.ofcontroller.flowmanager.web.DatapathSummarySerializer;
Jonathan Hart01f2d272013-04-04 20:03:46 -07004
Pankaj Berde1b8a42f2013-02-15 08:25:03 -08005import org.codehaus.jackson.annotate.JsonIgnore;
6import org.codehaus.jackson.annotate.JsonProperty;
Jonathan Hart01f2d272013-04-04 20:03:46 -07007import org.codehaus.jackson.map.annotate.JsonSerialize;
Pankaj Berde1b8a42f2013-02-15 08:25:03 -08008
9import com.tinkerpop.blueprints.Direction;
10import com.tinkerpop.frames.Adjacency;
Pankaj Berde1b8a42f2013-02-15 08:25:03 -080011import com.tinkerpop.frames.Property;
12import com.tinkerpop.frames.annotations.gremlin.GremlinGroovy;
Pankaj Berdef2f2f032013-06-10 21:08:14 -070013import com.tinkerpop.frames.annotations.gremlin.GremlinParam;
Pankaj Berde1b8a42f2013-02-15 08:25:03 -080014import com.tinkerpop.frames.VertexFrame;
15
Teru68076a42013-06-27 14:57:49 -070016/*
17 * This is the interfaces to make the objects for Cassandra DB.
18 * They are interfaces, but it is also implementation,
19 * so this handles various control to the objects.
20 * Please take a look at tinkerpop/frames annotation doc to understand more.
21 */
Pankaj Berde1b8a42f2013-02-15 08:25:03 -080022public interface INetMapTopologyObjects {
23
Jonathan Hartc8ae36c2013-11-03 19:06:40 -080024 public interface IBaseObject extends VertexFrame {
25
26 @JsonProperty("state")
27 @Property("state")
28 public String getState();
29
30 @Property("state")
31 public void setState(final String state);
32
33 @JsonIgnore
34 @Property("type")
35 public String getType();
36 @Property("type")
37 public void setType(final String type);
38
39 }
Pankaj Berde1b8a42f2013-02-15 08:25:03 -080040
Jonathan Hartc8ae36c2013-11-03 19:06:40 -080041 public interface ISwitchObject extends IBaseObject{
Pankaj Berde1b8a42f2013-02-15 08:25:03 -080042
43 @JsonProperty("dpid")
44 @Property("dpid")
45 public String getDPID();
46
47 @Property("dpid")
48 public void setDPID(String dpid);
49
50 @JsonProperty("ports")
51 @Adjacency(label="on")
52 public Iterable<IPortObject> getPorts();
Pankaj Berde62016142013-04-09 15:35:50 -070053
Jonathan Hartc8ae36c2013-11-03 19:06:40 -080054 // Requires Frames 2.3.0
Pankaj Berdef2f2f032013-06-10 21:08:14 -070055 @JsonIgnore
Toshio Koide46dec822013-06-17 14:21:16 -070056 @GremlinGroovy("it.out('on').has('number',port_num)")
Pankaj Berdef2f2f032013-06-10 21:08:14 -070057 public IPortObject getPort(@GremlinParam("port_num") final short port_num);
Pankaj Berdeda809572013-02-22 15:31:20 -080058
59 @Adjacency(label="on")
Pankaj Berde1b8a42f2013-02-15 08:25:03 -080060 public void addPort(final IPortObject port);
61
62 @Adjacency(label="on")
63 public void removePort(final IPortObject port);
64
65 @JsonIgnore
Toshio Koide46dec822013-06-17 14:21:16 -070066 @GremlinGroovy("it.out('on').out('host')")
Pankaj Berde1b8a42f2013-02-15 08:25:03 -080067 public Iterable<IDeviceObject> getDevices();
Pankaj Berded0079742013-03-27 17:53:25 -070068
69 @JsonIgnore
Teru68076a42013-06-27 14:57:49 -070070 @Adjacency(label="switch",direction = Direction.IN)
Pankaj Berded0079742013-03-27 17:53:25 -070071 public Iterable<IFlowEntry> getFlowEntries();
Pankaj Berdef2f2f032013-06-10 21:08:14 -070072
Pankaj Berde1b8a42f2013-02-15 08:25:03 -080073 }
74
75 public interface IPortObject extends IBaseObject{
76
77 @JsonProperty("number")
78 @Property("number")
79 public Short getNumber();
80
Pankaj Berdebbd38612013-06-22 05:59:12 -070081 @JsonIgnore
82 @Property("port_id")
83 public void setPortId(String id);
84
85 @JsonIgnore
86 @Property("port_id")
87 public String getPortId();
88
Pankaj Berde15193092013-03-21 17:30:14 -070089 @Property("number")
90 public void setNumber(Short n);
91
Pankaj Berde1b8a42f2013-02-15 08:25:03 -080092 @JsonProperty("desc")
93 @Property("desc")
94 public String getDesc();
95
Pankaj Berde15193092013-03-21 17:30:14 -070096 @Property("desc")
97 public void setDesc(String s);
98
99 @JsonIgnore
Pankaj Berdef1404a72013-04-03 11:50:07 -0700100 @Property("port_state")
Pankaj Berde15193092013-03-21 17:30:14 -0700101 public Integer getPortState();
102
103 @Property("port_state")
104 public void setPortState(Integer s);
105
Pankaj Berde1b8a42f2013-02-15 08:25:03 -0800106 @JsonIgnore
Teru87cd2da2013-06-15 20:33:08 -0700107 @Adjacency(label="on",direction = Direction.IN)
Teru80f75132013-06-16 05:16:32 -0700108 public ISwitchObject getSwitch();
Pankaj Berdea6b80c32013-03-29 09:02:56 -0700109
Pankaj Berdeac1a8c32013-02-26 17:45:57 -0800110 @JsonProperty("devices")
Pankaj Berde1b8a42f2013-02-15 08:25:03 -0800111 @Adjacency(label="host")
112 public Iterable<IDeviceObject> getDevices();
113
114 @Adjacency(label="host")
115 public void setDevice(final IDeviceObject device);
116
117 @Adjacency(label="host")
118 public void removeDevice(final IDeviceObject device);
119
Jonathan Hart5b3ad192013-12-06 17:34:46 -0800120
Pankaj Berded0079742013-03-27 17:53:25 -0700121 @JsonIgnore
Teru68076a42013-06-27 14:57:49 -0700122 @Adjacency(label="inport",direction = Direction.IN)
Pankaj Berded0079742013-03-27 17:53:25 -0700123 public Iterable<IFlowEntry> getInFlowEntries();
124
125 @JsonIgnore
Teru68076a42013-06-27 14:57:49 -0700126 @Adjacency(label="outport",direction = Direction.IN)
Pankaj Berded0079742013-03-27 17:53:25 -0700127 public Iterable<IFlowEntry> getOutFlowEntries();
Jonathan Hart5b3ad192013-12-06 17:34:46 -0800128
Pankaj Berded0079742013-03-27 17:53:25 -0700129
Pankaj Berde5fb27632013-04-05 08:56:12 -0700130 @JsonIgnore
131 @Adjacency(label="link")
132 public Iterable<IPortObject> getLinkedPorts();
Pavlin Radoslavovc934b4a2013-11-02 14:53:52 -0700133
134 @JsonIgnore
135 @Adjacency(label="link",direction = Direction.IN)
136 public Iterable<IPortObject> getReverseLinkedPorts();
Pankaj Berde5fb27632013-04-05 08:56:12 -0700137
Pankaj Berdea6b80c32013-03-29 09:02:56 -0700138 @Adjacency(label="link")
139 public void removeLink(final IPortObject dest_port);
140
Pankaj Berde5fb27632013-04-05 08:56:12 -0700141 @Adjacency(label="link")
142 public void setLinkPort(final IPortObject dest_port);
143
Jonathan Hartc8ae36c2013-11-03 19:06:40 -0800144 // @JsonIgnore
145 // @Adjacency(label="link")
146 // public Iterable<ILinkObject> getLinks();
Pankaj Berde1b8a42f2013-02-15 08:25:03 -0800147 }
148
149 public interface IDeviceObject extends IBaseObject {
150
151 @JsonProperty("mac")
152 @Property("dl_addr")
153 public String getMACAddress();
Jonathan Hartc8ae36c2013-11-03 19:06:40 -0800154
Pankaj Berde1b8a42f2013-02-15 08:25:03 -0800155 @Property("dl_addr")
Pankaj Berde2497e542013-02-19 18:51:24 -0800156 public void setMACAddress(String macaddr);
Pankaj Berde1b8a42f2013-02-15 08:25:03 -0800157
Pankaj Berde1b8a42f2013-02-15 08:25:03 -0800158 @JsonIgnore
Teru87cd2da2013-06-15 20:33:08 -0700159 @Adjacency(label="host",direction = Direction.IN)
Pankaj Berde2497e542013-02-19 18:51:24 -0800160 public Iterable<IPortObject> getAttachedPorts();
161
162 @JsonIgnore
Teru68076a42013-06-27 14:57:49 -0700163 @Adjacency(label="host",direction=Direction.IN)
Pankaj Berde2497e542013-02-19 18:51:24 -0800164 public void setHostPort(final IPortObject port);
165
166 @JsonIgnore
Teru68076a42013-06-27 14:57:49 -0700167 @Adjacency(label="host",direction=Direction.IN)
Pankaj Berde2497e542013-02-19 18:51:24 -0800168 public void removeHostPort(final IPortObject port);
Pankaj Berde1b8a42f2013-02-15 08:25:03 -0800169
170 @JsonIgnore
Toshio Koide13260102013-06-17 13:44:27 -0700171 @GremlinGroovy("it.in('host').in('on')")
Pankaj Berde2497e542013-02-19 18:51:24 -0800172 public Iterable<ISwitchObject> getSwitch();
173
Jonathan Hartd6ed62b2013-11-01 13:18:25 -0700174 //
175 // IPv4 Addresses
176 //
177 @JsonProperty("ipv4addresses")
178 @Adjacency(label="hasAddress")
179 public Iterable<IIpv4Address> getIpv4Addresses();
180
181 @JsonIgnore
Jonathan Hartc8ae36c2013-11-03 19:06:40 -0800182 @GremlinGroovy("it.out('hasAddress').has('ipv4_address', ipv4Address)")
Jonathan Hartd6ed62b2013-11-01 13:18:25 -0700183 public IIpv4Address getIpv4Address(@GremlinParam("ipv4Address") final int ipv4Address);
184
185 @Adjacency(label="hasAddress")
186 public void addIpv4Address(final IIpv4Address ipv4Address);
187
188 @Adjacency(label="hasAddress")
189 public void removeIpv4Address(final IIpv4Address ipv4Address);
190
Pankaj Berdeac1a8c32013-02-26 17:45:57 -0800191/* @JsonProperty("dpid")
192 @GremlinGroovy("_().in('host').in('on').next().getProperty('dpid')")
193 public Iterable<String> getSwitchDPID();
194
195 @JsonProperty("number")
196 @GremlinGroovy("_().in('host').transform{it.number}")
197 public Iterable<Short> getPortNumber();
198
Pankaj Berde2497e542013-02-19 18:51:24 -0800199 @JsonProperty("AttachmentPoint")
200 @GremlinGroovy("_().in('host').in('on').path(){it.number}{it.dpid}")
Pankaj Berdeac1a8c32013-02-26 17:45:57 -0800201 public Iterable<SwitchPort> getAttachmentPoints();*/
Pankaj Berde1b8a42f2013-02-15 08:25:03 -0800202 }
Jonathan Hartd6ed62b2013-11-01 13:18:25 -0700203
204 public interface IIpv4Address extends IBaseObject {
205
206 @JsonProperty("ipv4")
207 @Property("ipv4_address")
208 public int getIpv4Address();
209
210 @Property("ipv4_address")
211 public void setIpv4Address(int ipv4Address);
212
213 @JsonIgnore
214 @GremlinGroovy("it.in('hasAddress')")
215 public IDeviceObject getDevice();
216 }
217
Jonathan Hartc8ae36c2013-11-03 19:06:40 -0800218 public interface IFlowPath extends IBaseObject {
Jonathan Hart01f2d272013-04-04 20:03:46 -0700219 @JsonProperty("flowId")
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800220 @Property("flow_id")
221 public String getFlowId();
222
223 @Property("flow_id")
224 public void setFlowId(String flowId);
225
Jonathan Hart01f2d272013-04-04 20:03:46 -0700226 @JsonProperty("installerId")
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800227 @Property("installer_id")
228 public String getInstallerId();
229
230 @Property("installer_id")
231 public void setInstallerId(String installerId);
232
Pavlin Radoslavovd28cf7c2013-10-26 11:27:43 -0700233 @JsonProperty("flowPathType")
234 @Property("flow_path_type")
235 public String getFlowPathType();
236
237 @Property("flow_path_type")
238 public void setFlowPathType(String flowPathType);
239
Pavlin Radoslavov7d4a40e2013-10-27 23:39:40 -0700240 @JsonProperty("flowPathUserState")
241 @Property("user_state")
242 public String getFlowPathUserState();
243
244 @Property("user_state")
245 public void setFlowPathUserState(String userState);
246
Pavlin Radoslavov204b2862013-07-12 14:15:36 -0700247 @JsonProperty("flowPathFlags")
248 @Property("flow_path_flags")
249 public Long getFlowPathFlags();
250
251 @Property("flow_path_flags")
252 public void setFlowPathFlags(Long flowPathFlags);
253
Pavlin Radoslavov5139c0b2013-12-09 18:04:53 -0800254 @JsonProperty("idleTimeout")
255 @Property("idle_timeout")
256 public Integer getIdleTimeout();
257
258 @Property("idle_timeout")
259 public void setIdleTimeout(Integer idleTimeout);
260
261 @JsonProperty("hardTimeout")
262 @Property("hard_timeout")
263 public Integer getHardTimeout();
264
265 @Property("hard_timeout")
266 public void setHardTimeout(Integer hardTimeout);
267
Jonathan Hart01f2d272013-04-04 20:03:46 -0700268 @JsonProperty("srcDpid")
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800269 @Property("src_switch")
270 public String getSrcSwitch();
271
272 @Property("src_switch")
273 public void setSrcSwitch(String srcSwitch);
274
Jonathan Hart01f2d272013-04-04 20:03:46 -0700275 @JsonProperty("srcPort")
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800276 @Property("src_port")
277 public Short getSrcPort();
278
279 @Property("src_port")
280 public void setSrcPort(Short srcPort);
281
Jonathan Hart01f2d272013-04-04 20:03:46 -0700282 @JsonProperty("dstDpid")
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800283 @Property("dst_switch")
284 public String getDstSwitch();
285
286 @Property("dst_switch")
287 public void setDstSwitch(String dstSwitch);
288
Jonathan Hart01f2d272013-04-04 20:03:46 -0700289 @JsonProperty("dstPort")
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800290 @Property("dst_port")
291 public Short getDstPort();
292
293 @Property("dst_port")
294 public void setDstPort(Short dstPort);
295
Jonathan Hart01f2d272013-04-04 20:03:46 -0700296 @JsonProperty("dataPath")
297 @JsonSerialize(using=DatapathSummarySerializer.class)
Pavlin Radoslavovdbaaf2e2013-03-29 04:25:55 -0700298 @Property("data_path_summary")
299 public String getDataPathSummary();
300
301 @Property("data_path_summary")
302 public void setDataPathSummary(String dataPathSummary);
303
Jonathan Hart01f2d272013-04-04 20:03:46 -0700304 @JsonIgnore
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800305 @Adjacency(label="flow", direction=Direction.IN)
306 public Iterable<IFlowEntry> getFlowEntries();
307
308 @Adjacency(label="flow", direction=Direction.IN)
309 public void addFlowEntry(final IFlowEntry flowEntry);
310
311 @Adjacency(label="flow", direction=Direction.IN)
312 public void removeFlowEntry(final IFlowEntry flowEntry);
Pavlin Radoslavov67b3ef32013-04-03 02:44:48 -0700313
Pavlin Radoslavov1bc2c472013-07-17 18:11:37 -0700314 //
315 // Matching fields
316 //
Jonathan Hart01f2d272013-04-04 20:03:46 -0700317 @JsonIgnore
Pavlin Radoslavov67b3ef32013-04-03 02:44:48 -0700318 @Property("matchSrcMac")
319 public String getMatchSrcMac();
320
321 @Property("matchSrcMac")
322 public void setMatchSrcMac(String matchSrcMac);
323
Jonathan Hart01f2d272013-04-04 20:03:46 -0700324 @JsonIgnore
Pavlin Radoslavov67b3ef32013-04-03 02:44:48 -0700325 @Property("matchDstMac")
326 public String getMatchDstMac();
327
328 @Property("matchDstMac")
329 public void setMatchDstMac(String matchDstMac);
330
Jonathan Hart01f2d272013-04-04 20:03:46 -0700331 @JsonIgnore
Pavlin Radoslavovad3a1e62013-07-09 13:30:16 -0700332 @Property("matchEthernetFrameType")
333 public Short getMatchEthernetFrameType();
334
335 @Property("matchEthernetFrameType")
336 public void setMatchEthernetFrameType(Short matchEthernetFrameType);
337
338 @JsonIgnore
339 @Property("matchVlanId")
340 public Short getMatchVlanId();
341
342 @Property("matchVlanId")
343 public void setMatchVlanId(Short matchVlanId);
344
345 @JsonIgnore
346 @Property("matchVlanPriority")
347 public Byte getMatchVlanPriority();
348
349 @Property("matchVlanPriority")
350 public void setMatchVlanPriority(Byte matchVlanPriority);
351
352 @JsonIgnore
Pavlin Radoslavov67b3ef32013-04-03 02:44:48 -0700353 @Property("matchSrcIPv4Net")
354 public String getMatchSrcIPv4Net();
355
356 @Property("matchSrcIPv4Net")
357 public void setMatchSrcIPv4Net(String matchSrcIPv4Net);
358
Jonathan Hart01f2d272013-04-04 20:03:46 -0700359 @JsonIgnore
Pavlin Radoslavov67b3ef32013-04-03 02:44:48 -0700360 @Property("matchDstIPv4Net")
361 public String getMatchDstIPv4Net();
362
363 @Property("matchDstIPv4Net")
364 public void setMatchDstIPv4Net(String matchDstIPv4Net);
Pavlin Radoslavovad3a1e62013-07-09 13:30:16 -0700365
366 @JsonIgnore
367 @Property("matchIpProto")
368 public Byte getMatchIpProto();
369
370 @Property("matchIpProto")
371 public void setMatchIpProto(Byte matchIpProto);
372
373 @JsonIgnore
374 @Property("matchIpToS")
375 public Byte getMatchIpToS();
376
377 @Property("matchIpToS")
378 public void setMatchIpToS(Byte matchIpToS);
379
380 @JsonIgnore
381 @Property("matchSrcTcpUdpPort")
382 public Short getMatchSrcTcpUdpPort();
383
384 @Property("matchSrcTcpUdpPort")
385 public void setMatchSrcTcpUdpPort(Short matchSrcTcpUdpPort);
386
387 @JsonIgnore
388 @Property("matchDstTcpUdpPort")
389 public Short getMatchDstTcpUdpPort();
390
391 @Property("matchDstTcpUdpPort")
392 public void setMatchDstTcpUdpPort(Short matchDstTcpUdpPort);
393
Pavlin Radoslavov1bc2c472013-07-17 18:11:37 -0700394 //
395 // Action-related fields
396 //
397 @Property("actions")
398 public String getActions();
399
400 @Property("actions")
401 public void setActions(String actionsStr);
402
403 //
404 // Other fields
405 //
Pankaj Berded0079742013-03-27 17:53:25 -0700406 @JsonIgnore
Toshio Koide13260102013-06-17 13:44:27 -0700407 @GremlinGroovy("it.in('flow').out('switch')")
Pankaj Berdef1404a72013-04-03 11:50:07 -0700408 public Iterable<ISwitchObject> getSwitches();
Jonathan Hart01f2d272013-04-04 20:03:46 -0700409
410 @JsonIgnore
411 @Property("state")
412 public String getState();
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800413 }
414
Jonathan Hartc8ae36c2013-11-03 19:06:40 -0800415 public interface IFlowEntry extends IBaseObject {
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800416 @Property("flow_entry_id")
417 public String getFlowEntryId();
418
419 @Property("flow_entry_id")
420 public void setFlowEntryId(String flowEntryId);
421
Pavlin Radoslavov5139c0b2013-12-09 18:04:53 -0800422 @JsonProperty("idleTimeout")
423 @Property("idle_timeout")
424 public Integer getIdleTimeout();
425
426 @Property("idle_timeout")
427 public void setIdleTimeout(Integer idleTimeout);
428
429 @JsonProperty("hardTimeout")
430 @Property("hard_timeout")
431 public Integer getHardTimeout();
432
433 @Property("hard_timeout")
434 public void setHardTimeout(Integer hardTimeout);
435
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800436 @Property("switch_dpid")
437 public String getSwitchDpid();
438
439 @Property("switch_dpid")
440 public void setSwitchDpid(String switchDpid);
441
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800442 @Property("user_state")
443 public String getUserState();
444
445 @Property("user_state")
446 public void setUserState(String userState);
447
448 @Property("switch_state")
449 public String getSwitchState();
450
451 @Property("switch_state")
452 public void setSwitchState(String switchState);
453
454 @Property("error_state_type")
455 public String getErrorStateType();
456
457 @Property("error_state_type")
458 public void setErrorStateType(String errorStateType);
459
460 @Property("error_state_code")
461 public String getErrorStateCode();
462
463 @Property("error_state_code")
464 public void setErrorStateCode(String errorStateCode);
Pavlin Radoslavove2f0de82013-03-12 01:39:30 -0700465
Pavlin Radoslavov1bc2c472013-07-17 18:11:37 -0700466 //
467 // Matching fields
468 //
Pavlin Radoslavove2f0de82013-03-12 01:39:30 -0700469 @Property("matchInPort")
470 public Short getMatchInPort();
471
472 @Property("matchInPort")
473 public void setMatchInPort(Short matchInPort);
474
Pavlin Radoslavove2f0de82013-03-12 01:39:30 -0700475 @Property("matchSrcMac")
476 public String getMatchSrcMac();
477
478 @Property("matchSrcMac")
479 public void setMatchSrcMac(String matchSrcMac);
480
481 @Property("matchDstMac")
482 public String getMatchDstMac();
483
484 @Property("matchDstMac")
485 public void setMatchDstMac(String matchDstMac);
486
Pavlin Radoslavovad3a1e62013-07-09 13:30:16 -0700487 @Property("matchEthernetFrameType")
488 public Short getMatchEthernetFrameType();
489
490 @Property("matchEthernetFrameType")
491 public void setMatchEthernetFrameType(Short matchEthernetFrameType);
492
493 @Property("matchVlanId")
494 public Short getMatchVlanId();
495
496 @Property("matchVlanId")
497 public void setMatchVlanId(Short matchVlanId);
498
499 @Property("matchVlanPriority")
500 public Byte getMatchVlanPriority();
501
502 @Property("matchVlanPriority")
503 public void setMatchVlanPriority(Byte matchVlanPriority);
504
Pavlin Radoslavove2f0de82013-03-12 01:39:30 -0700505 @Property("matchSrcIPv4Net")
506 public String getMatchSrcIPv4Net();
507
508 @Property("matchSrcIPv4Net")
509 public void setMatchSrcIPv4Net(String matchSrcIPv4Net);
510
511 @Property("matchDstIPv4Net")
512 public String getMatchDstIPv4Net();
513
514 @Property("matchDstIPv4Net")
515 public void setMatchDstIPv4Net(String matchDstIPv4Net);
516
Pavlin Radoslavovad3a1e62013-07-09 13:30:16 -0700517 @Property("matchIpProto")
518 public Byte getMatchIpProto();
519
520 @Property("matchIpProto")
521 public void setMatchIpProto(Byte matchIpProto);
522
523 @Property("matchIpToS")
524 public Byte getMatchIpToS();
525
526 @Property("matchIpToS")
527 public void setMatchIpToS(Byte matchIpToS);
528
529 @Property("matchSrcTcpUdpPort")
530 public Short getMatchSrcTcpUdpPort();
531
532 @Property("matchSrcTcpUdpPort")
533 public void setMatchSrcTcpUdpPort(Short matchSrcTcpUdpPort);
534
535 @Property("matchDstTcpUdpPort")
536 public Short getMatchDstTcpUdpPort();
537
538 @Property("matchDstTcpUdpPort")
539 public void setMatchDstTcpUdpPort(Short matchDstTcpUdpPort);
540
Pavlin Radoslavov1bc2c472013-07-17 18:11:37 -0700541 //
542 // Action-related fields
543 //
Pavlin Radoslavovc1bafd12013-07-12 17:00:35 -0700544 @Property("actionOutputPort")
545 public Short getActionOutputPort();
Pavlin Radoslavove2f0de82013-03-12 01:39:30 -0700546
Pavlin Radoslavovc1bafd12013-07-12 17:00:35 -0700547 @Property("actionOutputPort")
548 public void setActionOutputPort(Short actionOutputPort);
Pavlin Radoslavov1d4a1072013-03-28 05:29:49 -0700549
Pavlin Radoslavov1bc2c472013-07-17 18:11:37 -0700550 @Property("actions")
551 public String getActions();
552
553 @Property("actions")
554 public void setActions(String actionsStr);
555
556 //
557 // Other fields
558 //
Pavlin Radoslavov1d4a1072013-03-28 05:29:49 -0700559 @Adjacency(label="flow")
560 public IFlowPath getFlow();
561
562 @Adjacency(label="flow")
563 public void setFlow(IFlowPath flow);
564
Pankaj Berded0079742013-03-27 17:53:25 -0700565 @Adjacency(label="switch")
566 public ISwitchObject getSwitch();
Pavlin Radoslavov1d4a1072013-03-28 05:29:49 -0700567
Pankaj Berded0079742013-03-27 17:53:25 -0700568 @Adjacency(label="switch")
569 public void setSwitch(ISwitchObject sw);
Pavlin Radoslavov1d4a1072013-03-28 05:29:49 -0700570
Pankaj Berded0079742013-03-27 17:53:25 -0700571 @Adjacency(label="inport")
572 public IPortObject getInPort();
Pavlin Radoslavov1d4a1072013-03-28 05:29:49 -0700573
Pankaj Berded0079742013-03-27 17:53:25 -0700574 @Adjacency(label="inport")
575 public void setInPort(IPortObject port);
Pavlin Radoslavov1d4a1072013-03-28 05:29:49 -0700576
Pankaj Berded0079742013-03-27 17:53:25 -0700577 @Adjacency(label="outport")
578 public IPortObject getOutPort();
Pavlin Radoslavov1d4a1072013-03-28 05:29:49 -0700579
Pavlin Radoslavov4fead9c2013-03-28 03:09:27 -0700580 @Adjacency(label="outport")
Pankaj Berded0079742013-03-27 17:53:25 -0700581 public void setOutPort(IPortObject port);
Pavlin Radoslavovb6f53542013-03-01 16:02:14 -0800582 }
Pankaj Berde1b8a42f2013-02-15 08:25:03 -0800583}