IPv6: fix prefix assignment with continuous hints
[project/netifd.git] / system.h
index acfaa37..e50201a 100644 (file)
--- a/system.h
+++ b/system.h
@@ -19,6 +19,7 @@
 #include <arpa/inet.h>
 #include "device.h"
 #include "interface-ip.h"
+#include "iprule.h"
 
 enum tunnel_param {
        TUNNEL_ATTR_TYPE,
@@ -27,10 +28,11 @@ enum tunnel_param {
        TUNNEL_ATTR_TTL,
        TUNNEL_ATTR_6RD_PREFIX,
        TUNNEL_ATTR_6RD_RELAY_PREFIX,
+       TUNNEL_ATTR_LINK,
        __TUNNEL_ATTR_MAX
 };
 
-const struct config_param_list tunnel_attr_list;
+const struct uci_blob_param_list tunnel_attr_list;
 
 enum bridge_opt {
        /* stp and forward delay always set */
@@ -43,7 +45,9 @@ struct bridge_config {
        enum bridge_opt flags;
        bool stp;
        bool igmp_snoop;
+       unsigned short priority;
        int forward_delay;
+       bool bridge_empty;
 
        int ageing_time;
        int hello_time;
@@ -94,9 +98,17 @@ int system_add_route(struct device *dev, struct device_route *route);
 int system_del_route(struct device *dev, struct device_route *route);
 int system_flush_routes(void);
 
+bool system_resolve_rt_table(const char *name, unsigned int *id);
+
 int system_del_ip_tunnel(const char *name);
 int system_add_ip_tunnel(const char *name, struct blob_attr *attr);
 
+int system_add_iprule(struct iprule *rule);
+int system_del_iprule(struct iprule *rule);
+int system_flush_iprules(void);
+
+bool system_resolve_iprule_action(const char *action, unsigned int *id);
+
 time_t system_get_rtime(void);
 
 void system_fd_set_cloexec(int fd);