From 91774e47e23c83aa3df901adc167ab4592f87a22 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Tue, 6 Sep 2011 09:45:27 +0200 Subject: pingu_iface: bind to address instead of oif Seems like ip rule does not work with source address unless we bind to address --- sockaddr_util.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'sockaddr_util.c') 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; +} -- cgit v1.2.3