aboutgitcodebugslistschat
path: root/netlink.h
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2023-08-03 17:19:55 +1000
committerStefano Brivio <sbrivio@redhat.com>2023-08-04 01:30:41 +0200
commit5103811e2df397c2f3165ac065e1e92cfa4eae31 (patch)
treec51c1be5b2c94e4d4eaf8575873e4601c2bcdd6b /netlink.h
parent4d6e9d0816e2b28da1ed87b2d3d6bac40433dde4 (diff)
downloadpasst-5103811e2df397c2f3165ac065e1e92cfa4eae31.tar
passt-5103811e2df397c2f3165ac065e1e92cfa4eae31.tar.gz
passt-5103811e2df397c2f3165ac065e1e92cfa4eae31.tar.bz2
passt-5103811e2df397c2f3165ac065e1e92cfa4eae31.tar.lz
passt-5103811e2df397c2f3165ac065e1e92cfa4eae31.tar.xz
passt-5103811e2df397c2f3165ac065e1e92cfa4eae31.tar.zst
passt-5103811e2df397c2f3165ac065e1e92cfa4eae31.zip
netlink: Propagate errors for "dump" operations
Currently if we receive any netlink errors while discovering network configuration from the host, we'll just ignore it and carry on. This might lead to cryptic error messages later on, or even silent misconfiguration. We now have the mechanisms to detect errors from get/dump netlink operations. Propgate these errors up to the callers and report them usefully. Link: https://bugs.passt.top/show_bug.cgi?id=60 Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'netlink.h')
-rw-r--r--netlink.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/netlink.h b/netlink.h
index 977244b..b831405 100644
--- a/netlink.h
+++ b/netlink.h
@@ -11,17 +11,17 @@ extern int nl_sock_ns;
void nl_sock_init(const struct ctx *c, bool ns);
unsigned int nl_get_ext_if(int s, sa_family_t af);
-void nl_route_get_def(int s, unsigned int ifi, sa_family_t af, void *gw);
+int nl_route_get_def(int s, unsigned int ifi, sa_family_t af, void *gw);
int nl_route_set_def(int s, unsigned int ifi, sa_family_t af, void *gw);
void nl_route_dup(int s_src, unsigned int ifi_src,
int s_dst, unsigned int ifi_dst, sa_family_t af);
-void nl_addr_get(int s, unsigned int ifi, sa_family_t af,
- void *addr, int *prefix_len, void *addr_l);
+int nl_addr_get(int s, unsigned int ifi, sa_family_t af,
+ void *addr, int *prefix_len, void *addr_l);
int nl_addr_set(int s, unsigned int ifi, sa_family_t af,
void *addr, int prefix_len);
void nl_addr_dup(int s_src, unsigned int ifi_src,
int s_dst, unsigned int ifi_dst, sa_family_t af);
-void nl_link_get_mac(int s, unsigned int ifi, void *mac);
+int nl_link_get_mac(int s, unsigned int ifi, void *mac);
int nl_link_set_mac(int s, unsigned int ifi, void *mac);
int nl_link_up(int s, unsigned int ifi, int mtu);