diff -Naur iproute2/tc/em_meta.c iproute2-patched/tc/em_meta.c --- iproute2/tc/em_meta.c 2008-07-30 17:29:57.000000000 +0300 +++ iproute2-patched/tc/em_meta.c 2008-07-30 17:29:15.000000000 +0300 @@ -262,7 +262,7 @@ } num = bstrtoul(arg); - if (num != LONG_MAX) { + if (num != ULONG_MAX) { obj->kind = TCF_META_TYPE_INT << 12; obj->kind |= TCF_META_ID_VALUE; *dst = (unsigned long) num; @@ -320,7 +320,7 @@ a = bstr_next(a); shift = bstrtoul(a); - if (shift == LONG_MAX) { + if (shift == ULONG_MAX) { PARSE_ERR(a, "meta: invalid shift, must " \ "be numeric"); return PARSE_FAILURE; @@ -338,7 +338,7 @@ a = bstr_next(a); mask = bstrtoul(a); - if (mask == LONG_MAX) { + if (mask == ULONG_MAX) { PARSE_ERR(a, "meta: invalid mask, must be " \ "numeric"); return PARSE_FAILURE;