diff options
author | Lennart Poettering <lennart@poettering.net> | 2019-03-18 11:58:11 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2019-03-18 12:02:32 +0100 |
commit | 5d594d012da06bec9b22cac41ecea7ee77aa972b (patch) | |
tree | 8b5fedea80dfe490003e4d0592ddf9f97857727f /src/basic/socket-util.h | |
parent | ef57c69b787e8efc0d451d0e3f8c6d3b41c67a21 (diff) | |
download | systemd-5d594d012da06bec9b22cac41ecea7ee77aa972b.tar.gz |
socket-util: add wrappers for binding socket to ifindex/ifname
socket_bind_to_ifindex() uses the the SO_BINDTOIFINDEX sockopt of kernel
5.0, with a fallback to SO_BINDTODEVICE on older kernels.
socket_bind_to_ifname() is a trivial wrapper around SO_BINDTODEVICE, the
only benefit of using it instead of SO_BINDTODEVICE directly is that it
determines the size of the interface name properly so that it also works
for unbinding. Moreover, it's an attempt to unify our invocations of the
sockopt with a size of strlen(ifname) rather than strlen(ifname)+1...
Diffstat (limited to 'src/basic/socket-util.h')
-rw-r--r-- | src/basic/socket-util.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/basic/socket-util.h b/src/basic/socket-util.h index 574d2b73f5..6920fd99ba 100644 --- a/src/basic/socket-util.h +++ b/src/basic/socket-util.h @@ -198,3 +198,6 @@ static inline int setsockopt_int(int fd, int level, int optname, int value) { return 0; } + +int socket_bind_to_ifname(int fd, const char *ifname); +int socket_bind_to_ifindex(int fd, int ifindex); |