diff --git a/hostapd/config.c b/hostapd/config.c index 94d3bae8d..977309981 100644 --- a/hostapd/config.c +++ b/hostapd/config.c @@ -251,7 +251,6 @@ struct hostapd_config * hostapd_config_defaults(void) conf->rts_threshold = -1; /* use driver default: 2347 */ conf->fragm_threshold = -1; /* user driver default: 2346 */ conf->send_probe_response = 1; - conf->bridge_packets = INTERNAL_BRIDGE_DO_NOT_CONTROL; for (i = 0; i < NUM_TX_QUEUES; i++) conf->tx_queue[i].aifs = -1; /* use hw default */ @@ -2031,8 +2030,6 @@ struct hostapd_config * hostapd_config_read(const char *fname) conf->preamble = LONG_PREAMBLE; } else if (os_strcmp(buf, "ignore_broadcast_ssid") == 0) { bss->ignore_broadcast_ssid = atoi(pos); - } else if (os_strcmp(buf, "bridge_packets") == 0) { - conf->bridge_packets = atoi(pos); } else if (os_strcmp(buf, "wep_default_key") == 0) { bss->ssid.wep.idx = atoi(pos); if (bss->ssid.wep.idx > 3) { diff --git a/hostapd/config.h b/hostapd/config.h index ae3da9790..5202645b5 100644 --- a/hostapd/config.h +++ b/hostapd/config.h @@ -360,12 +360,6 @@ struct hostapd_config { */ struct hostapd_wmm_ac_params wmm_ac_params[4]; - enum { - INTERNAL_BRIDGE_DO_NOT_CONTROL = -1, - INTERNAL_BRIDGE_DISABLED = 0, - INTERNAL_BRIDGE_ENABLED = 1 - } bridge_packets; - int ht_op_mode_fixed; u16 ht_capab; int ieee80211n; diff --git a/hostapd/driver_i.h b/hostapd/driver_i.h index e6e340020..77ad1242e 100644 --- a/hostapd/driver_i.h +++ b/hostapd/driver_i.h @@ -329,14 +329,6 @@ hostapd_set_beacon(const char *ifname, struct hostapd_data *hapd, dtim_period, beacon_int); } -static inline int -hostapd_set_internal_bridge(struct hostapd_data *hapd, int value) -{ - if (hapd->driver == NULL || hapd->driver->set_internal_bridge == NULL) - return 0; - return hapd->driver->set_internal_bridge(hapd->drv_priv, value); -} - static inline int hostapd_set_cts_protect(struct hostapd_data *hapd, int value) { diff --git a/hostapd/hostapd.c b/hostapd/hostapd.c index fc7a5ff1d..6b69a2b9d 100644 --- a/hostapd/hostapd.c +++ b/hostapd/hostapd.c @@ -1246,13 +1246,6 @@ static int setup_interface(struct hostapd_iface *iface) } } - if (hapd->iconf->bridge_packets != INTERNAL_BRIDGE_DO_NOT_CONTROL && - hostapd_set_internal_bridge(hapd, hapd->iconf->bridge_packets)) { - wpa_printf(MSG_ERROR, "Failed to set bridge_packets for " - "kernel driver"); - return -1; - } - if (hostapd_get_hw_features(iface)) { /* Not all drivers support this yet, so continue without hw * feature data. */ diff --git a/hostapd/hostapd.conf b/hostapd/hostapd.conf index aeaad2e7e..66e31c982 100644 --- a/hostapd/hostapd.conf +++ b/hostapd/hostapd.conf @@ -342,30 +342,6 @@ wmm_ac_vo_acm=0 # default: 300 (i.e., 5 minutes) #ap_max_inactivity=300 -# Enable/disable internal bridge for packets between associated stations. -# -# When IEEE 802.11 is used in managed mode, packets are usually send through -# the AP even if they are from a wireless station to another wireless station. -# This functionality requires that the AP has a bridge functionality that sends -# frames back to the same interface if their destination is another associated -# station. In addition, broadcast/multicast frames from wireless stations will -# be sent both to the host system net stack (e.g., to eventually wired network) -# and back to the wireless interface. -# -# The internal bridge is implemented within the wireless kernel module and it -# bypasses kernel filtering (netfilter/iptables/ebtables). If direct -# communication between the stations needs to be prevented, the internal -# bridge can be disabled by setting bridge_packets=0. -# -# Note: If this variable is not included in hostapd.conf, hostapd does not -# change the configuration and iwpriv can be used to set the value with -# 'iwpriv wlan# param 10 0' command. If the variable is in hostapd.conf, -# hostapd will override possible iwpriv configuration whenever configuration -# file is reloaded. -# -# default: do not control from hostapd (80211.o defaults to 1=enabled) -#bridge_packets=1 - # Maximum allowed Listen Interval (how many Beacon periods STAs are allowed to # remain asleep). Default: 65535 (no limit apart from field size) #max_listen_interval=100 diff --git a/src/drivers/driver.h b/src/drivers/driver.h index 8678750a9..1bb55956a 100644 --- a/src/drivers/driver.h +++ b/src/drivers/driver.h @@ -1111,12 +1111,6 @@ struct wpa_driver_ops { int (*set_rate_sets)(void *priv, int *supp_rates, int *basic_rates, int mode); - /* Configure internal bridge: - * 0 = disabled, i.e., client separation is enabled (no bridging of - * packets between associated STAs - * 1 = enabled, i.e., bridge packets between associated STAs (default) - */ - int (*set_internal_bridge)(void *priv, int value); int (*set_cts_protect)(void *priv, int value); int (*set_preamble)(void *priv, int value); int (*set_short_slot_time)(void *priv, int value); diff --git a/src/drivers/driver_ndis.c b/src/drivers/driver_ndis.c index f8663bc99..1c71d7830 100644 --- a/src/drivers/driver_ndis.c +++ b/src/drivers/driver_ndis.c @@ -3230,7 +3230,6 @@ const struct wpa_driver_ops wpa_driver_ndis_ops = { NULL /* set_frag */, NULL /* sta_set_flags */, NULL /* set_rate_sets */, - NULL /* set_internal_bridge */, NULL /* set_cts_protect */, NULL /* set_preamble */, NULL /* set_short_slot_time */,