conf, tap: Split netlink and pasta functions, allow interface configuration

Move netlink routines to their own file, and use netlink to configure
or fetch all the information we need, except for the TUNSETIFF ioctl.

Move pasta-specific functions to their own file as well, add
parameters and calls to configure the tap interface in the namespace.

Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
This commit is contained in:
Stefano Brivio
2021-10-11 12:01:31 +02:00
parent dcd3605d14
commit 675174d4ba
11 changed files with 703 additions and 609 deletions

6
netlink.h Normal file
View File

@@ -0,0 +1,6 @@
int nl_sock_init(struct ctx *c);
unsigned int nl_get_ext_if(int *v4, int *v6);
void nl_route(int ns, unsigned int ifi, sa_family_t af, void *gw);
void nl_addr(int ns, unsigned int ifi, sa_family_t af,
void *addr, int prefix_len, void *addr_l);
void nl_link(int ns, unsigned int ifi, void *mac, int up);