netdev-vport: Warn about invalid TOS.
authorBen Pfaff <blp@nicira.com>
Fri, 20 Jul 2012 17:24:50 +0000 (10:24 -0700)
committerBen Pfaff <blp@nicira.com>
Fri, 20 Jul 2012 17:24:50 +0000 (10:24 -0700)
Otherwise the kernel will reject it later and the result is no tunnel,
whereas a tunnel with an unexpected TOS seems like a better result.

Bug #12566.
Reported-by: Luca Giraudo <lgiraudo@nicira.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
lib/netdev-vport.c

index 836069f7038544bb4050e0e2ee455b75b361e0f7..db5c3db8d71cf77da9dd05e284ab2dd18bbe2222 100644 (file)
@@ -614,8 +614,10 @@ parse_tunnel_config(const char *name, const char *type,
                 char *endptr;
                 int tos;
                 tos = strtol(node->value, &endptr, 0);
-                if (*endptr == '\0') {
+                if (*endptr == '\0' && tos == (tos & IP_DSCP_MASK)) {
                     nl_msg_put_u8(options, OVS_TUNNEL_ATTR_TOS, tos);
+                } else {
+                    VLOG_WARN("%s: invalid TOS %s", name, node->value);
                 }
             }
         } else if (!strcmp(node->key, "ttl")) {