[PATCH 0/3] Fast Session Transfer (FST)
Anton Nayshtut
Anton.Nayshtut
Tue Feb 25 01:22:55 PST 2014
Hi all,
Please note, Ubuntu (at least 12.04) provides an outdated version of
libnetlink (libnetlink.h matches the commit
b49240ec7eab91418d2f090536bf8cd2205988d6 - a revision committed at
02-Dec-2009).
Thus to compile the FST patches on Ubuntu, one should use the libnetlink
compiled from the iproute2 sources. See
http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2 for
more info.
Best Regards,
Anton
On 2/17/2014 4:43 PM, Anton Nayshtut wrote:
> From: Anton Nayshtut <Anton.Nayshtut at wilocity.com>
>
> This set of patches introduces Fast Session Transfer (FST) support by both
> hostapd and wpa_supplicant.
>
> Fast Session Transfer (FST) is the transfer of a session from a channel to
> another channel, in the same or different frequency bands. The term "session"
> refers to non-physical layer state information kept by a pair of stations (STAs)
> that communicate directly (i.e., excludes forwarding).
>
> The FST is implemented in accordance with WGA Specification.
>
> Definitions
>
> * FST interface - an interface for which FST functionality is enabled
> * FST peer - a Multi-band capable STA connected
>
> Configuration and Initialization
>
> * FST functionality can enabled by compilation flag (CONFIG_FST)
> * hostapd/wpa_supplicant controlling multiple interfaces are used for FST
> * once enabled by compilation, the FST can be enabled for specific interfaces
> in configuration files
> * one of the FST interfaces must be set as an FST default interface
> * the FST default interface is the interface FST will always try to switch from
> Thus, for example, for the maximal throughput, it should be the slowest FST
> interface in the FST setup.
> * FST interfaces advertise the Multi-band capability by including the
> Multi-band element in the corresponding frames
>
> Single-band connection
>
> * When 1st FST interface becomes connected to a FST Peer, the FST sets it as the
> active FST interface for this FST Peer, i.e. the FST interface is used for data
> transmission to this FST peer.
>
> Session Establishment
>
> * FST tries to establish FST Session wheb=n either:
> - Multi-band connection becomes available available, i.e. when more than one
> FST interfaces are connected to the same FST peer
> - successful session transition ends
> - non-active FST interface for which already established FST Session becomes
> disconnected
> * Following LLT values are used in FST Session establishment:
> - LLT=0 if current active FST interface is the FST default interface
> - LLT=MAX_U8 otherwise
>
> Session Transfer
>
> * FST tries to perform the FST Session transfer when either:
> - FST Session becomes established with LLT=0 (according to 10.32.2.2
> Transitioning between states)
> - active FST interface becomes disconnected (i.e. when LTT virtually becomes
> 0)
> * Upon successful session transfer, FST sets the target FST interface as the new
> active FST interface for this FST Peer.
>
> Session Reset
>
> * FST resets the FST Session when either:
> - STT becomes 0 (in accordance with 10.32.2.2 Transitioning between states)
> - only active FST interface stays connected
>
> Anton Nayshtut (3):
> Transparent FST: fst module introduced
> Transparent FST: hostapd integration
> Transparent FST: wpa_supplicant integration
>
> hostapd/Makefile | 8 +
> hostapd/config_file.c | 17 +
> hostapd/defconfig | 3 +
> hostapd/hostapd.conf | 20 +
> hostapd/main.c | 25 +-
> src/Makefile | 2 +-
> src/ap/ap_config.h | 5 +
> src/ap/ap_drv_ops.c | 15 +
> src/ap/beacon.c | 28 +-
> src/ap/drv_callbacks.c | 27 +
> src/ap/hostapd.c | 56 +-
> src/ap/hostapd.h | 4 +
> src/ap/ieee802_11.c | 28 +-
> src/ap/sta_info.c | 15 +
> src/ap/sta_info.h | 3 +
> src/ap/utils.c | 12 +-
> src/common/ieee802_11_common.c | 34 +
> src/common/ieee802_11_common.h | 15 +
> src/common/ieee802_11_defs.h | 65 ++
> src/drivers/driver_nl80211.c | 11 +
> src/fst/Makefile | 8 +
> src/fst/fst.c | 1457 ++++++++++++++++++++++++++++++++++++
> src/fst/fst.h | 48 ++
> src/fst/fst_defs.h | 91 +++
> src/fst/fst_drv.c | 442 +++++++++++
> src/fst/fst_drv.h | 24 +
> src/fst/fst_rtnl.c | 284 +++++++
> src/fst/fst_rtnl.h | 25 +
> wpa_supplicant/Makefile | 8 +
> wpa_supplicant/config.c | 7 +
> wpa_supplicant/config.h | 5 +
> wpa_supplicant/defconfig | 3 +
> wpa_supplicant/events.c | 48 +-
> wpa_supplicant/main.c | 16 +
> wpa_supplicant/notify.c | 13 +
> wpa_supplicant/scan.c | 7 +
> wpa_supplicant/sme.c | 14 +
> wpa_supplicant/wpa_supplicant.c | 91 +++
> wpa_supplicant/wpa_supplicant.conf | 20 +
> wpa_supplicant/wpa_supplicant_i.h | 6 +
> 40 files changed, 3003 insertions(+), 7 deletions(-)
> create mode 100644 src/fst/Makefile
> create mode 100644 src/fst/fst.c
> create mode 100644 src/fst/fst.h
> create mode 100644 src/fst/fst_defs.h
> create mode 100644 src/fst/fst_drv.c
> create mode 100644 src/fst/fst_drv.h
> create mode 100644 src/fst/fst_rtnl.c
> create mode 100644 src/fst/fst_rtnl.h
>
More information about the Hostap
mailing list