public V6Error(OFError e) { this.length = (short)e.getLengthU(); this.errorType = e.getErrorType(); this.errorCode = e.getErrorCode(); this.xid = e.getXid(); }
public V6Error(OFError e) { this.length = (short)e.getLengthU(); this.errorType = e.getErrorType(); this.errorCode = e.getErrorCode(); this.xid = e.getXid(); }
private void processErrorReply(OFError errorMsg) { OFMessage offendingMsg = errorMsg.getOffendingMsg(); Integer xid; if (offendingMsg != null) { xid = offendingMsg.getXid(); } else { xid = errorMsg.getXid(); } /* * the error can be a reply to a synchronous message or to a statistic * request message */ Callable<?> worker = messageWaitingDone.remove(xid); if (worker == null) { return; } if (worker instanceof SynchronousMessage) { ((SynchronousMessage) worker).wakeup(errorMsg); } else { ((StatisticsCollector) worker).wakeup(errorMsg); } }
private void processErrorReply(OFError errorMsg) { OFMessage offendingMsg = errorMsg.getOffendingMsg(); Integer xid; if (offendingMsg != null) { xid = offendingMsg.getXid(); } else { xid = errorMsg.getXid(); } /* * the error can be a reply to a synchronous message or to a statistic * request message */ Callable<?> worker = messageWaitingDone.remove(xid); if (worker == null) { return; } if (worker instanceof SynchronousMessage) { ((SynchronousMessage) worker).wakeup(errorMsg); } else { ((StatisticsCollector) worker).wakeup(errorMsg); } }
private void handleErrorMessage(ISwitch sw, OFError errorMsg) { Node node = NodeCreator.createOFNode(sw.getId()); OFMessage offendingMsg = errorMsg.getOffendingMsg(); Integer xid; if (offendingMsg != null) { xid = offendingMsg.getXid(); } else { xid = errorMsg.getXid(); } Long rid = getMessageRid(sw.getId(), xid); /* * Null or zero requestId indicates that the error message is meant for * a sync message. It will be handled by the sync message worker thread. * Hence we are done here. */ if ((rid == null) || (rid == 0)) { return; } /* * Notifies the caller that error has been reported for a previous flow * programming request */ for (Map.Entry<String, IFlowProgrammerNotifier> containerNotifier : flowProgrammerNotifiers .entrySet()) { IFlowProgrammerNotifier notifier = containerNotifier.getValue(); notifier.flowErrorReported(node, rid, Utils.getOFErrorString(errorMsg)); } }