Add support for IP in IPv6 tunnels (DS-Lite)
[project/netifd.git] / interface-ip.h
index 91358b84944bb1311cd06a9d15893e1717316711..cd6ec849bd82c5028311ce4e3f4116768c6e49f4 100644 (file)
@@ -36,6 +36,12 @@ enum device_addr_flags {
 
        /* address is off-link (no subnet-route) */
        DEVADDR_OFFLINK         = (1 << 6),
+
+       /* route resides in different table */
+       DEVROUTE_TABLE          = (1 << 7),
+
+       /* route resides in default source-route table */
+       DEVROUTE_SRCTABLE       = (1 << 8),
 };
 
 union if_addr {
@@ -98,6 +104,7 @@ struct device_route {
        /* must be last */
        enum device_addr_flags flags;
        int metric; // there can be multiple routes to the same target
+       unsigned int table;
        unsigned int mask;
        union if_addr addr;
 };
@@ -137,5 +144,6 @@ struct device_prefix* interface_ip_add_device_prefix(struct interface *iface,
                struct in6_addr *excl_addr, uint8_t excl_length);
 void interface_ip_set_ula_prefix(const char *prefix);
 void interface_refresh_assignments(bool hint);
+int interface_ip_resolve_v6_rtable(int ifindex);
 
 #endif