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; }
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; }