mirror of
https://passt.top/passt
synced 2025-06-19 13:35:34 +02:00
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:
parent
dcd3605d14
commit
675174d4ba
11 changed files with 703 additions and 609 deletions
9
util.h
9
util.h
|
@ -39,6 +39,12 @@ void debug(const char *format, ...);
|
|||
#define V6 1
|
||||
#define IP_VERSIONS 2
|
||||
|
||||
enum {
|
||||
IP_VERSION_DISABLED = 0,
|
||||
IP_VERSION_ENABLED,
|
||||
IP_VERSION_PROBE,
|
||||
};
|
||||
|
||||
#define ARRAY_SIZE(a) ((int)(sizeof(a) / sizeof((a)[0])))
|
||||
|
||||
#define IN_INTERVAL(a, b, x) ((x) >= (a) && (x) <= (b))
|
||||
|
@ -48,6 +54,9 @@ void debug(const char *format, ...);
|
|||
#define PORT_EPHEMERAL_MIN ((1 << 15) + (1 << 14)) /* RFC 6335 */
|
||||
#define PORT_IS_EPHEMERAL(port) ((port) >= PORT_EPHEMERAL_MIN)
|
||||
|
||||
#define MAC_ZERO ((uint8_t [ETH_ALEN]){ 0 })
|
||||
#define MAC_IS_ZERO(addr) (!memcmp((addr), MAC_ZERO, ETH_ALEN))
|
||||
|
||||
#define NS_FN_STACK_SIZE (RLIMIT_STACK_VAL * 1024 / 4)
|
||||
#define NS_CALL(fn, arg) \
|
||||
do { \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue