libnl-tiny: ensure compatibility to libnl version 3 and higher
authorFelix Fietkau <nbd@openwrt.org>
Fri, 21 Mar 2014 15:54:48 +0000 (15:54 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Fri, 21 Mar 2014 15:54:48 +0000 (15:54 +0000)
To be prepared to support keepalived 1.2.10 and higher we need libnl3 or
higher. The attached patch
add some defines so that it can be build be libnl-tiny.
Patch by Thomas Heil

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 39991

src/error.c
src/include/netlink/errno.h

index 71ae7220e8ef87fc3b87188399211aab4caf60f7..e8ee47459ee753c8d884c73c1ba2d0773707a8e6 100644 (file)
@@ -42,6 +42,11 @@ static const char *errmsg[NLE_MAX+1] = {
 [NLE_PROTO_MISMATCH]   = "Protocol mismatch",
 [NLE_NOACCESS]         = "No Access",
 [NLE_PERM]             = "Operation not permitted",
+[NLE_PKTLOC_FILE]      = "Unable to open packet location file",
+[NLE_PARSE_ERR]                = "Unable to parse object",
+[NLE_NODEV]            = "No such device",
+[NLE_IMMUTABLE]                = "Immutable attribute",
+[NLE_DUMP_INTR]                = "Dump inconsistency detected, interrupted",
 };
 
 /**
@@ -85,6 +90,7 @@ int nl_syserr2nlerr(int error)
        case EADDRINUSE:        return NLE_EXIST;
        case EEXIST:            return NLE_EXIST;
        case EADDRNOTAVAIL:     return NLE_NOADDR;
+       case ESRCH:             /* fall through */
        case ENOENT:            return NLE_OBJ_NOTFOUND;
        case EINTR:             return NLE_INTR;
        case EAGAIN:            return NLE_AGAIN;
@@ -100,6 +106,8 @@ int nl_syserr2nlerr(int error)
        case EOPNOTSUPP:        return NLE_OPNOTSUPP;
        case EPERM:             return NLE_PERM;
        case EBUSY:             return NLE_BUSY;
+       case ERANGE:            return NLE_RANGE;
+       case ENODEV:            return NLE_NODEV;
        default:                return NLE_FAILURE;
        }
 }
index 0b43da02a9a3ed30d191b5f3a2144f7143a8c756..f8b5130c22e1142b9cceab49440c96db319c01ee 100644 (file)
@@ -45,8 +45,13 @@ extern "C" {
 #define NLE_PROTO_MISMATCH     26
 #define NLE_NOACCESS           27
 #define NLE_PERM               28
+#define NLE_PKTLOC_FILE                29
+#define NLE_PARSE_ERR          30
+#define NLE_NODEV              31
+#define NLE_IMMUTABLE          32
+#define NLE_DUMP_INTR          33
 
-#define NLE_MAX                        NLE_PERM
+#define NLE_MAX                        NLE_DUMP_INTR
 
 extern const char *    nl_geterror(int);
 extern void            nl_perror(int, const char *);