示例#1
0
int
ieee80211_vap_attach(struct ieee80211vap *vap)
{
    int ret;

    IEEE80211_ADD_VAP_TARGET(vap);

    /*
     * XXX: It looks like we always need a bss node around
     * for transmit before association (e.g., probe request
     * in scan operation). When we actually join a BSS, we'll
     * create a new node and free the old one.
     */
    ret = ieee80211_node_latevattach(vap);

    if (ret == 0) {
        IEEE80211_UPDATE_TARGET_IC(vap->iv_bss);
    }

    /*
     * If IQUE is NOT enabled at compiling, ieee80211_me_attach attaches
     * the empty op table to vap->iv_me_ops;
     * If IQUE is enabled, the initialization is done by the following 
     * function, and the op table is correctly attached.
     */
    if(ret == 0){
        ieee80211_ique_attach(ret,vap);
    }
    if(ret == 0)
    {
        ieee80211_nawds_attach(vap);
        ieee80211_aow_ie_attach(vap);
        vap->iv_vap_ath_info_handle = ieee80211_vap_ath_info_attach(vap);
        ieee80211_quiet_vattach(vap);
    }
    return ret;
}
示例#2
0
int
ieee80211_vap_attach(struct ieee80211vap *vap)
{
    int ret;

    IEEE80211_ADD_VAP_TARGET(vap);

    /*
     * XXX: It looks like we always need a bss node around
     * for transmit before association (e.g., probe request
     * in scan operation). When we actually join a BSS, we'll
     * create a new node and free the old one.
     */
    ret = ieee80211_node_latevattach(vap);

    if (ret == 0) {
        IEEE80211_UPDATE_TARGET_IC(vap->iv_bss);
    }

    /*
     * If IQUE is NOT enabled at compiling, ieee80211_me_attach attaches
     * the empty op table to vap->iv_me_ops;
     * If IQUE is enabled, the initialization is done by the following
     * function, and the op table is correctly attached.
     */
    ieee80211_ique_attach(vap);
    ieee80211_nawds_attach(vap);

    vap->iv_vap_ath_info_handle = ieee80211_vap_ath_info_attach(vap);

    /*ljy--add begin for ac roaming eap at splitmac on 2013-1-15*/
    vap->iv_eap = 0;
    /*ljy--add end*/

    /*zhaoyang1 transplant from 717*/
#if 0
    /*Begin:Added by duanmingzhe for traffic limit*/
    vap_setup_timer(vap);
    /*End:Added by duanmingzhe for traffic limit*/
#endif
    /*Begin:Added by duanmingzhe for auto-transmit*/
    vap->iv_transmit_switch = 0;
    vap->iv_transmit_rate = 300000;
    /*End:Added by duanmingzhe for auto-transmit*/

    /*pengruofeng--add begin to develop the policy of mac binding 2011-5-31*/
    vap->vap_dhcp_enable = 0;
    vap->vap_ip_auto_learning = 0;
    vap->vap_pppoe_enable = 0;
    /*pengruofeng --add end 2011-5-31*/

    /*pengruofeng--add begin for user isolation 2011-5-31*/
    vap->iv_switch = 0;
    /*pengruofeng--add end 2011-5-31*/

    /*pengruofeng add for spoofing attack of data frame 2011-5-31*/
    vap->iv_seq_detect_num = 5;
    /*pengruofeng -- add end 2011-5-31*/
    /*zhaoyang1 transplant end*/

    /* add by [email protected]. Control the sending freq of deauth frames, 2013-12-12 */
    vap->iv_deauth_timestamp = 0;
    vap->iv_deauth_send_interval = HZ;  /* 1 second as default */
    /* add by [email protected] end */

    return ret;
}