X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=system.h;h=fe4497ec469b945d30a652c8fe92a193f2b4b65d;hb=dfd0b106f63da5f14c413b483bffd1f09768460e;hp=6077b95140647fef67c11da6b1379b5f976f7273;hpb=6397f5edb977b5963aa8eec1deaa709355bbbc7d;p=oweals%2Fnetifd.git diff --git a/system.h b/system.h index 6077b95..fe4497e 100644 --- a/system.h +++ b/system.h @@ -30,16 +30,72 @@ enum tunnel_param { TUNNEL_ATTR_DF, TUNNEL_ATTR_TTL, TUNNEL_ATTR_TOS, - TUNNEL_ATTR_6RD_PREFIX, - TUNNEL_ATTR_6RD_RELAY_PREFIX, TUNNEL_ATTR_LINK, - TUNNEL_ATTR_FMRS, - TUNNEL_ATTR_INFO, + TUNNEL_ATTR_DATA, __TUNNEL_ATTR_MAX }; extern const struct uci_blob_param_list tunnel_attr_list; +enum vxlan_data { + VXLAN_DATA_ATTR_ID, + VXLAN_DATA_ATTR_PORT, + VXLAN_DATA_ATTR_MACADDR, + VXLAN_DATA_ATTR_RXCSUM, + VXLAN_DATA_ATTR_TXCSUM, + __VXLAN_DATA_ATTR_MAX +}; + +enum gre_data { + GRE_DATA_IKEY, + GRE_DATA_OKEY, + GRE_DATA_ICSUM, + GRE_DATA_OCSUM, + GRE_DATA_ISEQNO, + GRE_DATA_OSEQNO, + GRE_DATA_ENCAPLIMIT, + __GRE_DATA_ATTR_MAX +}; + +enum vti_data { + VTI_DATA_IKEY, + VTI_DATA_OKEY, + __VTI_DATA_ATTR_MAX +}; + +enum xfrm_data { + XFRM_DATA_IF_ID, + __XFRM_DATA_ATTR_MAX +}; + +enum sixrd_data { + SIXRD_DATA_PREFIX, + SIXRD_DATA_RELAY_PREFIX, + __SIXRD_DATA_ATTR_MAX +}; + +enum ipip6_data { + IPIP6_DATA_ENCAPLIMIT, + IPIP6_DATA_FMRS, + __IPIP6_DATA_ATTR_MAX +}; + +enum fmr_data { + FMR_DATA_PREFIX6, + FMR_DATA_PREFIX4, + FMR_DATA_EALEN, + FMR_DATA_OFFSET, + __FMR_DATA_ATTR_MAX +}; + +extern const struct uci_blob_param_list vxlan_data_attr_list; +extern const struct uci_blob_param_list gre_data_attr_list; +extern const struct uci_blob_param_list vti_data_attr_list; +extern const struct uci_blob_param_list xfrm_data_attr_list; +extern const struct uci_blob_param_list sixrd_data_attr_list; +extern const struct uci_blob_param_list ipip6_data_attr_list; +extern const struct uci_blob_param_list fmr_data_attr_list; + enum bridge_opt { /* stp and forward delay always set */ BRIDGE_OPT_AGEING_TIME = (1 << 0), @@ -163,6 +219,9 @@ 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); +int system_add_neighbor(struct device *dev, struct device_neighbor * neighbor); +int system_del_neighbor(struct device *dev, struct device_neighbor * neighbor); + bool system_resolve_rt_type(const char *type, unsigned int *id); bool system_resolve_rt_proto(const char *type, unsigned int *id); bool system_resolve_rt_table(const char *name, unsigned int *id); @@ -182,6 +241,10 @@ time_t system_get_rtime(void); void system_fd_set_cloexec(int fd); -int system_update_ipv6_mtu(struct device *device, int mtu); +int system_update_ipv6_mtu(struct device *dev, int mtu); + +int system_link_netns_move(const char *ifname, const pid_t target_ns); +int system_netns_open(const pid_t target_ns); +int system_netns_set(int netns_fd); #endif