interface-ip.{c,h}: add new flag DEVROUTE_MTU and set it for per-route mtu overrides
authorJo-Philipp Wich <jow@openwrt.org>
Fri, 29 Jun 2012 11:26:32 +0000 (13:26 +0200)
committerJo-Philipp Wich <jow@openwrt.org>
Fri, 29 Jun 2012 11:32:26 +0000 (13:32 +0200)
interface-ip.c
interface-ip.h

index b097c1fcdd4cdd28d0b9eccd8dd89f55791d12cd..fa84fc76ed0a63f13dabb09f8e53fcb20b9932d2 100644 (file)
@@ -238,8 +238,10 @@ interface_ip_add_route(struct interface *iface, struct blob_attr *attr, bool v6)
                route->flags |= DEVROUTE_METRIC;
        }
 
-       if ((cur = tb[ROUTE_MTU]) != NULL)
+       if ((cur = tb[ROUTE_MTU]) != NULL) {
                route->mtu = blobmsg_get_u32(cur);
+               route->flags |= DEVROUTE_MTU;
+       }
 
        vlist_add(&ip->route, &route->node, &route->flags);
        return;
index d206ecac67d550a87b262dda6d0e03d2619d9f44..1a82ad6d7c753a334f51ee7cfab5396fc5ccfb3a 100644 (file)
@@ -28,8 +28,11 @@ enum device_addr_flags {
        /* route overrides the default interface metric */
        DEVROUTE_METRIC         = (1 << 3),
 
+       /* route overrides the default interface mtu */
+       DEVROUTE_MTU            = (1 << 4),
+
        /* route automatically added by kernel */
-       DEVADDR_KERNEL          = (1 << 4),
+       DEVADDR_KERNEL          = (1 << 5),
 };
 
 union if_addr {