Skip to content
Snippets Groups Projects
Commit 27a5c716 authored by Gregor Maier's avatar Gregor Maier
Browse files

Add OFBsnPktinSuppressionSetRequestVendorData

parent 93c22426
No related branches found
No related tags found
No related merge requests found
package com.bigswitch.floodlight.vendor;
import org.jboss.netty.buffer.ChannelBuffer;
import org.openflow.protocol.Instantiable;
import org.openflow.protocol.vendor.OFVendorData;
public class OFBsnPktinSuppressionSetRequestVendorData
extends OFBigSwitchVendorData {
protected static Instantiable<OFVendorData> instantiableSingleton =
new Instantiable<OFVendorData>() {
@Override
public OFVendorData instantiate() {
return new OFBsnL2TableSetVendorData();
}
};
/**
* @return a subclass of Instantiable<OFVendorData> that instantiates
* an instance of OFBsnL2TableSetVendorData.
*/
public static Instantiable<OFVendorData> getInstantiable() {
return instantiableSingleton;
}
public static final int BSN_PKTIN_SUPPRESSION_SET_REQUEST = 11;
/*
* uint8_t enabled; // 0 to disable the extension, 1 to enable it
* uint8_t pad;
* uint16_t idle_timeout; // idle_timeout for new flows
* uint16_t hard_timeout; // idle_timeout for new flows
* uint16_t priority; // priority for new flows
* uint64_t cookie; // cookie for new flows
*/
protected boolean suppressionEnabled;
protected short idleTimeout;
protected short hardTimeout;
protected short priority;
protected long cookie;
public OFBsnPktinSuppressionSetRequestVendorData() {
super(BSN_PKTIN_SUPPRESSION_SET_REQUEST);
}
public OFBsnPktinSuppressionSetRequestVendorData(boolean suppressionEnabled,
short idleTimeout,
short hardTimeout,
short priority,
long cookie) {
super(BSN_PKTIN_SUPPRESSION_SET_REQUEST);
this.suppressionEnabled = suppressionEnabled;
this.idleTimeout = idleTimeout;
this.hardTimeout = hardTimeout;
this.priority = priority;
this.cookie = cookie;
}
public boolean isSuppressionEnabled() {
return suppressionEnabled;
}
public short getIdleTimeout() {
return idleTimeout;
}
public short getHardTimeout() {
return hardTimeout;
}
public short getPriority() {
return priority;
}
public long getCookie() {
return cookie;
}
public void setSuppressionEnabled(boolean suppressionEnabled) {
this.suppressionEnabled = suppressionEnabled;
}
public void setIdleTimeout(short idleTimeout) {
this.idleTimeout = idleTimeout;
}
public void setHardTimeout(short hardTimeout) {
this.hardTimeout = hardTimeout;
}
public void setPriority(short priority) {
this.priority = priority;
}
public void setCookie(long cookie) {
this.cookie = cookie;
}
@Override
public int getLength() {
return super.getLength() + 16;
}
@Override
public void readFrom(ChannelBuffer data, int length) {
super.readFrom(data, length);
suppressionEnabled = (data.readByte() != 0);
data.readByte();
idleTimeout = data.readShort();
hardTimeout = data.readShort();
priority = data.readShort();
cookie = data.readLong();
}
@Override
public void writeTo(ChannelBuffer data) {
super.writeTo(data);
data.writeByte(suppressionEnabled ? 1 : 0);
data.writeByte(0); // pad
data.writeShort(idleTimeout);
data.writeShort(hardTimeout);
data.writeShort(priority);
data.writeLong(cookie);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment