From 5bd9704dd0b47b0fc1e0de5a53e88c4fba82303e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Deronne?= Date: Sat, 13 Jan 2018 12:14:55 +0100 Subject: [PATCH] wifi: (fixes #2838) Fix rate selection for control frames when no rate available in the BSSBasicRateSet --- RELEASE_NOTES | 1 + .../hwmp-proactive-regression-test-0-1.pcap | Bin 7392 -> 7392 bytes .../hwmp-proactive-regression-test-1-1.pcap | Bin 11737 -> 11737 bytes .../hwmp-proactive-regression-test-2-1.pcap | Bin 13308 -> 13308 bytes .../hwmp-proactive-regression-test-3-1.pcap | Bin 11732 -> 11732 bytes .../hwmp-proactive-regression-test-4-1.pcap | Bin 7308 -> 7308 bytes .../hwmp-reactive-regression-test-0-1.pcap | Bin 14503 -> 14503 bytes .../hwmp-reactive-regression-test-1-1.pcap | Bin 21361 -> 21361 bytes .../hwmp-reactive-regression-test-2-1.pcap | Bin 20306 -> 20306 bytes .../hwmp-reactive-regression-test-3-1.pcap | Bin 22690 -> 22690 bytes .../hwmp-reactive-regression-test-4-1.pcap | Bin 22525 -> 22525 bytes .../hwmp-reactive-regression-test-5-1.pcap | Bin 15175 -> 15175 bytes .../hwmp-simplest-regression-test-0-1.pcap | Bin 77576 -> 77576 bytes .../hwmp-simplest-regression-test-1-1.pcap | Bin 80967 -> 80967 bytes ...hwmp-target-flags-regression-test-0-1.pcap | Bin 10400 -> 10400 bytes ...hwmp-target-flags-regression-test-1-1.pcap | Bin 14987 -> 14987 bytes ...hwmp-target-flags-regression-test-2-1.pcap | Bin 13350 -> 13350 bytes ...hwmp-target-flags-regression-test-3-1.pcap | Bin 7135 -> 7135 bytes .../test/dot11s/pmp-regression-test-0-1.pcap | Bin 771 -> 771 bytes .../test/dot11s/pmp-regression-test-1-1.pcap | Bin 771 -> 771 bytes src/wifi/model/wifi-remote-station-manager.cc | 13 +++++++++---- 21 files changed, 10 insertions(+), 4 deletions(-) diff --git a/RELEASE_NOTES b/RELEASE_NOTES index 8d8214caa..883c2455a 100644 --- a/RELEASE_NOTES +++ b/RELEASE_NOTES @@ -40,6 +40,7 @@ Bugs fixed - Bug 2828 - OLSR simple P2P example produces wrong results - Bug 2827 - wifi: Active scanning not working with 802.11n/ac/ax - Bug 2836 - wifi: Missing VHT information in radiotap header when A-MPDU is used +- Bug 2838 - wifi: ht-wifi-network crashes with RTS/CTS enabled and frequency set to 2.4GHz - Bug 2843 - spectrum, wifi: Incorrect channel width and center frequency provided for non-HT PPDUs when building SpectralDensity - Bug 2848 - wifi: Association ID not correctly set upon association diff --git a/src/mesh/test/dot11s/hwmp-proactive-regression-test-0-1.pcap b/src/mesh/test/dot11s/hwmp-proactive-regression-test-0-1.pcap index 50dee3a8c3523eafd1ca38244dac82dbe99189cf..5559072a28ac1a7f9ff10eb058d112354935eb48 100644 GIT binary patch delta 190 zcmaE0`M`358zax;JVxb-Ss9Ex6E6n?dFqT1v0Nbg4r4lybYTLqH!&3gNfqV*AX&;B z3M5a1*)l93b`c9m{4kg;$vU5rXY)?h-Hbr0l>H7XP$q~MsA}^H-VaPb&P)Li=e+=! x^FSEHF%toE)Wt!ZTJbL|ATwn`C3%D-R17>4aw=FEvRz*=7O~`}7H2R30RYgdGxY!f delta 190 zcmaE0`M`358)MJpJVxb-Ss9Ey6E6n?dFqT1v0Nbg4r4lybYTLqH!&3gNfqV*AX&;B z3M5a1*)l93b`c9m{4kg;$vU60XY)?h-Hbr0l>H7XP$q~MsA}^H-VaPb&P)Li=e+=! x^FSEHF%toE)Wt!ZTJbL|ATwn`C3}P4aw=FEvRz*=7O~`}7H2R30RSHaK=l9s diff --git a/src/mesh/test/dot11s/hwmp-proactive-regression-test-1-1.pcap b/src/mesh/test/dot11s/hwmp-proactive-regression-test-1-1.pcap index 14cd646f45c2d2dcf557a98f4ced74f2d4203288..24d4adc6e52f9562e0489f9969ed2b1e5afcb3bd 100644 GIT binary patch delta 295 zcmcZ^eKUH(Y(}2R2bh&7?#}=+44H%{TQfQUSv8Dq5Q)jp7`?zU>0rLd>n% BO{D+; delta 295 zcmcZ^eKUH(Y{s6+2bh&7?#}=+44H%{TQfQUSv8Dq5Q)jp7`?zU>0rLd1X9;HMVWxq8}0y3pp>mBNWo+fx%s8&1{NS^ ymJ~?n1Bl%0CJh$)E)Np&RR9SsRsaiysDgx6fyhm2BJ4o6s4hq(8%!S5l>h)(=wYP* diff --git a/src/mesh/test/dot11s/hwmp-proactive-regression-test-2-1.pcap b/src/mesh/test/dot11s/hwmp-proactive-regression-test-2-1.pcap index 7c17640813bb5bdf44207e6536c7a1204748b17f..21b1ec529c7bb90f107b7ead3fc742c8eb2d68c3 100644 GIT binary patch delta 304 zcmey9{wICHQbwMM%iA@Au52K^GuT3b0 zbjpHMe*%%4J>A@Au52K^GuT3b0 zbjpHMe*%%4J>j!wwSR z20ssP>L}ma0 delta 272 zcmcZ-eIj!wwSR z20swEaSY`kK diff --git a/src/mesh/test/dot11s/hwmp-proactive-regression-test-4-1.pcap b/src/mesh/test/dot11s/hwmp-proactive-regression-test-4-1.pcap index b1c6b768694348f3acb33dcba1cb58934765428b..d018de8d79ecb06fb62ecc79c2a2d394ffc1095f 100644 GIT binary patch delta 178 zcmeCN?6I5>z{oQ((2z}Pb}(2=ocayz5)#BCWshCE|Bn41eEzcOY5$#^DDAi0vM6i5~@%S^Ur zHUYDMdM6)b4h53pEFg9U3y8fB%;skWu~S)r;+wazaxnp^gX}zvKV`8Ev+KHL?M;H{UqK+meq8rf)DuTaTp%k<#C=s;iUT{-1zAn^K z5jWYm(SYr;xUp{B2qH*?xbU~uLN_8^c+bpxZ*%$1z4zRAW|Hw_e6>sQFhkK3lhqu4 za9|F_qCRWDcDUBrUnNYvN*njG6`Sy+CDmk!-h!kfNvd5;KiF|=-EQ5|*t30@bYJ#3 zfAu_DY*sly0}her(A1Qjd2__hsHEMTLw;e+*+Z0e;$p_7vyU!pgAO?1BJ^Ocm~2b> zBdN`eq;dBY)wFwvs^LLuIKO&?^G;GUPxO`~ok|Mji|I`M5?x6Y=qylx9%zgcl0n7(d$lq;sQ$PJqh48r8`axRiZJ-d1Hm#THvRMs9V~-l#8JEUdgM&m?FPH5F zdr18cPEZ{yiBml<8Bsi`y3+SJvsy-iU6;L3&6Hyht@!RH@l*}*uI3_(M5rF(Q~ew) zj}5SN82wbg7~p%8TN}ZNM)a>tjx|jaC!0>F&WHI2u(R+i>Fx;r?zad$|03{oHiI{t V!4D?4N5N}R^lwdWiGf#Qfmg$8>~#PD delta 882 zcmX|-OGq106o#1?V`8i((MdD$QNqxI57g1bM3RkI3q}N=+kzCd4^Seg=w5K4XuMtY zK}FnT<3kx)DT>2ys!{`UE#cy72rn_ukFn`_DQ5x&KTil}W9+DVmQ}4Nrd)cy0cyf~J3q)^L(ho_hT}K^DdpebzvK{!wDCm2a3gH zUDA!Dgd0gy?hjOR?m?Z<=|WPZ9B+51Iy)=J9;l&0(43?LNq*Iu zA{n-~RlI$n;_X3yx7E#l_d6BB!>85{(z3My9~ud*hw6e^4Mk(u8r*r8#^S*NBCA)- zwt`7g|AX(Sj#j3qo>UGii`mAi5u916Cc%DHKTyrrU=V$_>n3qq2hml3T0kPy1ToVz z1dU*Z5Z{GXn&Fq`yNojdf zx|Wude5RSgqMm=W9sfyASXSapXLkhnCBQz1wKVS7Eh%iyK_<-OjG|Cu1I|N4UpP;i zKItMWc|w360_-iemaYi!5x|gKU6SyU*~r?dqxV52gXve`aJ~ryvLB<)c&OUii095BS5qblkx46zcs>tcG(Ugk2UsSEG zqdv21AA7(NH!S02WwxQo$=XwH8`@~fMt{q#emggce&;IC@3gG3{hG|Yl_(didlkFC zimend^ebv^Y7NAmYi$MEu1(~M3F`LCY`BoTEhK)woz_X!vwpe(?i;8QS1`tr*h{L8 zBO_IA^i->K|LlB?`BgRczQ$_G2yW&}dult(4>VERNSO<@FwX^a77gIYxj?_!;(*h| z{smGbC4zkvF_o`_G?lC=RLvqfiZAKpWxUf*W6!1#5q5*erO;i%XzyN~*#A%6Eu>xD zc7h_@T=j74t%t{x`e84Ta2OtWMB`gnb`kmA3@O$EX`*GTgUHJWq^efL!B#xYXB=x$ zB%O<{V4waN7G`5eQrm!!^ElH6MUInV9ErP-dMsg%nDHvXujumuTEq-DCB;mPCUNs$ zlKjbQtTP2Vox%&!+hKUI9b3HN(VvErOGBCG(U*bJmx1z_M|T!VPZr8U9-Rj}G)1l4 ZvNLw{%!OjAB$jIKybG(=6%ow)FxH}fW?i`#R~yZ5~N-rTo5B`r@$ zS5s2HkZz^0s1+V<$A6p?)+KSKvD*Ut5@4UrT$-@$mhx=QMkdT{52H|JgZ4v2U)WC? zKB*Ejc~XEM0_-g{m#zr#5kQw5SxI=wY;^5q!>Oq(O2!_SmrayqNlI5;TSw_^M%Gxu zLboimWT9qRvKV8Biv|gZb3oTeE zST0tFE%dZJ!mV{}LlOr|d)b(K2N|b58vEo%0Z@a-K?PGk zk&&p>dutWCe|Emk_^K*2Mz3sGEr^W7_ zWL`+J==`NY3p}>~xR{B`W&$2rJPNMQP1hGvqdXjp3cq-QS) zi((z4u}TU-TC(!cl1?GtlGZT3_VQDEcD|!iSPxZ20H;j5ACmc@w!xE3gSITfA9)0` zM|Y8h+|4bncmHRx4^v5|0w`w?)r!i3N^QyEsybyO5xRQJZAllQwvDy7v7bHEHRY$% zkNsv>6~q8F7!8p6Az;3h3dta;%^+1ZgZ=P3xQvJfTGi4vl0oXdi|j!!cU#pYaD^sN zn+ehVy$$h9JUolM9VT@vd>U`Qu=^Ta*^53Ra=%0*6yf!a2=CK~$oj{~Q%W}n_<-LA zXu#p<1&lP-t0-}QjMlgvBgfCNj1Nh8XvHcK0}^~00%SK*SO9CO^B51L3s$}nk@Sb@ zX*W_iO9f*T^_SVp4kYp8B;7LNdy3166QmF3su&wN%B~xDJr{-}`5(v=1#=rspDXyx z-y@4M%}c{LiWOwFqPc?xogzJPyhJ-JmdJ3kMCQX~!uQLBzZ*DHAv{+h{cEM#=k*0+ c`}1cfZi=q@oekzbHow89g)3t-<2&&C2iiCJQUCw| delta 977 zcmY*XO=uHQ5cZ|{A-l@jY?@@7*e*>ZrUx-7G!Y|>e@U7j5>gM|6k4rXwLfBo;9X3p zwgW;@5^A9b4;9>liXOZaJ@nEDA_yLeXc44BK~I7+yZaWqhvECanfJ}id)scZc9T6g z!x|80;khgQCU|KAa54iGjRZU~c^H1NBd9G7$@8Kej@gJz+Ds$(Y~u#84vuClv}z&Q z&a)RR^vpyGOt=O3YtNdkFFSbc3kx}%T&r4W(L!4mO1Z{ZLtA!@FfYn{?a*1g`P{x6bY-u4h)BI6k)X=!Ybx(kQzh+_`kd1BK0e^L zJ{oW^dyWLV*mo3S>T5B>b>Q_`8l%CBm~M(!Z9UFyR0I diff --git a/src/mesh/test/dot11s/hwmp-reactive-regression-test-3-1.pcap b/src/mesh/test/dot11s/hwmp-reactive-regression-test-3-1.pcap index 5f64a740614d64814de29559128c146382d14647..8b392a9492c263f4d60561617b6a24ec4e83ea38 100644 GIT binary patch delta 1348 zcmY+CQD{h^R%7Jrt|OUN>k&u%aa& zL2C~yA0iqNa#@dSw1*f45=5i*WG{P~Bs~;F&^h{j*ZaMk`~RKqJOA??J;jnxED4X& zf~Al-451Lih8OjMaTsG~=-y8T$*Nxou+2zsc6D3J+$gC(-6D(eoG zyP&F9s``Tp9zl{VcCN<>~4k>h3@EN+%a(F}EU^;1;?7M6RUs!gVpV5=-ZN!mIB5q=xx zo%ISPB->Spv$kUp<7O9`YZJ+DTek6gUbZ(Z8|gP3{o`n)t$7pv4Ap8&lNU*^qj^gt zGf0Jsi+pfEKegmgyY|w3mCEf}V|kbM)+9%39N9bO!2Nj#3=Yi{L+1^cyO42^d(J3r zTXr(*vQs3oi&-O0a&NE(f<0eHXUdzwu_XV2C@-IL9XU=kUse$s3$Vk zRO>Mj1g$&`j^ox=We<@<2Ou#PGGpR;821`{mCxZkCi)_*(R>6ORU@p?coZ3%Y(&AK zuB0Alr`+jTcfjYw;4nHoPJpFSNrVwvlgw_~Yaq9i_|Er9W;r-SEtRFAZw5HJo5F{G yPrZPM!!Deh2e01rs180e*(H5r1CQk30l10}nb>3^aF!lTFtNgfc#ar+;f)z delta 1348 zcmY+CQD{wPtE%5mAdEdni_my>8HmU`b0p zg4P~ZK14JkLih;OjMaTsG~=7y8T$*MZRK&2zsc6D3M8hgC(-6D$5R* zyP&FZhs(TUjozs!gVpK$|Q;Ny;(`5q=xx zo#hH9B*G- zsn%mW09ttxn82;A%5EYD4?to(XvW0#5bibjDxX6+O!S9YqlGXws)kvki3l<_*@%Ec zT}i#rPPx;&Ziml_p%HX=6bDPC5)UD?C79ie$3Si;@SX1y%yMX$S}M!K-wbecH;E7b yo_r1whh03m0A78mF&%tnGt2tM1|G@618@}|FtN#m|13S4WMYL0@f3<6KbmaXn3&jY)8=PXL@8J?rie7H2^uW6X_K~65iKH$STOBHg$iEk z#Y2}-qz6Tc*h9e>7K$fD@#i9nUi6?;E2v1((2F2O{N7z>Y;$<`dFT6?Z+0iul2R=x zlQ~7zdpk)!GJS3fo(D|B`xMhLepA4A0lRHG6qOfkdy%Q}SGEG#O*JPhJ5vMu+p>&b zvhOGR+D=j4s%rd)!_5ynsJC>p%N!butbNYqSyxxMPb*xj>yDxtA6yR=DxY3s&c(Ru z#?FIoYiGt6OyA-W{+`F`&$v^yh>lLXGd}&#GhUI@?!|0lUTSXUy!VRgt+j&ANqQzJ zSSO;#B$exm)P?z8kS_VUNXr4nhu0z#RFYJc)a4h^DM?@am?<2YIrI4CFShNMMFyXwDD-bU>y>7te=?P#ED#dT8` z8mu>_@lwjkvyI&pxz>npP!2?Ra~OUkjQ!`s{iKN|)J`;k-$9M-&8P5PuSf2Zc1IDo z6@5U8i!vS?C91^m5-YI?KNQC+nT#XrbDUZkNw&vN=6nJvRAS60{OGr|6NBlY2tSy_ z5Hm?}MK`wLb`P?9QvZ*E9k6#PwIxEOh(v*e&#BiEg@VT^T znasdn&d@oHKbf~~GH-e?V@nRlyQ~=Kwz_R**n`^fRJldI_W7jOR{D*ylh delta 1022 zcmY+DUr19?9LKwJe``xL`5eoMf20edaGlp-%!_9Ii}uPk}8TWU_3cBTgQw`m!_ zVm(OqwUwg0)vfX$HYY!7qu$cZu5f59vJTi+W?ft5KCN=Cj=M@x|KONcsC;^zF&E=* zCw3lmnmaSTX!sVF@b_J2f5z=@lj!KQJLA*;JmVEf?Hos#s$hnYft%!IlLznOz`z{fU- znsbsKNOA{6bSQv%o(CS2YC%+MLB=f`5eH=@-ITN>X;1w(%G<0yC0$Z;q#X@(t+;0B zVuSg{R9;Hjd8Vy7X|((VWX zw<8ZpaZ$#jqePV`UScI0=0{?9C6h5^eU4EpJ;C<*$Xtvgg-Y~=xDWl7cVjRu80Lo) z7-A+NuISdbJk^c2J+aXv)$T%ePxAjUumkokC7rsXV=aYsZ)XKrN{X`ZpBPS23qF?; zEfZ<@Vw%pW|4F}fl6ljE8C$YA?j=KC8XD=vO2N=ahWh({(MoL&>&J57p*(mt55Ch6 p{%L4t06aB-^{azfwdkwgv?Fu;?0K8zvi4OOwT_$|JH3W}e*u=-U8?{9 diff --git a/src/mesh/test/dot11s/hwmp-reactive-regression-test-5-1.pcap b/src/mesh/test/dot11s/hwmp-reactive-regression-test-5-1.pcap index 6b69cb423c45b87c3cf18e4ee94658a3e8115c69..cae47aabf94e42117ae222c09ad1589d3338328a 100644 GIT binary patch delta 499 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 diff --git a/src/mesh/test/dot11s/hwmp-target-flags-regression-test-0-1.pcap b/src/mesh/test/dot11s/hwmp-target-flags-regression-test-0-1.pcap index cb6464b89e83c532d8301f380203bae65906c2f4..64a7caeb175fd8056324949f0ef21379f081c3b8 100644 GIT binary patch delta 190 zcmZ1wxFB$X8zax;JVxb-Ss9Ex6E6n?dFqT1v0Nbg4r4lybYTLqH!&3gNfqV*AX&;B z3M5a1*)l93b`c9m{4j{US&~(d9mvt<0dX36M7V*RY2qNx8}ScJK+at$5XV@00}GJz uL>|PkQUJ?nD}(hYgJp~~LM3^GBvcGM5^^e78M0kpFcz`orWR)~0098hu`xmb delta 190 zcmZ1wxFB$X8)MJpJVxb-Ss9Ey6E6n?dFqT1v0Nbg4r4lybYTLqH!&3gNfqV*AX&;B z3M5a1*)l93b`c9m{4j{US&~(d9mvt<0dX36M7V*RY2qNx8}ScJK+at$5XV@00}GJz uL>|PkQUJ?nD}(hYgJp~~LM3~IBvcGM5^^e78M0kpFcz`orWR)~0096Zi#|dC diff --git a/src/mesh/test/dot11s/hwmp-target-flags-regression-test-1-1.pcap b/src/mesh/test/dot11s/hwmp-target-flags-regression-test-1-1.pcap index f5cb76b5d12917dde03eaef50d9ea84992c91023..3cb4482c3a0bb5fa8bee613bab4ba464db7c3ebe 100644 GIT binary patch delta 305 zcmeA!?Jk|*#>g|-kws*3Jv0BrtPCJ$J&WkX7j{5~IwO+Y0tHBlhc_% z{PisIlP@v_0a+@{2-T5bmGYB+FnfSi=Ymxh0!c;I03cb!8VV#&fJr$vkVrloNaQG( zlx7Esv+as<>tLTMm! z^B(mAHXuh=40tHBlhc_% z{PisIlP@v_0a+@{2-T5bmGYB+FnfSi=Ymxh0!c;I03cb!8VV#&fJr$vkVrloNaQG( zlx7Esv+as<>tLTMm! z^B(mAHXuh=47G5j3EAX#zG+J$>atW%>|PGm>?=d zCUdj$Pwr#}sk*`pQkBapGdYO`#Q(=6Klu!c7LYZ838XF&EDN-4@;=s3ASuEIBD2^) zBD=wCL3WTxIy*>Y2Z+6ykK+p~kYeWJVgics34p{>1U&hHoOSXbW&h7G5j3EAX#zG+J$>atW%>|PGm>?=d zCUdj$Pwr#}sk*`pQkBapGdYO`#Q(=6Klu!c7LYZ838XF&EDN-4@;=s3ASuEIBD2^) zBD=wCL3WTxIy*>Y2Z+6ykK+p~kYeWJVgics34p{>1U&hHoOSXbW&hS zFaz~XKFAyjB*j@k>6>V3|Vc0688Z2^9m6gq#X4hI1}27#UC5zF;h3$xSWJ HU;qLDu=zC` delta 196 zcmca_e&2jT0AtU@Ku5-&$(fAG6SsK*8H|kSU~Vpuyv|q%Bt4nZfaC@yPaye=sT4>S zFaz~XKFAyjB*j@k>6>V3|Vc0J$C^2^9m6gq#X4hI1}27#UC5zF;h3$xSWJ HU;qLDNmD`_ diff --git a/src/mesh/test/dot11s/pmp-regression-test-0-1.pcap b/src/mesh/test/dot11s/pmp-regression-test-0-1.pcap index 6d4616af6e5bb09e2d0f57f9c13468ffda65021c..967b460cf8194cf306d1ca72e31d5b5195ba651c 100644 GIT binary patch delta 76 zcmZo>Yi64ez{oQ((2!pM0wj5aBvcGM W5^^e78L~KDFcz`orWR)~0098;7!tz( delta 76 zcmZo>Yi64ez}Pb}(2=ocawenl#BE+c1|wrSn41eEuQL_`NlzxAs>!pM0wjBcBvcGM W5^^e78L~KDFcz`orWR)~00982rxwEi diff --git a/src/mesh/test/dot11s/pmp-regression-test-1-1.pcap b/src/mesh/test/dot11s/pmp-regression-test-1-1.pcap index 9e0339da19edcfa859a12b0e01717070521d016a..9ed7ae2d75b96de38c7859c1321a9be478414fca 100644 GIT binary patch delta 76 zcmZo>Yi64ez{oQ((2!pM0wj5aBvcGM W5^^e78L~KDFcz`orWR)~0098;7!tz( delta 76 zcmZo>Yi64ez}Pb}(2=ocawenl#BE+c1|wrSn41eEuQL_`NlzxAs>!pM0wjBcBvcGM W5^^e78L~KDFcz`orWR)~00982rxwEi diff --git a/src/wifi/model/wifi-remote-station-manager.cc b/src/wifi/model/wifi-remote-station-manager.cc index 13d6b2db6..35ed6d7a5 100644 --- a/src/wifi/model/wifi-remote-station-manager.cc +++ b/src/wifi/model/wifi-remote-station-manager.cc @@ -441,6 +441,7 @@ WifiRemoteStationManager::SetupPhy (const Ptr phy) //acknowledgements. m_wifiPhy = phy; m_defaultTxMode = phy->GetMode (0); + NS_ASSERT (m_defaultTxMode.IsMandatory ()); if (HasHtSupported () || HasVhtSupported () || HasHeSupported ()) { m_defaultTxMcs = phy->GetMcs (0); @@ -1824,10 +1825,7 @@ WifiRemoteStationManager::Reset (void) } m_stations.clear (); m_bssBasicRateSet.clear (); - m_bssBasicRateSet.push_back (m_defaultTxMode); m_bssBasicMcsSet.clear (); - m_bssBasicMcsSet.push_back (m_defaultTxMcs); - NS_ASSERT (m_defaultTxMode.IsMandatory ()); } void @@ -1933,7 +1931,14 @@ WifiRemoteStationManager::GetNonUnicastMode (void) const { if (m_nonUnicastMode == WifiMode ()) { - return GetBasicMode (0); + if (GetNBasicModes () > 0) + { + return GetBasicMode (0); + } + else + { + return GetDefaultMode (); + } } else {