+++ /dev/null
-/*
- * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.controller.protocol_plugin.openflow.vendorextension.v6extension;
-
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-
-import org.openflow.protocol.OFError;
-
-public class V6Error extends OFError {
- private static final long serialVersionUID = 1L;
- public static int MINIMUM_LENGTH = 20;//OfHdr(8) + NXET_VENDOR(2) + NXEC_VENDOR_ERROR(2) + struct nx_vendor_error(8)
- public static final short NICIRA_VENDOR_ERRORTYPE = (short)0xb0c2;
- protected int V6VendorId;
- protected short V6VendorErrorType;
- protected short V6VendorErrorCode;
- protected byte[] V6ErrorData;
-
- public V6Error(OFError e) {
- this.length = (short)e.getLengthU();
- this.errorType = e.getErrorType();
- this.errorCode = e.getErrorCode();
- this.xid = e.getXid();
- }
-
- @Override
- public void readFrom(ByteBuffer data) {
- this.V6VendorId = data.getInt();
- this.V6VendorErrorType = data.getShort();
- this.V6VendorErrorCode = data.getShort();
- int dataLength = this.getLengthU() - MINIMUM_LENGTH;
- if (dataLength > 0) {
- this.V6ErrorData = new byte[dataLength];
- data.get(this.V6ErrorData);
- }
- }
-
- /**
- * @return the V6VendorId
- */
- public int getVendorId() {
- return V6VendorId;
- }
-
- /**
- * @return the V6VendorErrorType
- */
- public short getVendorErrorType() {
- return V6VendorErrorType;
- }
-
- /**
- * @return the VendorErrorType
- */
- public short getVendorErrorCode() {
- return V6VendorErrorCode;
- }
-
- /**
- * @return the Error Bytes
- */
- public byte[] getError() {
- return V6ErrorData;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = super.hashCode();
- result = prime * result + Arrays.hashCode(V6ErrorData);
- result = prime * result + V6VendorErrorCode;
- result = prime * result + V6VendorErrorType;
- result = prime * result + V6VendorId;
- return result;
- }
-
- @Override
- public String toString() {
- return "V6Error [V6VendorId=" + V6VendorId + ", V6VendorErrorType="
- + V6VendorErrorType + ", V6VendorErrorCode="
- + V6VendorErrorCode + ", V6ErrorData="
- + Arrays.toString(V6ErrorData) + ", errorType=" + errorType
- + ", errorCode=" + errorCode + ", factory=" + factory
- + ", error=" + Arrays.toString(error) + ", errorIsAscii="
- + errorIsAscii + ", version=" + version + ", type=" + type
- + ", length=" + length + ", xid=" + xid + "]";
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (!super.equals(obj))
- return false;
- if (getClass() != obj.getClass())
- return false;
- V6Error other = (V6Error) obj;
- if (!Arrays.equals(V6ErrorData, other.V6ErrorData))
- return false;
- if (V6VendorErrorCode != other.V6VendorErrorCode)
- return false;
- if (V6VendorErrorType != other.V6VendorErrorType)
- return false;
- if (V6VendorId != other.V6VendorId)
- return false;
- return true;
- }
-}