From 523101341940eabc4ee3d6661b6e1cf29af9dda2 Mon Sep 17 00:00:00 2001 From: Srinivasan Ramasubramanian <srini@bigswitch.com> Date: Mon, 9 Jan 2012 14:12:02 -0800 Subject: [PATCH] Fixing a bug where floodlight doesn't provide a floodlight context, resulting in a null-pointer exception. --- .../core/OFMessageFilterManager.java | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/src/main/java/net/floodlightcontroller/core/OFMessageFilterManager.java b/src/main/java/net/floodlightcontroller/core/OFMessageFilterManager.java index b7622bafb..b096f79cc 100644 --- a/src/main/java/net/floodlightcontroller/core/OFMessageFilterManager.java +++ b/src/main/java/net/floodlightcontroller/core/OFMessageFilterManager.java @@ -492,12 +492,14 @@ public class OFMessageFilterManager implements IOFMessageListener { sb.append("\nbuffer: "); sb.append(pktIn.getBufferId()); + // If the conext is not set by floodlight, then ignore. + if (cntx != null) { // packet type icmp, arp, etc. - eth = IFloodlightProvider.bcStore.get(cntx, - IFloodlightProvider.CONTEXT_PI_PAYLOAD); - - sb.append(eth.toString()); - + eth = IFloodlightProvider.bcStore.get(cntx, + IFloodlightProvider.CONTEXT_PI_PAYLOAD); + if (eth != null) + sb.append(eth.toString()); + } break; case PACKET_OUT: @@ -522,13 +524,15 @@ public class OFMessageFilterManager implements IOFMessageListener { sb.append(HexString.toHexString(sw.getId())); sb.append(" ]"); - eth = new Ethernet(); - - eth = IFloodlightProvider.bcStore.get(cntx, + // If the conext is not set by floodlight, then ignore. + if (cntx != null) { + eth = IFloodlightProvider.bcStore.get(cntx, IFloodlightProvider.CONTEXT_PI_PAYLOAD); - sb.append(eth.toString()); + if (eth != null) + sb.append(eth.toString()); + } - sb.append("ADD: cookie: "); + sb.append("\nADD: cookie: "); sb.append(fm.getCookie()); sb.append(" idle: "); sb.append(fm.getIdleTimeout()); -- GitLab