diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2011-09-06 09:45:27 +0200 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2011-09-06 09:45:27 +0200 |
commit | 91774e47e23c83aa3df901adc167ab4592f87a22 (patch) | |
tree | f2a4640454224881b6107923a808c9c5e0274dc2 /sockaddr_util.c | |
parent | 57abc32e14ac85edf71203013e73abccbd1b922b (diff) | |
download | pingu-91774e47e23c83aa3df901adc167ab4592f87a22.tar.bz2 pingu-91774e47e23c83aa3df901adc167ab4592f87a22.tar.xz |
pingu_iface: bind to address instead of oif
Seems like ip rule does not work with source address unless we
bind to address
Diffstat (limited to 'sockaddr_util.c')
-rw-r--r-- | sockaddr_util.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/sockaddr_util.c b/sockaddr_util.c index a9e2755..57487c1 100644 --- a/sockaddr_util.c +++ b/sockaddr_util.c @@ -86,3 +86,17 @@ char *sockaddr_to_string(union sockaddr_any *sa, char *str, size_t size) } return str; } + +socklen_t sockaddr_len(union sockaddr_any *sa) +{ + socklen_t len = 0; + switch (sa->sa.sa_family) { + case AF_INET: + len = sizeof(sa->sin); + break; + case AF_INET6: + len = sizeof(sa->sin6); + break; + } + return len; +} |