+/*
+ * netifd - network interface daemon
+ * Copyright (C) 2012 Felix Fietkau <nbd@openwrt.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2
+ * as published by the Free Software Foundation
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
if (!bm->present)
return;
- bm->present = false;
- bm->bst->n_present--;
if (bst->dev.active)
bridge_disable_member(bm);
+ bm->present = false;
+ bm->bst->n_present--;
+
bst->force_active = false;
if (bst->n_present == 0)
device_set_present(&bst->dev, false);
{
struct bridge_state *bst;
- device_cleanup(dev);
bst = container_of(dev, struct bridge_state, dev);
vlist_flush_all(&bst->members);
free(bst);
struct blob_attr *cur;
/* defaults */
- cfg->stp = true;
- cfg->forward_delay = 1;
+ cfg->stp = false;
+ cfg->forward_delay = 2;
cfg->igmp_snoop = true;
if ((cur = tb[BRIDGE_ATTR_STP]))