aboutgitcodebugslistschat
path: root/netlink.h
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2023-08-03 17:19:56 +1000
committerStefano Brivio <sbrivio@redhat.com>2023-08-04 01:32:32 +0200
commit02b30e7871410e54d1adfa7deb4943493d0a020e (patch)
tree4ead400a8376b8ea20c46f1d74249e44c40d19c9 /netlink.h
parent5103811e2df397c2f3165ac065e1e92cfa4eae31 (diff)
downloadpasst-02b30e7871410e54d1adfa7deb4943493d0a020e.tar
passt-02b30e7871410e54d1adfa7deb4943493d0a020e.tar.gz
passt-02b30e7871410e54d1adfa7deb4943493d0a020e.tar.bz2
passt-02b30e7871410e54d1adfa7deb4943493d0a020e.tar.lz
passt-02b30e7871410e54d1adfa7deb4943493d0a020e.tar.xz
passt-02b30e7871410e54d1adfa7deb4943493d0a020e.tar.zst
passt-02b30e7871410e54d1adfa7deb4943493d0a020e.zip
netlink: Propagate errors for "dup" operations
We now detect errors on netlink "set" operations while configuring the pasta namespace with --config-net. However in many cases rather than a simple "set" we use a more complex "dup" function to copy configuration from the host to the namespace. We're not yet properly detecting and reporting netlink errors for that case. Change the "dup" operations to propagate netlink errors to their caller, pasta_ns_conf() and report them there. Link: https://bugs.passt.top/show_bug.cgi?id=60 Signed-off-by: David Gibson <david@gibson.dropbear.id.au> [sbrivio: Minor formatting changes in pasta_ns_conf()] 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 b831405..9f4f8f4 100644
--- a/netlink.h
+++ b/netlink.h
@@ -13,14 +13,14 @@ void nl_sock_init(const struct ctx *c, bool ns);
unsigned int nl_get_ext_if(int s, sa_family_t af);
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);
+int nl_route_dup(int s_src, unsigned int ifi_src,
+ int s_dst, unsigned int ifi_dst, sa_family_t af);
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);
+int nl_addr_dup(int s_src, unsigned int ifi_src,
+ int s_dst, unsigned int ifi_dst, sa_family_t af);
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);