VLAN: Decrease bridge forwarding delay to avoid EAPOL timeouts

This commit is contained in:
M. Braun 2010-04-16 00:48:32 +03:00 committed by Jouni Malinen
parent 0ab7a701ab
commit 20e2cb0ae0

View file

@ -244,7 +244,8 @@ static int br_delbr(const char *br_name)
static int br_addbr(const char *br_name)
{
int fd;
unsigned long arg[2];
unsigned long arg[4];
struct ifreq ifr;
wpa_printf(MSG_DEBUG, "VLAN: br_addbr(%s)", br_name);
if ((fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
@ -270,6 +271,21 @@ static int br_addbr(const char *br_name)
}
}
/* Decrease forwarding delay to avoid EAPOL timeouts. */
os_memset(&ifr, 0, sizeof(ifr));
os_strlcpy(ifr.ifr_name, br_name, IFNAMSIZ);
arg[0] = BRCTL_SET_BRIDGE_FORWARD_DELAY;
arg[1] = 1;
arg[2] = 0;
arg[3] = 0;
ifr.ifr_data = (char *) &arg;
if (ioctl(fd, SIOCDEVPRIVATE, &ifr) < 0) {
wpa_printf(MSG_ERROR, "VLAN: %s: "
"BRCTL_SET_BRIDGE_FORWARD_DELAY (1 sec) failed for "
"%s: %s", __func__, br_name, strerror(errno));
/* Continue anyway */
}
close(fd);
return 0;
}