diff --git a/include/netlink/cache.h b/include/netlink/cache.h index e21aa1c..a2b3dbb 100644 --- a/include/netlink/cache.h +++ b/include/netlink/cache.h @@ -162,6 +162,8 @@ extern void nl_cache_mngr_free(struct nl_cache_mngr *); extern void nl_cache_ops_get(struct nl_cache_ops *); extern void nl_cache_ops_put(struct nl_cache_ops *); +extern void nl_cache_ops_set_flags(struct nl_cache_ops *, + unsigned int); #ifdef __cplusplus } diff --git a/include/netlink/route/action.h b/include/netlink/route/action.h index 054bdd8..5db92ab 100644 --- a/include/netlink/route/action.h +++ b/include/netlink/route/action.h @@ -27,6 +27,7 @@ extern void rtnl_act_put(struct rtnl_act *); extern int rtnl_act_build_add_request(struct rtnl_act *, int, struct nl_msg **); extern int rtnl_act_add(struct nl_sock *, struct rtnl_act *, int); +extern int rtnl_act_change(struct nl_sock *, struct rtnl_act *, int); extern int rtnl_act_build_change_request(struct rtnl_act *, int, struct nl_msg **); diff --git a/include/netlink/route/link/ip6tnl.h b/include/netlink/route/link/ip6tnl.h index 7e0c295..4021356 100644 --- a/include/netlink/route/link/ip6tnl.h +++ b/include/netlink/route/link/ip6tnl.h @@ -22,6 +22,8 @@ extern "C" { extern struct rtnl_link *rtnl_link_ip6_tnl_alloc(void); extern int rtnl_link_ip6_tnl_add(struct nl_sock *sk, const char *name); + extern int rtnl_link_is_ip6_tnl(struct rtnl_link *link); + extern int rtnl_link_ip6_tnl_set_link(struct rtnl_link *link, uint32_t index); extern uint32_t rtnl_link_ip6_tnl_get_link(struct rtnl_link *link); diff --git a/include/netlink/route/neightbl.h b/include/netlink/route/neightbl.h index 412c3e9..6c6c9a5 100644 --- a/include/netlink/route/neightbl.h +++ b/include/netlink/route/neightbl.h @@ -41,6 +41,7 @@ extern void rtnl_neightbl_set_family(struct rtnl_neightbl *, int); extern void rtnl_neightbl_set_gc_tresh1(struct rtnl_neightbl *, int); extern void rtnl_neightbl_set_gc_tresh2(struct rtnl_neightbl *, int); extern void rtnl_neightbl_set_gc_tresh3(struct rtnl_neightbl *, int); +extern void rtnl_neightbl_set_gc_interval(struct rtnl_neightbl *, uint64_t); extern void rtnl_neightbl_set_name(struct rtnl_neightbl *, const char *); extern void rtnl_neightbl_set_dev(struct rtnl_neightbl *, int); extern void rtnl_neightbl_set_queue_len(struct rtnl_neightbl *, int); diff --git a/include/netlink/route/qdisc/htb.h b/include/netlink/route/qdisc/htb.h index c909f84..c5065f4 100644 --- a/include/netlink/route/qdisc/htb.h +++ b/include/netlink/route/qdisc/htb.h @@ -40,6 +40,7 @@ extern uint32_t rtnl_htb_get_cbuffer(struct rtnl_class *); extern int rtnl_htb_set_cbuffer(struct rtnl_class *, uint32_t); extern uint32_t rtnl_htb_get_quantum(struct rtnl_class *); extern int rtnl_htb_set_quantum(struct rtnl_class *, uint32_t); +extern int rtnl_htb_set_level(struct rtnl_class *, int); extern int rtnl_htb_get_level(struct rtnl_class *); #ifdef __cplusplus diff --git a/lib/cache_mngt.c b/lib/cache_mngt.c index 4d3d6ff..9f8a742 100644 --- a/lib/cache_mngt.c +++ b/lib/cache_mngt.c @@ -38,7 +38,7 @@ static NL_RW_LOCK(cache_ops_lock); * @{ */ -struct nl_cache_ops *__nl_cache_ops_lookup(const char *name) +static struct nl_cache_ops *__nl_cache_ops_lookup(const char *name) { struct nl_cache_ops *ops; diff --git a/lib/route/act.c b/lib/route/act.c index 85ce445..7ec91ba 100644 --- a/lib/route/act.c +++ b/lib/route/act.c @@ -21,6 +21,7 @@ #include #include #include +#include static struct nl_object_ops act_obj_ops; diff --git a/lib/route/cls/ematch/cmp.c b/lib/route/cls/ematch/cmp.c index 2997cdb..2e380c3 100644 --- a/lib/route/cls/ematch/cmp.c +++ b/lib/route/cls/ematch/cmp.c @@ -20,6 +20,7 @@ #include #include #include +#include #include void rtnl_ematch_cmp_set(struct rtnl_ematch *e, struct tcf_em_cmp *cfg) diff --git a/lib/route/link/bonding.c b/lib/route/link/bonding.c index f4c520b..11b6d3d 100644 --- a/lib/route/link/bonding.c +++ b/lib/route/link/bonding.c @@ -22,6 +22,7 @@ #include #include +#include #include /** diff --git a/lib/route/link/inet.c b/lib/route/link/inet.c index 3bd76cc..0a7990e 100644 --- a/lib/route/link/inet.c +++ b/lib/route/link/inet.c @@ -61,6 +61,7 @@ #include #include #include +#include #include /** @cond SKIP */ diff --git a/lib/route/link/ip6tnl.c b/lib/route/link/ip6tnl.c index 9fe1367..26f3507 100644 --- a/lib/route/link/ip6tnl.c +++ b/lib/route/link/ip6tnl.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include diff --git a/lib/route/link/ipgre.c b/lib/route/link/ipgre.c index 74dbb9d..3927ab4 100644 --- a/lib/route/link/ipgre.c +++ b/lib/route/link/ipgre.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include diff --git a/lib/route/link/sit.c b/lib/route/link/sit.c index 694c177..0fc1ecd 100644 --- a/lib/route/link/sit.c +++ b/lib/route/link/sit.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include diff --git a/lib/socket.c b/lib/socket.c index 5f61b38..3a41caa 100644 --- a/lib/socket.c +++ b/lib/socket.c @@ -190,7 +190,7 @@ static struct nl_sock *__alloc_socket(struct nl_cb *cb) sk->s_cb = nl_cb_get(cb); sk->s_local.nl_family = AF_NETLINK; sk->s_peer.nl_family = AF_NETLINK; - sk->s_seq_expect = sk->s_seq_next = time(0); + sk->s_seq_expect = sk->s_seq_next = time(NULL); /* the port is 0 (unspecified), meaning NL_OWN_PORT */ sk->s_flags = NL_OWN_PORT;