aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstrongswan/networking/tun_device.c
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2013-02-14 17:11:35 +0100
committerMartin Willi <martin@revosec.ch>2013-02-14 17:11:35 +0100
commite212033ef2012ff9be098ce2a9ee0da39c662c31 (patch)
tree2d421ad964fa2516a5efa452db5c04070f78f1ea /src/libstrongswan/networking/tun_device.c
parent285668b6e34a40173b5ae2563ebe440f3ae2e969 (diff)
parent88f4cd398825aa5c95e0d4ef839f0699f4901175 (diff)
downloadstrongswan-e212033ef2012ff9be098ce2a9ee0da39c662c31.tar.bz2
strongswan-e212033ef2012ff9be098ce2a9ee0da39c662c31.tar.xz
Merge branch 'ike-dscp'
Diffstat (limited to 'src/libstrongswan/networking/tun_device.c')
-rw-r--r--src/libstrongswan/networking/tun_device.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libstrongswan/networking/tun_device.c b/src/libstrongswan/networking/tun_device.c
index d07327e5c..1da87df05 100644
--- a/src/libstrongswan/networking/tun_device.c
+++ b/src/libstrongswan/networking/tun_device.c
@@ -88,7 +88,6 @@ static void set_netmask(struct ifreq *ifr, int family, u_int8_t netmask)
case AF_INET:
{
struct sockaddr_in *addr = (struct sockaddr_in*)&ifr->ifr_addr;
- addr->sin_family = AF_INET;
target = (char*)&addr->sin_addr;
len = 4;
break;
@@ -96,7 +95,6 @@ static void set_netmask(struct ifreq *ifr, int family, u_int8_t netmask)
case AF_INET6:
{
struct sockaddr_in6 *addr = (struct sockaddr_in6*)&ifr->ifr_addr;
- addr->sin6_family = AF_INET6;
target = (char*)&addr->sin6_addr;
len = 16;
break;
@@ -105,6 +103,8 @@ static void set_netmask(struct ifreq *ifr, int family, u_int8_t netmask)
return;
}
+ ifr->ifr_addr.sa_family = family;
+
bytes = (netmask + 7) / 8;
bits = (bytes * 8) - netmask;