• Johannes Berg's avatar
    mac80211: cooperate more with network namespaces · 5061b0c2
    Johannes Berg authored
    There are still two places in mac80211 that hardcode
    the initial net namespace (init_net). One of them is
    mandated by cfg80211 and will be removed by a separate
    patch, the other one is used for finding the network
    device of a pending packet via its ifindex.
    Remove the latter use by keeping track of the device
    pointer itself, via the vif pointer, and avoid it
    going stale by dropping pending frames for a given
    interface when the interface is removed.
    To keep track of the vif pointer for the correct
    interface, change the info->control.vif pointer's
    internal use to always be the correct vif, and only
    move it to the vif the driver expects (or NULL for
    monitor interfaces and injected packets) right before
    giving the packet to the driver.
    Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
iface.c 25.8 KB