Skip to content
Snippets Groups Projects
Commit 24947b1d authored by abat's avatar abat
Browse files

Merge into master from pull request #1514: Add RARP ethertype...

Merge into master from pull request #1514: Add RARP ethertype (https://github.com/bigswitch/bigswitchcontroller/pull/1514)
parents 8c5a4bd3 b520756b
No related branches found
No related tags found
No related merge requests found
package net.floodlightcontroller.linkdiscovery; package net.floodlightcontroller.linkdiscovery;
import org.codehaus.jackson.map.annotate.JsonSerialize;
import org.codehaus.jackson.map.ser.ToStringSerializer;
import org.openflow.util.HexString;
public interface ILinkDiscovery { public interface ILinkDiscovery {
public static enum UpdateOperation {LINK_UPDATED, LINK_REMOVED, SWITCH_UPDATED, SWITCH_REMOVED, PORT_UP, PORT_DOWN}; @JsonSerialize(using=ToStringSerializer.class)
public enum UpdateOperation {
LINK_UPDATED("Link Updated"),
LINK_REMOVED("Link Removed"),
SWITCH_UPDATED("Switch Updated"),
SWITCH_REMOVED("Switch Removed"),
PORT_UP("Port Up"),
PORT_DOWN("Port Down");
private String value;
UpdateOperation(String v) {
value = v;
}
@Override
public String toString() {
return value;
}
}
public class LDUpdate { public class LDUpdate {
protected long src; protected long src;
...@@ -83,36 +105,25 @@ public interface ILinkDiscovery { ...@@ -83,36 +105,25 @@ public interface ILinkDiscovery {
@Override @Override
public String toString() { public String toString() {
String operationString = null; switch (operation) {
if (operation == UpdateOperation.LINK_REMOVED) { case LINK_REMOVED:
operationString = "Link Removed"; case LINK_UPDATED:
return "LDUpdate [operation=" + operationString + return "LDUpdate [operation=" + operation +
", src=" + src + ", srcPort=" + srcPort ", src=" + HexString.toHexString(src)
+ ", dst=" + dst + ", dstPort=" + dstPort + ", srcPort=" + srcPort
+ ", type=" + type + "]"; + ", dst=" + HexString.toHexString(dst)
} else if (operation == UpdateOperation.LINK_UPDATED) { + ", dstPort=" + dstPort
operationString = "Link Updated";
return "LDUpdate [operation=" + operationString +
", src=" + src + ", srcPort=" + srcPort
+ ", dst=" + dst + ", dstPort=" + dstPort
+ ", type=" + type + "]"; + ", type=" + type + "]";
} else if (operation == UpdateOperation.PORT_DOWN) { case PORT_DOWN:
operationString = "Port Down"; case PORT_UP:
return "LDUpdate [operation=" + operationString + return "LDUpdate [operation=" + operation +
", src=" + src + ", srcPort=" + srcPort + "]"; ", src=" + HexString.toHexString(src)
} else if (operation == UpdateOperation.PORT_UP) { + ", srcPort=" + srcPort + "]";
operationString = "Port Up"; case SWITCH_REMOVED:
return "LDUpdate [operation=" + operationString + case SWITCH_UPDATED:
", src=" + src + ", srcPort=" + srcPort + "]"; return "LDUpdate [operation=" + operation +
} else if (operation == UpdateOperation.SWITCH_REMOVED) { ", src=" + HexString.toHexString(src) + "]";
operationString = "Switch Removed"; default:
return "LDUpdate [operation=" + operationString +
", src=" + src + "]";
} else if (operation == UpdateOperation.SWITCH_UPDATED) {
operationString = "Switch Updated";
return "LDUpdate [operation=" + operationString +
", src=" + src + "]";
} else {
return "LDUpdate: Unknown update."; return "LDUpdate: Unknown update.";
} }
} }
......
...@@ -32,6 +32,7 @@ import org.openflow.util.HexString; ...@@ -32,6 +32,7 @@ import org.openflow.util.HexString;
public class Ethernet extends BasePacket { public class Ethernet extends BasePacket {
private static String HEXES = "0123456789ABCDEF"; private static String HEXES = "0123456789ABCDEF";
public static final short TYPE_ARP = 0x0806; public static final short TYPE_ARP = 0x0806;
public static final short TYPE_RARP = (short) 0x8035;
public static final short TYPE_IPv4 = 0x0800; public static final short TYPE_IPv4 = 0x0800;
public static final short TYPE_LLDP = (short) 0x88cc; public static final short TYPE_LLDP = (short) 0x88cc;
public static final short TYPE_BSN = (short) 0x8942; public static final short TYPE_BSN = (short) 0x8942;
...@@ -43,6 +44,7 @@ public class Ethernet extends BasePacket { ...@@ -43,6 +44,7 @@ public class Ethernet extends BasePacket {
static { static {
etherTypeClassMap = new HashMap<Short, Class<? extends IPacket>>(); etherTypeClassMap = new HashMap<Short, Class<? extends IPacket>>();
etherTypeClassMap.put(TYPE_ARP, ARP.class); etherTypeClassMap.put(TYPE_ARP, ARP.class);
etherTypeClassMap.put(TYPE_RARP, ARP.class);
etherTypeClassMap.put(TYPE_IPv4, IPv4.class); etherTypeClassMap.put(TYPE_IPv4, IPv4.class);
etherTypeClassMap.put(TYPE_LLDP, LLDP.class); etherTypeClassMap.put(TYPE_LLDP, LLDP.class);
etherTypeClassMap.put(TYPE_BDDP, BDDP.class); etherTypeClassMap.put(TYPE_BDDP, BDDP.class);
......
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