blob: 852182c72ba4afceb57d41a50ccd8d27d1531964 [file] [log] [blame]
tom0eb04ca2014-08-25 14:34:51 -07001// Copyright (c) 2008 The Board of Trustees of The Leland Stanford Junior University
2// Copyright (c) 2011, 2012 Open Networking Foundation
3// Copyright (c) 2012, 2013 Big Switch Networks, Inc.
4// This library was generated by the LoxiGen Compiler.
5// See the file LICENSE.txt which should have been included in the source distribution
6
7// Automatically generated by LOXI from template of_class.java
8// Do not modify
9
10package org.projectfloodlight.openflow.protocol.ver10;
11
12import org.projectfloodlight.openflow.protocol.*;
13import org.projectfloodlight.openflow.protocol.action.*;
14import org.projectfloodlight.openflow.protocol.actionid.*;
15import org.projectfloodlight.openflow.protocol.bsntlv.*;
16import org.projectfloodlight.openflow.protocol.errormsg.*;
17import org.projectfloodlight.openflow.protocol.meterband.*;
18import org.projectfloodlight.openflow.protocol.instruction.*;
19import org.projectfloodlight.openflow.protocol.instructionid.*;
20import org.projectfloodlight.openflow.protocol.match.*;
21import org.projectfloodlight.openflow.protocol.oxm.*;
22import org.projectfloodlight.openflow.protocol.queueprop.*;
23import org.projectfloodlight.openflow.types.*;
24import org.projectfloodlight.openflow.util.*;
25import org.projectfloodlight.openflow.exceptions.*;
26import org.slf4j.Logger;
27import org.slf4j.LoggerFactory;
28import java.util.Set;
29import org.jboss.netty.buffer.ChannelBuffer;
30import com.google.common.hash.PrimitiveSink;
31import com.google.common.hash.Funnel;
32
33class OFBsnGetL2TableReplyVer10 implements OFBsnGetL2TableReply {
34 private static final Logger logger = LoggerFactory.getLogger(OFBsnGetL2TableReplyVer10.class);
35 // version: 1.0
36 final static byte WIRE_VERSION = 1;
37 final static int LENGTH = 24;
38
39 private final static long DEFAULT_XID = 0x0L;
40 private final static short DEFAULT_L2_TABLE_ENABLE = (short) 0x0;
41 private final static int DEFAULT_L2_TABLE_PRIORITY = 0x0;
42
43 // OF message fields
44 private final long xid;
45 private final short l2TableEnable;
46 private final int l2TablePriority;
47//
48 // Immutable default instance
49 final static OFBsnGetL2TableReplyVer10 DEFAULT = new OFBsnGetL2TableReplyVer10(
50 DEFAULT_XID, DEFAULT_L2_TABLE_ENABLE, DEFAULT_L2_TABLE_PRIORITY
51 );
52
53 // package private constructor - used by readers, builders, and factory
54 OFBsnGetL2TableReplyVer10(long xid, short l2TableEnable, int l2TablePriority) {
55 this.xid = xid;
56 this.l2TableEnable = l2TableEnable;
57 this.l2TablePriority = l2TablePriority;
58 }
59
60 // Accessors for OF message fields
61 @Override
62 public OFVersion getVersion() {
63 return OFVersion.OF_10;
64 }
65
66 @Override
67 public OFType getType() {
68 return OFType.EXPERIMENTER;
69 }
70
71 @Override
72 public long getXid() {
73 return xid;
74 }
75
76 @Override
77 public long getExperimenter() {
78 return 0x5c16c7L;
79 }
80
81 @Override
82 public long getSubtype() {
83 return 0xeL;
84 }
85
86 @Override
87 public short getL2TableEnable() {
88 return l2TableEnable;
89 }
90
91 @Override
92 public int getL2TablePriority() {
93 return l2TablePriority;
94 }
95
96
97
98 public OFBsnGetL2TableReply.Builder createBuilder() {
99 return new BuilderWithParent(this);
100 }
101
102 static class BuilderWithParent implements OFBsnGetL2TableReply.Builder {
103 final OFBsnGetL2TableReplyVer10 parentMessage;
104
105 // OF message fields
106 private boolean xidSet;
107 private long xid;
108 private boolean l2TableEnableSet;
109 private short l2TableEnable;
110 private boolean l2TablePrioritySet;
111 private int l2TablePriority;
112
113 BuilderWithParent(OFBsnGetL2TableReplyVer10 parentMessage) {
114 this.parentMessage = parentMessage;
115 }
116
117 @Override
118 public OFVersion getVersion() {
119 return OFVersion.OF_10;
120 }
121
122 @Override
123 public OFType getType() {
124 return OFType.EXPERIMENTER;
125 }
126
127 @Override
128 public long getXid() {
129 return xid;
130 }
131
132 @Override
133 public OFBsnGetL2TableReply.Builder setXid(long xid) {
134 this.xid = xid;
135 this.xidSet = true;
136 return this;
137 }
138 @Override
139 public long getExperimenter() {
140 return 0x5c16c7L;
141 }
142
143 @Override
144 public long getSubtype() {
145 return 0xeL;
146 }
147
148 @Override
149 public short getL2TableEnable() {
150 return l2TableEnable;
151 }
152
153 @Override
154 public OFBsnGetL2TableReply.Builder setL2TableEnable(short l2TableEnable) {
155 this.l2TableEnable = l2TableEnable;
156 this.l2TableEnableSet = true;
157 return this;
158 }
159 @Override
160 public int getL2TablePriority() {
161 return l2TablePriority;
162 }
163
164 @Override
165 public OFBsnGetL2TableReply.Builder setL2TablePriority(int l2TablePriority) {
166 this.l2TablePriority = l2TablePriority;
167 this.l2TablePrioritySet = true;
168 return this;
169 }
170
171
172 @Override
173 public OFBsnGetL2TableReply build() {
174 long xid = this.xidSet ? this.xid : parentMessage.xid;
175 short l2TableEnable = this.l2TableEnableSet ? this.l2TableEnable : parentMessage.l2TableEnable;
176 int l2TablePriority = this.l2TablePrioritySet ? this.l2TablePriority : parentMessage.l2TablePriority;
177
178 //
179 return new OFBsnGetL2TableReplyVer10(
180 xid,
181 l2TableEnable,
182 l2TablePriority
183 );
184 }
185
186 }
187
188 static class Builder implements OFBsnGetL2TableReply.Builder {
189 // OF message fields
190 private boolean xidSet;
191 private long xid;
192 private boolean l2TableEnableSet;
193 private short l2TableEnable;
194 private boolean l2TablePrioritySet;
195 private int l2TablePriority;
196
197 @Override
198 public OFVersion getVersion() {
199 return OFVersion.OF_10;
200 }
201
202 @Override
203 public OFType getType() {
204 return OFType.EXPERIMENTER;
205 }
206
207 @Override
208 public long getXid() {
209 return xid;
210 }
211
212 @Override
213 public OFBsnGetL2TableReply.Builder setXid(long xid) {
214 this.xid = xid;
215 this.xidSet = true;
216 return this;
217 }
218 @Override
219 public long getExperimenter() {
220 return 0x5c16c7L;
221 }
222
223 @Override
224 public long getSubtype() {
225 return 0xeL;
226 }
227
228 @Override
229 public short getL2TableEnable() {
230 return l2TableEnable;
231 }
232
233 @Override
234 public OFBsnGetL2TableReply.Builder setL2TableEnable(short l2TableEnable) {
235 this.l2TableEnable = l2TableEnable;
236 this.l2TableEnableSet = true;
237 return this;
238 }
239 @Override
240 public int getL2TablePriority() {
241 return l2TablePriority;
242 }
243
244 @Override
245 public OFBsnGetL2TableReply.Builder setL2TablePriority(int l2TablePriority) {
246 this.l2TablePriority = l2TablePriority;
247 this.l2TablePrioritySet = true;
248 return this;
249 }
250//
251 @Override
252 public OFBsnGetL2TableReply build() {
253 long xid = this.xidSet ? this.xid : DEFAULT_XID;
254 short l2TableEnable = this.l2TableEnableSet ? this.l2TableEnable : DEFAULT_L2_TABLE_ENABLE;
255 int l2TablePriority = this.l2TablePrioritySet ? this.l2TablePriority : DEFAULT_L2_TABLE_PRIORITY;
256
257
258 return new OFBsnGetL2TableReplyVer10(
259 xid,
260 l2TableEnable,
261 l2TablePriority
262 );
263 }
264
265 }
266
267
268 final static Reader READER = new Reader();
269 static class Reader implements OFMessageReader<OFBsnGetL2TableReply> {
270 @Override
271 public OFBsnGetL2TableReply readFrom(ChannelBuffer bb) throws OFParseError {
272 int start = bb.readerIndex();
273 // fixed value property version == 1
274 byte version = bb.readByte();
275 if(version != (byte) 0x1)
276 throw new OFParseError("Wrong version: Expected=OFVersion.OF_10(1), got="+version);
277 // fixed value property type == 4
278 byte type = bb.readByte();
279 if(type != (byte) 0x4)
280 throw new OFParseError("Wrong type: Expected=OFType.EXPERIMENTER(4), got="+type);
281 int length = U16.f(bb.readShort());
282 if(length != 24)
283 throw new OFParseError("Wrong length: Expected=24(24), got="+length);
284 if(bb.readableBytes() + (bb.readerIndex() - start) < length) {
285 // Buffer does not have all data yet
286 bb.readerIndex(start);
287 return null;
288 }
289 if(logger.isTraceEnabled())
290 logger.trace("readFrom - length={}", length);
291 long xid = U32.f(bb.readInt());
292 // fixed value property experimenter == 0x5c16c7L
293 int experimenter = bb.readInt();
294 if(experimenter != 0x5c16c7)
295 throw new OFParseError("Wrong experimenter: Expected=0x5c16c7L(0x5c16c7L), got="+experimenter);
296 // fixed value property subtype == 0xeL
297 int subtype = bb.readInt();
298 if(subtype != 0xe)
299 throw new OFParseError("Wrong subtype: Expected=0xeL(0xeL), got="+subtype);
300 short l2TableEnable = U8.f(bb.readByte());
301 // pad: 1 bytes
302 bb.skipBytes(1);
303 int l2TablePriority = U16.f(bb.readShort());
304 // pad: 4 bytes
305 bb.skipBytes(4);
306
307 OFBsnGetL2TableReplyVer10 bsnGetL2TableReplyVer10 = new OFBsnGetL2TableReplyVer10(
308 xid,
309 l2TableEnable,
310 l2TablePriority
311 );
312 if(logger.isTraceEnabled())
313 logger.trace("readFrom - read={}", bsnGetL2TableReplyVer10);
314 return bsnGetL2TableReplyVer10;
315 }
316 }
317
318 public void putTo(PrimitiveSink sink) {
319 FUNNEL.funnel(this, sink);
320 }
321
322 final static OFBsnGetL2TableReplyVer10Funnel FUNNEL = new OFBsnGetL2TableReplyVer10Funnel();
323 static class OFBsnGetL2TableReplyVer10Funnel implements Funnel<OFBsnGetL2TableReplyVer10> {
324 private static final long serialVersionUID = 1L;
325 @Override
326 public void funnel(OFBsnGetL2TableReplyVer10 message, PrimitiveSink sink) {
327 // fixed value property version = 1
328 sink.putByte((byte) 0x1);
329 // fixed value property type = 4
330 sink.putByte((byte) 0x4);
331 // fixed value property length = 24
332 sink.putShort((short) 0x18);
333 sink.putLong(message.xid);
334 // fixed value property experimenter = 0x5c16c7L
335 sink.putInt(0x5c16c7);
336 // fixed value property subtype = 0xeL
337 sink.putInt(0xe);
338 sink.putShort(message.l2TableEnable);
339 // skip pad (1 bytes)
340 sink.putInt(message.l2TablePriority);
341 // skip pad (4 bytes)
342 }
343 }
344
345
346 public void writeTo(ChannelBuffer bb) {
347 WRITER.write(bb, this);
348 }
349
350 final static Writer WRITER = new Writer();
351 static class Writer implements OFMessageWriter<OFBsnGetL2TableReplyVer10> {
352 @Override
353 public void write(ChannelBuffer bb, OFBsnGetL2TableReplyVer10 message) {
354 // fixed value property version = 1
355 bb.writeByte((byte) 0x1);
356 // fixed value property type = 4
357 bb.writeByte((byte) 0x4);
358 // fixed value property length = 24
359 bb.writeShort((short) 0x18);
360 bb.writeInt(U32.t(message.xid));
361 // fixed value property experimenter = 0x5c16c7L
362 bb.writeInt(0x5c16c7);
363 // fixed value property subtype = 0xeL
364 bb.writeInt(0xe);
365 bb.writeByte(U8.t(message.l2TableEnable));
366 // pad: 1 bytes
367 bb.writeZero(1);
368 bb.writeShort(U16.t(message.l2TablePriority));
369 // pad: 4 bytes
370 bb.writeZero(4);
371
372
373 }
374 }
375
376 @Override
377 public String toString() {
378 StringBuilder b = new StringBuilder("OFBsnGetL2TableReplyVer10(");
379 b.append("xid=").append(xid);
380 b.append(", ");
381 b.append("l2TableEnable=").append(l2TableEnable);
382 b.append(", ");
383 b.append("l2TablePriority=").append(l2TablePriority);
384 b.append(")");
385 return b.toString();
386 }
387
388 @Override
389 public boolean equals(Object obj) {
390 if (this == obj)
391 return true;
392 if (obj == null)
393 return false;
394 if (getClass() != obj.getClass())
395 return false;
396 OFBsnGetL2TableReplyVer10 other = (OFBsnGetL2TableReplyVer10) obj;
397
398 if( xid != other.xid)
399 return false;
400 if( l2TableEnable != other.l2TableEnable)
401 return false;
402 if( l2TablePriority != other.l2TablePriority)
403 return false;
404 return true;
405 }
406
407 @Override
408 public int hashCode() {
409 final int prime = 31;
410 int result = 1;
411
412 result = prime * (int) (xid ^ (xid >>> 32));
413 result = prime * result + l2TableEnable;
414 result = prime * result + l2TablePriority;
415 return result;
416 }
417
418}