]> git.proxmox.com Git - mirror_iproute2.git/blobdiff - include/libnetlink.h
Merge branch 'master' into next
[mirror_iproute2.git] / include / libnetlink.h
index dc0c9c4eb3f5218c33263dbd1bb1962125c1b533..311cf3fc90f883f47c7d65b15faabb1ca0ed6451 100644 (file)
@@ -23,6 +23,7 @@ struct rtnl_handle {
        FILE                   *dump_fp;
 #define RTNL_HANDLE_F_LISTEN_ALL_NSID          0x01
 #define RTNL_HANDLE_F_SUPPRESS_NLERR           0x02
+#define RTNL_HANDLE_F_STRICT_CHK               0x04
        int                     flags;
 };
 
@@ -44,7 +45,8 @@ int rtnl_open(struct rtnl_handle *rth, unsigned int subscriptions)
 int rtnl_open_byproto(struct rtnl_handle *rth, unsigned int subscriptions,
                             int protocol)
        __attribute__((warn_unused_result));
-
+int rtnl_add_nl_group(struct rtnl_handle *rth, unsigned int group)
+       __attribute__((warn_unused_result));
 void rtnl_close(struct rtnl_handle *rth);
 void rtnl_set_strict_dump(struct rtnl_handle *rth);
 
@@ -60,7 +62,8 @@ int rtnl_routedump_req(struct rtnl_handle *rth, int family,
        __attribute__((warn_unused_result));
 int rtnl_ruledump_req(struct rtnl_handle *rth, int family)
        __attribute__((warn_unused_result));
-int rtnl_neighdump_req(struct rtnl_handle *rth, int family)
+int rtnl_neighdump_req(struct rtnl_handle *rth, int family,
+                      req_filter_fn_t filter_fn)
        __attribute__((warn_unused_result));
 int rtnl_neightbldump_req(struct rtnl_handle *rth, int family)
        __attribute__((warn_unused_result));
@@ -79,6 +82,9 @@ int rtnl_linkdump_req_filter(struct rtnl_handle *rth, int fam, __u32 filt_mask)
 int rtnl_linkdump_req_filter_fn(struct rtnl_handle *rth, int fam,
                                req_filter_fn_t fn)
        __attribute__((warn_unused_result));
+int rtnl_fdb_linkdump_req_filter_fn(struct rtnl_handle *rth,
+                                   req_filter_fn_t filter_fn)
+       __attribute__((warn_unused_result));
 int rtnl_statsdump_req_filter(struct rtnl_handle *rth, int fam, __u32 filt_mask)
        __attribute__((warn_unused_result));
 int rtnl_dump_request(struct rtnl_handle *rth, int type, void *req,
@@ -87,6 +93,10 @@ int rtnl_dump_request(struct rtnl_handle *rth, int type, void *req,
 int rtnl_dump_request_n(struct rtnl_handle *rth, struct nlmsghdr *n)
        __attribute__((warn_unused_result));
 
+int rtnl_nexthopdump_req(struct rtnl_handle *rth, int family,
+                        req_filter_fn_t filter_fn)
+       __attribute__((warn_unused_result));
+
 struct rtnl_ctrl_data {
        int     nsid;
 };
@@ -124,6 +134,7 @@ int rtnl_send(struct rtnl_handle *rth, const void *buf, int)
 int rtnl_send_check(struct rtnl_handle *rth, const void *buf, int)
        __attribute__((warn_unused_result));
 int nl_dump_ext_ack(const struct nlmsghdr *nlh, nl_ext_ack_fn_t errfn);
+int nl_dump_ext_ack_done(const struct nlmsghdr *nlh, int error);
 
 int addattr(struct nlmsghdr *n, int maxlen, int type);
 int addattr8(struct nlmsghdr *n, int maxlen, int type, __u8 data);