8de9805224
Currently if anything goes wrong while we're configuring the namespace network with --config-net, we'll just ignore it and carry on. This might lead to a silently unconfigured or misconfigured namespace environment. For simple "set" operations based on nl_do() we can now detect failures reported via netlink. Propagate those errors up to pasta_ns_conf() and report them usefully. 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>
28 lines
1 KiB
C
28 lines
1 KiB
C
/* SPDX-License-Identifier: GPL-2.0-or-later
|
|
* Copyright (c) 2021 Red Hat GmbH
|
|
* Author: Stefano Brivio <sbrivio@redhat.com>
|
|
*/
|
|
|
|
#ifndef NETLINK_H
|
|
#define NETLINK_H
|
|
|
|
extern int nl_sock;
|
|
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_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_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_set_mac(int s, unsigned int ifi, void *mac);
|
|
int nl_link_up(int s, unsigned int ifi, int mtu);
|
|
|
|
#endif /* NETLINK_H */
|