Quellcode durchsuchen

always create device routes

Felix Fietkau vor 12 Jahren
Ursprung
Commit
a63479ad89
5 geänderte Dateien mit 4 neuen und 12 gelöschten Zeilen
  1. 0 2
      interface-ip.c
  2. 0 3
      interface-ip.h
  3. 1 1
      proto.c
  4. 2 4
      system-dummy.c
  5. 1 2
      system-linux.c

+ 0 - 2
interface-ip.c

@@ -83,8 +83,6 @@ interface_ip_add_route(struct interface *iface, struct blob_attr *attr, bool v6)
 			DPRINTF("Failed to parse route gateway: %s\n", (char *) blobmsg_data(cur));
 			goto error;
 		}
-	} else {
-		route->flags |= DEVADDR_DEVICE;
 	}
 
 	if ((cur = tb[ROUTE_METRIC]) != NULL)

+ 0 - 3
interface-ip.h

@@ -9,9 +9,6 @@ enum device_addr_flags {
 	DEVADDR_INET6		= (1 << 0),
 	DEVADDR_FAMILY		= DEVADDR_INET4 | DEVADDR_INET6,
 
-	/* device route (no gateway) */
-	DEVADDR_DEVICE		= (1 << 1),
-
 	/* externally added address */
 	DEVADDR_EXTERNAL	= (1 << 2),
 };

+ 1 - 1
proto.c

@@ -183,7 +183,7 @@ parse_gateway_option(struct interface *iface, struct blob_attr *attr, bool v6)
 	}
 
 	route->mask = 0;
-	route->flags = DEVADDR_DEVICE | (v6 ? DEVADDR_INET6 : DEVADDR_INET4);
+	route->flags = (v6 ? DEVADDR_INET6 : DEVADDR_INET4);
 	vlist_add(&iface->proto_ip.route, &route->node, &route->mask);
 
 	return true;

+ 2 - 4
system-dummy.c

@@ -156,8 +156,7 @@ int system_add_route(struct device *dev, struct device_route *route)
 		sprintf(gw, " gw %d.%d.%d.%d",
 			a2[0], a2[1], a2[2], a2[3]);
 
-	if (route->flags & DEVADDR_DEVICE)
-		sprintf(devstr, " dev %s", dev->ifname);
+	sprintf(devstr, " dev %s", dev->ifname);
 
 	if (route->metric > 0)
 		sprintf(devstr, " metric %d", route->metric);
@@ -185,8 +184,7 @@ int system_del_route(struct device *dev, struct device_route *route)
 		sprintf(gw, " gw %d.%d.%d.%d",
 			a2[0], a2[1], a2[2], a2[3]);
 
-	if (route->flags & DEVADDR_DEVICE)
-		sprintf(devstr, " dev %s", dev->ifname);
+	sprintf(devstr, " dev %s", dev->ifname);
 
 	D(SYSTEM, "route del %s%s%s\n", addr, gw, devstr);
 	return 0;

+ 1 - 2
system-linux.c

@@ -901,8 +901,7 @@ static int system_rt(struct device *dev, struct device_route *route, int cmd)
 	if (have_gw)
 		nla_put(msg, RTA_GATEWAY, alen, &route->nexthop);
 
-	if (route->flags & DEVADDR_DEVICE)
-		nla_put_u32(msg, RTA_OIF, ifindex);
+	nla_put_u32(msg, RTA_OIF, ifindex);
 
 	return system_rtnl_call(msg);
 }