From e0f20a49c001610ec38f290ee94ef0f5e1dea24e Mon Sep 17 00:00:00 2001 From: Tommaso Pecorella Date: Sat, 9 Apr 2022 14:56:00 +0200 Subject: [PATCH] network: (fixes #611) Reset MAC address allocation pool between runs --- CHANGES.md | 1 + src/aodv/test/bug-606-test-0-0.pcap | Bin 5704 -> 5704 bytes src/aodv/test/bug-606-test-1-0.pcap | Bin 5820 -> 5820 bytes src/aodv/test/bug-606-test-2-0.pcap | Bin 4246 -> 4246 bytes .../hwmp-proactive-regression-test-0-1.pcap | Bin 8608 -> 8608 bytes .../hwmp-proactive-regression-test-1-1.pcap | Bin 13200 -> 13200 bytes .../hwmp-proactive-regression-test-2-1.pcap | Bin 14710 -> 14710 bytes .../hwmp-proactive-regression-test-3-1.pcap | Bin 12973 -> 12973 bytes .../hwmp-proactive-regression-test-4-1.pcap | Bin 8304 -> 8304 bytes .../test/dot11s/hwmp-proactive-regression.cc | 8 +--- .../test/dot11s/hwmp-proactive-regression.h | 2 +- .../hwmp-reactive-regression-test-0-1.pcap | Bin 9431 -> 9431 bytes .../hwmp-reactive-regression-test-1-1.pcap | Bin 13555 -> 13555 bytes .../hwmp-reactive-regression-test-2-1.pcap | Bin 15330 -> 15330 bytes .../hwmp-reactive-regression-test-3-1.pcap | Bin 14928 -> 14928 bytes .../hwmp-reactive-regression-test-4-1.pcap | Bin 15219 -> 15219 bytes .../hwmp-reactive-regression-test-5-1.pcap | Bin 11537 -> 11537 bytes .../hwmp-simplest-regression-test-0-1.pcap | Bin 77751 -> 77751 bytes .../hwmp-simplest-regression-test-1-1.pcap | Bin 81147 -> 81147 bytes ...hwmp-target-flags-regression-test-0-1.pcap | Bin 10886 -> 10886 bytes ...hwmp-target-flags-regression-test-1-1.pcap | Bin 15774 -> 15774 bytes ...hwmp-target-flags-regression-test-2-1.pcap | Bin 13911 -> 13911 bytes ...hwmp-target-flags-regression-test-3-1.pcap | Bin 7848 -> 7848 bytes src/network/utils/mac16-address.cc | 22 +++++++++-- src/network/utils/mac16-address.h | 16 ++++++++ src/network/utils/mac48-address.cc | 31 ++++++++++++---- src/network/utils/mac48-address.h | 16 ++++++++ src/network/utils/mac64-address.cc | 35 +++++++++++++----- src/network/utils/mac64-address.h | 17 +++++++++ src/network/utils/mac8-address.cc | 28 ++++++++++++-- src/network/utils/mac8-address.h | 15 ++++++++ 31 files changed, 158 insertions(+), 33 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index e6e186311..270852aff 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -24,6 +24,7 @@ Changes from ns-3.36 to ns-3.37 * Adds support for channel paging to the **LrWpanPhy** (only placeholder, a single modulation/band is currently supported). * Adds supporting structures used by **LrWpanMac** (PAN descriptor, Command Payload Header, Capability Field). +* Mac(8|16|48|64)Address address allocation pool is now reset between consecutive runs. ### Changes to build system diff --git a/src/aodv/test/bug-606-test-0-0.pcap b/src/aodv/test/bug-606-test-0-0.pcap index 381064256d3fde3b1cc45aa435ab0e9bda8fce7d..3d9f332be16308d1c281e065fea02f221829a28b 100644 GIT binary patch literal 5704 zcmd5=J!lj`82xtlayc*NNSatE;fRet%_>(Y2p)=H88Bc#1wjk75U~=A5VR0PLJ(}M zRBTLTu2BR*NEe%c0UQ4i)c8}RP!yZncdl&+?~n|%+1}-&iCHDdGqbuE-y6h zhE$-WG@C?c)sLH-h$i_vYKd!86ww(ZpL27O=siSK!?j?Ts2l_V*Jd~q&QO)FZ9@;? z8g3T-_>J!foL7NU^H1DhLQaofMd-$l9dG8Y5G#9#}9FDZ;r z&t(lmjN$9tu3DK91rPBBJijU;EjWuANM+@hu&q2{X@*!qbT(T>pZwtqI`DgCS&jVCio z;>odVswHd9jEMGfynOc8xc30xg<2xlYH2j+H;RbH{ttzIWiql@?TZ6Xuh%W^y~Ht4 z-FPRH*#Qq}iRwHW-oU>2D5}a#t#?vn==j1D2CN9A2<^Tu9W)^Fm~1 zo61ketaY|o;oi*JSk9YH(Dd4>5s$-lR517;V`f+i9_T&KhmQkCy%AM z;$5?xVjdZmdc|+Q@SPtXnk>yT3UZ=63(2P-@`#8lTX}u}{d*70=ZNdPWqCiwGup_5 zX$*t}Hn$Q3pkrJ!Y6~{%j1Z(e!F>+r$`Kr^lY+td&PA`^xz9|sCx{0*oZB_aeCHzc z9rVA?V9D`T<0S6;&Y#K-#yK1T}SUQ~BHOqYGBJ{M^xfB@xhD?^GbGv3a zo9kSJ{=MLH?vTmS%!ljBxxm=*)aP6))5O%*o^yGE>u_!=Pw*gza}lcJg289_NuYO7 z$#u^DKRh0B%IF0iC;EGX$CC}c!Q=Z#Z}1r1)f+r6&iish>d9GbFE?;1q05_n@7S#8 zMUB|A1=l;Hsz?pU&LS(zbDw;R1Dx{Fe$TrpE92Mj8ljkvQ%K>6+{DwTb1Q)d$I96? zV()Lw$LUMqU@DM+-Y*B96Gzp4Ht_oa&xr$A`mBuq_>EUSjM&B)Xdh#7u;S6HZerAE eV@th?DZQ{HkeC|76^~xyCQeL)-njrv>-7htb-c;| literal 5704 zcmd5=J!lj`82$G4a(7-#NSatE;fRet%_>(Y2p)=H88Bc#1wjk75U~=AAX*3_AqX~B zDmJDv*C>J@q>D|!fQ^3$YWyiuD2mPby_wm$ncdl&+%3ut%(&IlPe5qhR@wh$G#Kd|`#EIyW(`COE%uQD;p;s*Y;F!-Xv zDCn`YF#rWDKDIHM%b`cFnu$>d;V@e-;F@{~OyJ&p6HE$w++5k1{`Di7c-vH&l=HW zJfb+B?AunYtt7|W%ki?=U+2~Xd>3kkT(hOopx-#(7CQ`%DhU0mWMr}WR|lS+uiM;u ziDRI;@lM9010K>6HP{vK2G)&U8feH-ZhY&+^7MBHOKaVwS?>P_ET?}uykPOT5UZ8t zg$h)Qg&O|l7`2vkm0MGDV>$0ijHc&CjXK2q#3*@>zg;ZFdIQ7+*Az=Dzi3S)OYY=w zP%gIUJjOq%btTk7>l**0SXwhTXKTs#I~;^iJr{I7$a9}!DR`juJa0ZyEUg*8o5j+c z@!TwDm`94Gp7A>`efx(;CQEaVvabCD=-+>6K1W>pEzA26v96wd5U@G4+@l~x`<c7omDC=$!3bwECU<+*EstxRb-VxmjjA7oqofox7aH(sXWamWMN)i_l9ie9nDu zvW%dmv44}hc)5R5J6?O|3k>XhJMZAFH5}nl-Hmhc@R;D5$`e-3wN~I1R)@p62-R~z z=WOSq)$iOjQ*FW0;oRITvz?33SG>-pz<3)nS(?tx&2lc&xd{Dd(dXO|lckvt*OhaD zvE!M~xmKo$XrMdi@&MQ2+(e$>P7dcHRL=#S&+wB#ub_%+pZ$M$Jm!?q4?IqA_UH#5 zPdD@jj~`?G!DD<^fAF}t;L8n(CnxV(yLqZ{Dxu4pec#xu=S7{^vqjf8qnbz!$j%}w zt9K!B4xH-Ivgg~BmGSHNj8MwPDJF14Zo;Ph+-l&#v2u2u*!x?vaRw4N7z!ky4=aIZ z$5FGN4g7t;GdIA}du6MeRb>~F!1l5V>h3MkW zvoa^DPj2-Z7TKs69@6v4h`Fj16B{AK))#KP18hesEhe(auMu<$;@!1CL+;^yn=r}MQ8eEnp;w*G9q>s~yqpO?|J$;iahnOfCKC6U63 z5B=Ex#M3GC;yEf}vt`k!-xg}(tTwsSZ%jDr^2o;so}I5Fp9*mXF?h!DW=(d)qcubq zqmdi4D(LWkaU2JabX8rBvGiOSvOM@7ST25!u(XwO`&+W|6xU+XXlW`%&4XO2!pd9m z;^|uOvYxBPQ(Q{FmTMp;>HPP8>>vF|R)S`4*NJK+5XDwh+iG|X9zi821_<5x8DXig zb?);<6U$Op!arrX{a1vgWI!^{aQ1hVojJu4gCeeKr6~u0#2IKQqw=y3mw=^LUkkpL z=pS*FjE8WmIyiV2bPHHoEl0p8V5#O>*JU?gskL-xyfw>BKnqw(1`K^Q#!_J_uK8lX zGE$eVSzgA5JYZ?HJi9x&&(vB@yDU50nGLdECjE_%lNefwD=7@FTWaq=VfW;64BBy5 zds$-a#BYakmlk`+d#gZ)J4NR$S;b&TV&kqb2wLyqiaRhU;$g`j;Z}8UaN5IsTJPay zSM3>rK@ktPW|{UdL)UwFHeea?aBG%n4>R<9t%n~3EF&In&GK~8!wh|RJn1j(;W?LO zhciBihlw$DKZ&8T%U`818hMyO_T%?xe-AJE7*J&p4^xbK4|{9T4A+T>hn22~x0-{4 z(;nv2dJlhfm5?kW9&XJt?O}$l_wancGUDOZEYlul=)1TCy9KWA=0Ag6WX?Y+u9og@ zp*72!Ne?r0{d;)9)zW=`k!AJ$CE21KclG{a!>L5ep>pZ;d=dorm z4@1NTYtf{iN4ZWk$^(=d>{&WKMwv$=jA3f^x^6zYJ_ZKq^{x@dNTWQaeGCj51cSf! akKL)uW7fyOpg}O!HqvU&$H1ULF#ZD3Cg|b- literal 5820 zcmcIoJ!lj`82#=p-klL7+Gr8<2nZrb4oo2;cm!+&Aw>!igftd*As|?$wg_qLBUmMk zq!1MXfq;r>q6Q1WAA&zI2DDHkTAbgTzn$5cx!uj`!tCDd?0oNiZ@xD>ck3&Qx2x1g z`sj9vuBk6WhlwunXS61_t~f+zU7zRYYohl&(FpEU4iNQMDivP&TpT72&~dI>ZWtiV}*5%9XRNW|@>y`|fM7<+lL_GCDu9{oc;k z@s489*7MX$KjV?FAMALJeyV=Gcv8PQ>nEc)`gJ*;r=N_(>{mYq^pm}ceMhq=c79sF ziqWr=c76X-t>5gY00X1n(59WQqo2yxFmUw~`I`EZ8ZhJoC!W&J$!JVxq~po4iE4?G z9PjGqUhH?cca)z(Yf@;o3>x%1!jI{d0QFWC`t_5wE;qIUcxJvXeyPz7j)4}&o6y+- z57wX#R|RSV{xZfvM~UMK^N3f~LWrf~N}uJq|G;u?JHXOZ-lOl)%9C81Ev==l6zMOq zQu&p)>BLjD;AB0Sj+d^yWDVrGx%HzL`{zHSm7v(0bs}8}c$dmdN>qRzy1_iWN{|fr zk@il2rQ^nFt%+f&D&e29JoYQVQd9zjc*U)^tIW(vmOLons#2O_@D?{uOQ9BePxHxR z>D1S(t0g}la1}!B`oQ3mT(urcqh*7486HdNIaQY(kEPPmp7GKw4>1pqrC@;2_d+b4 zx}5V^2I{gj%LU$$dn}EXH;1G9Or_c_b@_FXL@+eV;S&pX_nWc9!BU315tk|4^P@G+nDhp9tOtf zY7|3x_+1PmmxqCIhJTOt_VApG!KxJTFi&O<4?AnoIM#`PhY@Pm2L{JIjNWVyf3uYk zECU`c%`)y`gwFQxw8t{w;nFPQ9!BUVeDZb+&U=_D);}q>miBI;G|Q!^hY>paJv?h` zX}`a~QvN?S82{f27*i`*9v-ljurYFZ7#NF7Ssq??^Vn0&!z^NswW#Ihk*pKB@?c6i z_AG4|BgrEd1`2R-BWpf7E(Q-$>s>AkEX>(^uQ3;c2Nl7<3+D3UtUM-M3?5VjV{b04 LCS433R0QKMu9xfD diff --git a/src/aodv/test/bug-606-test-2-0.pcap b/src/aodv/test/bug-606-test-2-0.pcap index e01f61ce946f6d65db2dcefdff68b0415c649ece..ed25f2e17e417798ca6ceb2454ca23d91a3f81f0 100644 GIT binary patch literal 4246 zcmb_fJ!lj`6n?uKFK2`p8$l2hti-}aL@Wdk#KuAd4-vEoVxf(su&_L|6A1x3tJtQH zU}YIh7n?%^R{k{pMT->vfX(^6c{Ahe&CJd1Z3bq4X7;`Bd+&Yw_HJ|i`O}=H$c({& z=(fJuIziOMHP1HYKn=B7nB&R{U$*HyQORrBKBAc{D=-K7V!lWRiE^y-8t=<_y3f}< z?!S#8`lnR>O2c4O{v@aHckFWj&F)_Q5{OsVL-EZ!1}zkCX5;M; z$7@sv4>KFe9*3jf+=z5eD;SpyhKWe$8Xo1!8b+&9jl%5O3I$wGw_~cC# zL&v)6##(YkGzNdKhJQ^c8?56jUwU4ME0=fE%3X6Aboqx%K)LK{;-QRj@HAmI#!&9O z$1ls!f*Y@*7{WjQ7{eG#xlA;! zT;5G9ciUyqB^U*iD;a^mNro~;ykX_?Zo238JeC3FHf9-DF1zj}l}nlPkHgKS+jASU zO!wR+H(Mpww2pF_;NSI>a_8JwU5v4m%l{j19ExH{j*8`K95AXA$1Y&JK9#~)tzy8a z4n_+Y=}xj%#eh*AjOnrB=vOgdR0o6q3tTvo%GFS}f>9le-M~oKywZ9lee{EA< A9RL6T literal 4246 zcmb_fJ!lj`6n?uKFKdJt8$l2hti-}aL@Wdk#KuAd4-vEo!9p8JVPSb_ClUg7RDBKO z-BB0Yr-(ZI9Y@JWUo2t7rPy3uEyS0LL>0EO14J`fR`Ai!m+~b#OqBCJ_F$Kv(>;90 zdhjlaF)eQ3a|9y~U;qjj{5imQ{Jx+z@8cNCLt)Hmj22}jwWcWJTR8+G$*d)Bu}jaL zc<1D%jHK$~#S^@!G*Luk=}2_rLqW5Afn!T=%1C_m@MB?hL7_>jVt-V#r=c#OLWR|Z zjIWWI*eBZeQiDBV43B|~&bQqBoT^`?8H}o*tSQGk@g;!P(p;{74dg4WD&Mw73+0=c zeA|S4wdxpsW>aGv|88fbYU*HI(HJ@-*}*~ITB?>J$C zo!4BDFCIoZk8HS?$j=A`h6d{%^N4HU+Aq6ep;=&5s4FJ>Ei`YQAz4Lcd41Q87s`53 zXRYH6cVO@|alG3cFV6nZ??8>6C)Oy~)VM8cj7cUlX;543I{PQU(lqcJTRkN>s_g2T z7?w&2|BWS5J;*1omVyVYJACq3I`e4RWy$vk^omduFX7C3@K}nT!g`sl9!sa=&J^ij z;s-k3nB@hYKORd_Erh8ZqH*Gm{pBgzSnIllH(y6FlyX1CFve0Yexk&c3u{`rJ2rz3 zu~R^~2sQB%&RmYLa$!v?x9hPCD7P`oxN;G?n^Z1k);|urmiEkT%rZT5m+fj*=xH70 zg5ckclyc|nTy2c8l#Bn33rC_D>IqzN^I)esdF)|~H)m29Yc2*m)xp3kH$6$#T?}@r pgMm?z&ZFmIuu~lj6#UY$RIP@l6+6|z*vlB{o;&lXB6g~S@egWZ-`Yz6hCv{-hI0-+g<;Zf6(3cp)^8e2{r%w43kKRRs0}Iu#th0m9=T&hj^*2 z3sPD_gkWu-DpPW;KsKn2O7latkgKv3?gvBLi0lspQrPdz%$qy+-kH4^;@iQQckexC zesg|j&Y77V&wO$G?SN{iQm$PidR)IOnn$!4&s@u>*JQy1QBY}n=gKF#EcjQ{jTtxT zj@Ad-H*cqBYo2_pW0R5+Jq)a+c;VVl&xP{4LXkZQZ6j)gp!z?P7lLIAw&w6qDYf?! zHQuLT4#sL&;AL)f?t@N>xsocYgqL}+U~8QDC16F? zXy(SpfBUU5I<&|}&@-81uX6bg(v+=As(sfgX9=@mB2Ukfv^C(+(WMJOQ3UFFh+&mR zng`(JgmEI(Ey?!udFZ6PW4LXo7qkqvaWxqcv!{)26}wu9ijqN&2k#m$pH&k?<`A_M zEVw$IVE-TPEx>tl$c%cRLC|uT!nKT=$}>@<9nj&DS|381hmY|^;+wI8?uRnhepCxk z4H~q=B|GmV(V|eHW8CsOUPRvNf_E;z0W{@j1*bqnYlfe#X(xJPoUkS}x%9jXsmE=` z;z!1NS!#nyie=Dj`WTio@yW&V(FqQgvFYEUSPBFbiUDM|$r59E5pW(JX8NBvm#3BJ z%C(GYxn9p!nFi11A#qH90l9Wrh~ZQWeE30KMo_iULFhP9LpqnYgNpsP3OmopX6~n} z&o{aO3v{dwX6{83g({R+8T4q?zZw%u0v8c+zvK z#1~hUJnE>k?yHg0fjzVOq&KZ~I`pfw7A@)>eR7py58@@6)~wY5(2*Cf{TV!j&132* z-{QrC&4kpG^l~9$ogbj%S)!#5iEhO*Xil?ig^G*irLP?M(c)#Z z+;rN@L&9;>c`{EA;g@R{I@^nvdcFb)N>~&$jj0_z%wyEm;;2EjHTqx?7K8|uKAw!1 zdSd8&flvg} zmb%ebUUvA)#KXm(?Xg|)p!VNXJXDxT&qujMk|R5V1%CnEKUb@U9kHnJ6r)g&oy_oL zEb^Ek)gu~jaxCuq#lcV7&NM##)xj^8=N3OZ&qocv?4wUVO_?);r`z?{$%g56A~Eyx z2>Mh&NSAOkh=cCPi&GI=DDK4xj<4q8#0(J8X?`-KS-KoY?i9aRz!#x~;tu$TUsVF0 z8Fbb=_{o50>BqM?__3g}afe0uBKf5QeiZP_KAIQBj(=uJ7LM&>&J1iHO=zO+gXw1< z&4*~=z-%{aNdL}C07H80Y9<}c(si!YI+jKyXrZ`wBj8jsjhMkEFmR_4 zOFwh*i=|NsS}5)`iuhF}jhI1A!NE_?5KG&~WbH;JXrVB_bQ+BUe%ZTGN%Sto4LM3G z;0v^E9@1zHnkbFfFWI{hi5(O9n%{vM(y}E+~Z;M}+H*8{h4=M9Bx*>ywVx&i08FOsRq4*6(z;JYtU=^C`dA@WLJc^!Rn6(95U zPV&BpWoH4p48L5>f1TLbFPbvEEEt9h|Gw~2U@bNFl|D;ffz-p&r0bMUFH5!PilSl} zG^bg*uJn1}>3bY3W1+c4v8>#RaVHMV=vIusaN*yEE(^{Xn%4!l4{#p0n90A(d(>lt z?sgr8VtZ5@+wR+=08#BdYN7Y2$NXM(@w1~e)co9gRK%}pdsOFP-%*eG9XXP9)U)`d u_oz|8FZ-xh7K0a7a16Tks7Xt)NBx=FQnHVFI6$7jm81(bq@fk|9`zs19-7<$ literal 8608 zcmd5>ZHQGx7=GvO-o3l`?(SVb$`5q+{wR%5SwhWkuVE4iv5G%L2{tk?va(DQf5c5~ zU69feA_U8RRi?CBfoxD4mFACXAy;K7^oOAtk$pfQ#rC{2bI+N%GqZ;c@$TT9bMBcr z&%Dn&&->2oc=n4EZ>Ol1%4KMX=yCmH;as9cc;;F{9g+nPM2+QZ?;QC=R|VfiedE}P zceFpyxoJB+Tl?f=TQ;gzqKARC1V6a;({pM0UZLdVGp>1H#0cv9XEH(%-p}7!gNJgd zyO*dLKe(Qyc?wP8;LYu59gjQL%czFkQJ(?yDRb+m?Iwce)Bol~uVQ^VIyU zHuEdMimlPiBOm`AwkGOB3rz$)lTGYZF5jWmu~oHd-?htG!fZs!)3YRPO|f)z=>|}& zKs^r@R&ls_0A7udf{=Lii<3Ql0eu|rMBLUl2wDm(u2Do-_H8vf$<8}Tv?)~diQMu!eu#|m34U|=4WN#nExorV_&I0#`Hiu{nAFPD z^DbHgZi^)U$haU&9e_o}GS%v`oPk$9mXD72u(YOsvtlVAC=|uMO&0ln##i-1VCk2bFVD`9X@&OPvDU= zc}zJSN?ttJ473JQnXH9hZW0ItIM+8lf1asm9IT4t>kq{u`DOAvfDW4 z%VM$IcqYh0&IAwHbt*#-;m)-iaAxvS&(|d|O4w!lTyLVXHxPwR&Tb&kB)N z{qe-zq+X6&=)8kLQ7TYgQt5^$2b=;oR-h~2<;s{O$Kih5@YLyyu>|p3lxT*op*6rP zr!4JJUof*NBV~5m853PIGpEXACIfaP%=UioVJ6X;_wj)Yoxq)Ica0uf`P1|*{*ZuI zr!q-BHY>Kozl&ptc*fYTeS#Wj6TiJRg&BMf2Jwzij~i(+c?lq~Zv8a*nUe*xbf68n z^=Vw%Gmtp- zUw}v)K}eTy>mW9|!zZVL9Lf=+au~v(n#qY7K+!HgDQRw9hAp?l&l0@m=NEj;uPTCP z23-vvep2w<`Z1myewN@3ey-q00l(y}c|q*>XC}CM{~nt?9m_`xF7figeo5Y%U!nyA zv;3%O`gdj};Ocigc_#{^HSc-yjsnv7w!)~0UMT*pG6KJvVZ;nJf`LDbxb-t1KP!xi z=!N1BqnKY+!iX8vW!!jT23+90NQNRi}q$ZbO!)vX6a7 z`rLL7pi6P*8vWOa8U4AI1TW_ph6~?ccqwJ18uLh>TVFwIfMpb}le>Z}Rno;@zmjFD z)n(~B(&vGv?eVa*q`6tKET4+;M=Z_wRE*zn;d^tp0q2$Gh~V}CF5s4E^6v_6_1K`h zeOn=Gjp|_ALu(Wus=Y=n2yXS5->W`;rb_dgpMQ;t`BiO=>N*nI>M_5gN0YXC20wR= s8U_54w|XTpcyT#v(6>fST!J;~PiIL<-s)ikd6JW&2Q^KXmYZwTe~7N7qyPW_ 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 13bf7d0ecf17dbaa52de559f51058069056e132c..5aae5025ecec57ea17e6a0551eb6b11f391c230b 100644 GIT binary patch literal 13200 zcmd5?Z;Vw(6+iPHcmF`kE`=1R?e0_Q_Jg#pDO~|uc$iiTF}kH64D1ItX%rQ-Xl*6< z!L?xBq%oqcejsR28x=&m(!`kc%Oj>&qU2s8Esg z;WDSVRUOyeuwqsJ{lmNV(5DxC;=_-8l<#tRae!z8KDkcOXEMHLQ1p|8whJ{!kmoH`abZ6C8{+i{1otD|2*Rgt_#J zRw~K7wC+)#`8cq0I~eA6j^DOEsg0GHgp8e?4$m*jJhz1Q+Wle%Xt_SdF9Zir_q{8r zkCoX0nZPfk*I27x`vvT8eckwlo}Cgqt0{{BlxtJ(7jHtZWlqK~ypgJnm}9iEvPPvz zZ>)O1m_cumUmUt8!dwOrt;$7yk!y1dSOIf8$2Ws^LK`b{=p4}|%p=zkRA&tvZ7Q@B zGF*b#lhFWf`T=Oic~>Rl8nS!oP5UV6=N*KYQUzzPiOVa>;|55H18SpyecZpP6p zw_kNAx(^(=PN9ZVIY`&5$8RO7Sl=zPEk~E4K~e3_BXWx_0(2v;x!QOxQzdRtV$glP z0M$=;fcj1;cNe1Loeo?r4E+CaLkpGTf5zB$yq)Mx_@9;8wapU4vURcub^TI?Ua54Ut%^Iy1|*$=$_kOU?V5M5bXq9zNpQlT5bM_ z-o&I@nbS*?EJa3Dg=MM7K4V#~#;q93e*v_yC+-%O3eH$RZTgPK^6;_PziF-4AF# zD!z5Bqri~|>EN>o)QlK42V|RZ&e)jz0ebDTT`4ukI-us0XnfRX5a|=BhWu`NaCLVI zbx#*iZ|$r{EndaLG(MO>&4^KbHH$5Om~L9RJf-FX-B5Ei8XvXT@+0)fual@Nmjm@= zfLd(%-8B1Z0yQH>&DCVTF1Gv_tsn16k^cv)`I`W>*zyPHsZYwvjx46}9-!`6QLk&U z?E>m~F3I3>(pvV5 zRAl49R-w01WMi2>K_-z&2&>YRuvESB9nV;n2l1soezVk>lM$BkxY-mA6tGk-%fACI zzDqIY@TnwAJs8UjKA&W16f(9f^@y5y#lIy+ohuE)@Wk|CqiTlvwW%%`Ib zrzUD!Kr)ZnLZvd1$CaJ`wv$Qpl1N|D;2QlFer!JI?>Ob6<6Oi=>}a%-ThLKag|F+- zjciS0(kxhxJ2nA5_ddRhVwrvXd3S7Y-c&GeH_w;Z*FAK@OqPb|oQXP`nT~DqVYc;! z2s4e#P2VqFW@cU9HeFzK!uhF`5?~$1ZKjEb3U;GP#%x#lYWq+h6N}}`PxWGpe;AFwBX|7S^~l&-o6v})Dp=>qwWio7Y>d)g%sQ_< zlSDT$s#`3?==#W3=kKOBjz0Es65YgCNB4AmP3ZpKzecQKS5xPlJ9ca}NkSZ~rdn(l zpR`etv=%(o+_4hqX-|LXZ;`P*Pj|+4J^h--uAGaEt+nOm!Sj(-CR{{=%#2;XFVwFx z=9^LHgnFZ+$U|Td%&pd)Y5ep;grB!NIQ-n*p=J2}=amRQYrnQj5q{nd3pCAs z#pk>!damm>*fJUihx!l)J1X^Yu=t!eMK`TUpk~CVd0=IK`6`;g&GbZb?;(W9#+z{k zQYi7w81CB4&6pV+1A~Accko{k^!v65KQBa8STwa6w*bEz@oP@NPcI|px4ARI&kKVU zX2(gbpB_t?$oVy888L%xU=Z-r7UJGx3nTovqjm_$D*B7&7ly$W;P>jH2tRATbJs`s zd127u7ly$W;8*-RQbp~(a=W%tF6qw%9w@$X1yX?pCA6zYF(2kMakwfJ|W zv$Xzn0yQH>_0>G_Ok|IL zt2lGLM3*1HJ3A;5)NkDd)GcqXM=j1=FVXhL5~vw5YOW?*=^$(vIIlJzH~%cmT&s{m zi3e9;H#4|0gEr)*0YAO`xOWi$I0l)y7hJ25LW%#3)B^mTPG+vm?^I#tT4i>r%r)oN zl;Fw?UP@-J-1|Y~eS!V7bmvTCgDdl!f$IkRxI+$J@XMz5%aBp+v&qV*?0-ThaJYt2lEdwe)flb>lriJs+SJXRf67F5eK> zH6up#)jaw65@%t$PT^C2Gu6+Fla{-cdCN$?qpQs3P5lGPeRBZah)=GGw~PSlyk+D9 z;u#$3#Dj?Vv;7MWT>LGg`M~}A^@V%x@z+(mp?xK1H*nv9;;Gn)-bQ~BvdqT)Nt5bT zOQm5ksp<_)8ha^;LErsFhh_AoB=(a=CRGf>g+I3fF5mOqmy)>m1bP!J_0GpKUwILewz!=sfJ(toSO4%S}L_Ic}``1-~D04KgBb}OEZUGm`b$(zd4+=1OK$E z^U9AS{Ft~+r5t`?D%Aq~iqEMdYWB>%no=Z{TCo91&*dOTDL$uG)SXXr786a-&fW{u XF9X`oe2UMhI8*;DftnGc=79eLeEw@W literal 13200 zcmd5?ZH&~#8GrtJ?A;!F#~nfhe7RdI9v?(|M!W*@vNXOyjGp+Rf&1VkMyZ7=t#5>W z=v5FeF{ad)ejv2L)@VW06BA>uUoPPUe82XNnp|4J#F#4}#geo}G5C9CX6HY%Gqb}P zZS>m_JSnGeaSmUgI-3X@>|wl&sPi6(I{);L-N%ypkV zi#*I_tF$T~WS&{{pv`;`Sg9Wrb3MnGFAiFx`wXLxo}HW(7tK7kgzLG-#Td|1dsJLV z96()vZO|UwXC3-DaUolkw>m{!!2dedRa}VK$#Af$k_S*~O?g~gh*r&Omcv}n@kO8=utxXUd5mZUm~rhx zHP*1Qra&{$hl`^qe;!aZ}9O&_fX9M1q( zchmhRS_6}+#s2V&AWJoEMaeSL=CYiRTRxWm2WaI;+$dQl2u2hgi9BthSS)wV^sv-n zF@V+pOWo)6KN{!;0CVj_H5QNZWgm^B4;Lpmrb6>4lH{19U&D{*La0iidg*HP37~%1 z0MxC3wpH=cfm|ezyJ^QO0n{upY6{3c)12T-%bsHvGO6LHTE(Bi?i5c&VIneRKOanEn3r|y+2+q0Mk+km=m zcDb!_&-c-nPX$eFg=DCUQ zaACNaZ-$hOTj!#+lCp81f1ytxlTgYwB3UNw++7sSatA(^>o@m0a=^nzeaWTV9?oC8_ zSXto4GITZ(ttE>|u;5$Vumb35^zmI39a%p+WR7jkTi%(sizdtL84F!8GjnK@nb5Y$ zFkAhWhnbGJj(1FEYHSfre1JzW#}<3QWX7KMH_zAto#*`4(FWRwSFZhamPh5-a@Dd8 zh(>fOd6c!Rk3Scu6LBoEPlpm}qz!!c`zg%e4lr<{M%d1+yT?5IBquX&CBKW=YBjet z!|&u_4?i6{@vMoGwLKk7%$F}e)s8LxK3wb_Irotnk-oJyBoHZIz&a1EHL=dMMrHXc z?30B@g6K-4S{V{+AJF2+Ru=E7l_SnYANV+kuJm8hBDl^wt ziyFIpUnpN?iD2Fc9oZoGe=irF+dIL)nOnX0yne#N&)OXfe&+5_GyJ~#%)?Lnul|&W zpNQ(x4rK7FvcYsHw1W68Ae? zoG=p;&8<7J=qqo=1wp`(4;f~V#cFQG%wR7VIQ+yy;nu&`d-z!rW$-g4s%H3|k6&{f zeqtFhzm<(1ewGX>etsED{a2M`#0=Jefx}ODNO*Uuho2>b20vE@Yk=S9;NtMp{yPRP z&ido-RFXl1pDTkkz%TwgQX$!V<_bZ{BZCX(K?YlKu~jSnJJL}a9k?=t`t=n+-R+>p ze@8k>iw_4-v&5*jnfssf>~X?<9K7eh;MwEk;*=qr?-T?A;)*1p+Tz*)226+Rn6y;| zCiA=bFCKoDxElOiajgM<+jo2T>BYH!kB6Tnu8N;uTvL8k6W38NaQvsmb;Vu}KTBK< zey+II0KaW7dH8An^}pibCst=kTn&D%xYhu__*uI%+3^SYOpixg4_^rxd=(d4wc?rU zDLQ={p4mb1p#Je1psxC1Ichv}JwI{9JLZ0e(*hGgsz!Fq*j*nVtK?uFT9+ zepL}yX7FJ!bLG~bz*mm{EO9NO7Yc74uDI3!znu_LCq9L^GQTl2IsC-xEQxE8*-3t` zxYhu_c;;G62A3@rBs?Sl#WPn*W}FV9E?)}N;|^*(bERbStYv;%v&5*j znFoHI;e{mX2wvr{n&SI1NSj*|^^_4@B}+5=J@gMKw@mN?&UA>N=X0iI@j9VI_@~+Ys~nLG+wz@N-kC z8sK+#@SMv0Rz}aMil6_Sn)0h!DzzqfPGx?7e$f-3Rw`xib5p4r;5UJjwiBOvb)I?I z!_P{k41R7ZRRjFu=hVJr{K$1;VR}-j*~^ghoOW`Q_&K$ZT>Ug>G2V0P(d&Tv1fcEA SCw@-Fnfi?YYL*x^1^fnF8+!Ku 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 8194101184f55bd880d692fb1d6eed7d03d37dd0..151814e0f5d2ef8ffff6e3af43519efa58bad1af 100644 GIT binary patch literal 14710 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 literal 12973 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 VvWR~-^8i+8WDT;wml%>_>L1~fb-e%p literal 8304 zcmd5>U1(fI6h5;_n$2#qyKRLA(PSSITj*avTU)6$N?Y0@C6>HcQG!ryHEOJu7AY8; zqz0No!Jw~=L}{yN5=79aVB!x{<7z{FEm|ZrwUqWr5bJkl?$6AfxqFRBH$!Ib&zbwp z`Ocg(XLd3>H8GN+YVynN+e8Pwht=~$TXD~|M6cJ#*A24G`E6bhiFEz4#+J67UEPPO zU)ulLfmdsVAiUpvxC%FZ`3Put;eqQF)Z4O1sY1i;p=(6^z;%|k=p*9I>OXX8zfxN1 z1L>cTZo!pniH_>udfFB!pMp@+*V8n$`EX52kQ8zUdgFSsu20nodIWvBx~)^B2GQ3{ zR74M=28JJ8F7H*73kM|X$!KtCm$4TFw9TX_N9dg@ZSLL7HT+rlldbz+)AH$1T=l5nHCmP5~>_#)}+< z0&Olr8b@nW@_ znWuPp@yb46SLo+L& z<}Ea#n!Ge5TeFL4{9);vS$bkPl%p;wxr<}eyl&0nUq?BLAoV`lEE z!T@IO;x}BF_0<^-&Y8Ow1oz^P@vO z7qUI3S@x=#7UAt;S%1;N z(%9CO6icD})X33L9648Kc?xhbJf!JZvHg>^vRRqb615f_Z|yDfA&JHmR}SQNpmr?mLK%7 zd8dM+=0T_CMU_S3vh*aR6S#66tn$XzN6pIq ztPiZp_ukm-Q@#A$zLbb<%A-#Ts-tdxduIwWD9t$d1>XO2$-z%|RGpvn)y2kd;5Xen z48Qk0^M*2Zwg~Tt^?T_Zf#1uWCR=aJKzGf*%Cgq{`%%Rp@DBC>c^7yg3%akAo11A! z_n;S7cSN6o1cjO1vruN)-*t44nKAPkGkxa&6|=`~IG6x_u@#*RjGG^&KO zYaQb14o6id81OQ{)m}A{cT!_izhNcMookDdE=D&K$vY_$tIov$W~i_dTa*oG!Yv9f z{p^wD7q=pMptu(|cw8kHH)gO4I#|;n9f_r#Xe@q)ix<%gh56|&uH0-9@VgJ>EPj#! z^LqwSV(~M=sL1T>#2DpQkuYKgFN1-_k6#c=lXv=)wC2(}?(PbsbC$y=@AL~|=kE1x zzzmJALl|8`V}?=dh+{RAB;Z(FvTgDb6Glh`l@6nW?>knrAdF6oI`|o3r17)EXc6$6 z{?x%Q2%{Af4t_=$dHmejDCAeMFj@%)@nMvljY{ayBZ81M@L} z8QQxMVRQsd7)E?rmYj{+%Y_jZj7o+PGld} zFq+{@UCNjIV=Uij{I4ci45Mv(JC;WfWvdc5Qym^M_UuKzH4Y?Tib`jJ?%2%~&(mn) zW=i8{XMsh)Z&U1MiunzXCvB!Ye(o#~@~c=D7zG1%N3P~id*+wCnJS2(FL?QKW`R@I cdY!zP>Jewx^8d{ofEgOzjx6vcns77q4@%g7?*IS* diff --git a/src/mesh/test/dot11s/hwmp-proactive-regression.cc b/src/mesh/test/dot11s/hwmp-proactive-regression.cc index b16b5662b..029a6fbed 100644 --- a/src/mesh/test/dot11s/hwmp-proactive-regression.cc +++ b/src/mesh/test/dot11s/hwmp-proactive-regression.cc @@ -118,13 +118,9 @@ HwmpProactiveRegressionTest::CreateDevices () // 2. setup mesh MeshHelper mesh = MeshHelper::Default (); - // Due to the fact that MAC addresses are set by a local static variable - // that already allocates addresses to the previous tests in regression.cc, - // the first allocated address in this test will be 00:00:00:00:00:0b. - // (pmp allocates 2, simplest allocates 2, and reactive allocates 6) - // Therefore, the middle node will have address 00:00:00:00:00:0d, + // The middle node will have address 00:00:00:00:00:03, // so we set this to the root as per the comment in the header file. - mesh.SetStackInstaller ("ns3::Dot11sStack", "Root", Mac48AddressValue (Mac48Address ("00:00:00:00:00:0d"))); + mesh.SetStackInstaller ("ns3::Dot11sStack", "Root", Mac48AddressValue (Mac48Address ("00:00:00:00:00:03"))); mesh.SetMacType ("RandomStart", TimeValue (Seconds (0.1))); mesh.SetNumberOfInterfaces (1); NetDeviceContainer meshDevices = mesh.Install (wifiPhy, *m_nodes); diff --git a/src/mesh/test/dot11s/hwmp-proactive-regression.h b/src/mesh/test/dot11s/hwmp-proactive-regression.h index 265872d21..0312a33fc 100644 --- a/src/mesh/test/dot11s/hwmp-proactive-regression.h +++ b/src/mesh/test/dot11s/hwmp-proactive-regression.h @@ -36,7 +36,7 @@ using namespace ns3; * \verbatim * Src Root Dst * (node ID) 0 1 2 3 4 - * (MAC) 00:0b 00:0c 00:0d 00:0e 00:0f + * (MAC) 00:01 00:02 00:03 00:04 00:05 * | |<--------|-------->| | Proactive PREQ * | |-------->| | | PREP * | | |<--------| | PREP diff --git a/src/mesh/test/dot11s/hwmp-reactive-regression-test-0-1.pcap b/src/mesh/test/dot11s/hwmp-reactive-regression-test-0-1.pcap index d0387e8d66db581d2126fd00a8a60e2c7c0c94f1..027cc4ddc018f174a1b78bca3d57b5b06d2d54c7 100644 GIT binary patch literal 9431 zcmb_hZ)_Ar6n}H=-nEO^0>=J<&;t}OSS$t*3N0n_&j?rvDz<1Yr5XtuD+t!(14rdU z!4DQNF*!uRM1f*L#Sg;yfhyljlqN!pRiFYA@QZ+n2^E9y&Ft;Y?#?p3<0hH8?au7) z{pP*jdpEZ|ee&r35adI;-MIs>*7{@4On|v~O+A7A4sUn?5K51!8T<;aGWui%_l+!l zsA@^<^;TG)|HdmDUK6tbFCkVf{z1J5-ZuDsfx@2z9E-3!2;%v-B8<`8?2UPNk#5VM zkkAV56>a3KT%rx;6z$^dTyoo6olCTj=HwD>Zm)!hcrS@-Y>W3CrA~sJO zJB(7E@7p;m?hS!9AfRi zm^)sJF3BFZqANUw@pv9*b*kQdKZE(WmU;ral-B}>RY4rrQ1hJ&448>G-G_sn?=q(d zq)Wf6?9|^)QW!@0a4;gyg0^5s`Yf(-WM?@+SVYq6`XaChKdC3MOB)mjp&0b{MsP;4 zK@D?lfCq@SP$xpb766Ak8iuoL~^D zKDzagsxMZf8qiwg1=M>p0p(>SYCsbnEk>Hp;^3yK_a?^ZMgXb-WhF8oMfF$(z;gVg z-i}g`gD$Q+I7J9Y8H^!Mb#{_s3c^^tA)IfO>afXJSggk@TE^>3Bnq$)uc`N7m(ckd zU@b75wLJ`g=vHGyt9_LCi-q~881a(kmW&Ie%!Gjie~42aO}Lp*J~uv)G8sn-`vhfH z;isI$c@^aekIB`?`cCDEN0`^D0OsK*b^BL>0Jltbp~?3uAb$+5Knrx2JhVzo1BBBT z^mz;6oGiDD@dY%jofcT?>@|Pj8b=iLHG_@Mro%06;a?1*bnWr5wKgpU;PRk#H1XNv zGC#VDjc=D`r%qSc7BxzsrnNw}QM{SizM(B1-B6txOR)YTZo*HPKkTM2iCX3>c4UXQ z^htmw#G~GxXL(Z&ueio2;*NNPEpJlVU@QUZMgUNPkw3c`6pB?e<8S1o$!O70fVGBu zkA}R(vWMMC=}LJP#pn__Pjm%eMr`bq=TRZ_XPyc~4~f-O2(S@4PoYfEk3Of^neFNN z7i8NiPZx93K2N8M8TXN+R^WT2M`$93=)qq724|aa6?Hqx0#EoWY}xkaj5o?;GYo|o zXRZZ=Q#1nZSf${@ZPDz+1_dAPDJzp@K5`yq%}4(gx(^0-aZ~=>GT_^>-tVTegAu>O z?O^|WDB^dxaJA+3sBoM*t#D|!L1`D9NQ^Ch20E>@W01lra3t-e?1s_`gy4NgxI5Sm^YQTS$UclgLMdprZt5qF0<@;(9Dfk3n!it$Ft4%mKvZ8(H ztJMI+OX!udQdaY7ynvSuD6)||hRpq-tyVFz6eKGnb6NEVRx9E&Ogn(qvaHO&vla0_xpsGm^v>Ias3ahV#`fUQftfO>D%vGVaN z)qp0}R zP(2&YwiQ|TAS~)0&C}XWeB3FVOU2{-LAtDcLc^|6YoAs<=%LX;70SDI0H0eJTdT(~I)Z(}r(1gYf zNOKDgjyDNa@68yCM>nfc4OkNQ0_wfl&HAryRRfxE8v)t4&0bW!H(OZpyEZkd0oS(5 zfcR5$2;S^rgWI>O0ZrK3hBUv&!SN=c>b;p@siqxjR0DQw_X6s@Il#)N>{J7qP`d+Z XuED`gQ}4|V)}OaajcUM@oigD61c}zO literal 9431 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 literal 13555 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 Q-{1SiVCA!RnrXoQ0%tx0z5oCK diff --git a/src/mesh/test/dot11s/hwmp-reactive-regression-test-2-1.pcap b/src/mesh/test/dot11s/hwmp-reactive-regression-test-2-1.pcap index 5fc02e84283952de80d582bcfa001a2f4c66feb6..0ce9355aef5874315a036ea597a81ef9dd65867b 100644 GIT binary patch literal 15330 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 diff --git a/src/mesh/test/dot11s/hwmp-reactive-regression-test-4-1.pcap b/src/mesh/test/dot11s/hwmp-reactive-regression-test-4-1.pcap index 6e978bb4c9d7a68dce4c19761990841093a47145..bd1557eec666d7a258e3542617fa3a5c65f9b9a6 100644 GIT binary patch literal 15219 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 a^OCbswk)T~WWFo~Yff+3mo})&m;VK0aQoK) literal 15219 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 N&FPPQX@k0a`5`TCU&R0b literal 11537 zcmcgyU2I&%6+W}}X1$kCJNyO_>}1O=0%Eht7c2?mr% z)+)(EKmi=6+NuSUKm;_3R3}121vOm=LaLMp3zCS35R6I%5w zo?Q!eFb<@ugQDavcSwgRJypvFH~ z5Q1=j=|~eU;xZ1jAK(MmqjZBpQ#iQOx{~NTymS2+)!?1<`7!#$bDN|`O$0r+Hfqgb zu)(OxC7+X|xEbXbu&Qjj%(b z`sa?Bt5(IT=$(0P=}3C!4+G1ZdE(z8uWCmQk%(6-zY4!a%V!mZ#fs zGcB}An=mM8X|%}kczJ4`u*0re_2fHc*b&}D$~x?F@;Q>4kZ>!`5q4lxSUocZ7I;mf ziuO;Sg`D-rbIrMFp(S%WI9>3$QVXq<#?gn1!&i>^x6sY#%(aYa$7XC_yu6r2 z4SREdPX6RVH)@{lXv+eIy*W%rzVrY_^wSGL^PLnbi|0WMxDD@Iw>PC?6sdR(q6H-? z3Bn)I-o5BXEpwo7n$yg=6(x#!yg;!;pFGprelF2kT!=aN5N{*6;I;z*{Tbf5CL4`f+ge`30NvU_R6-8} zP=4ZG$B8BV7Y3B;}I(dt>WNuO`8au8CBMyH%zijV*&lw^j#mml$xA~brn z*QA7FT36m+lGZTNB)5LF)C?+bf+)&2ijcYn6NqC0H)bTmAZU$+qQt|uxZw++SGNSd zi;^%~aU;p;XoOhVdPM+PGUOJ!FrS6X9DI`C zoB;)kj~N`3kBpD@#jN>k!%FomSiPhs)I{V z0|tSE*~9WGi840~A$41^O?(+n>}5LrUb}>~wu?Od2MMmam9x3t0k5lcZX1(e#ICxy zURRyKxvUxp?W$Dh4Of|=ugO)Hu6DR8S%UA~HH}kXcTeQ1iFRs*LFRA#s7drx4?_#GH3id1$fqwF$ zgHI~r1|Kux%ImY>Q<-q^NmQ`)fP+s;1)7gr1yw#ZtKb<}^s69z~-BUi|nITrBm zIA6r(l;PW<4#}*%Hk@>ue9n#{Hl9lG;mQ|HcO|oK(Z^NR+M=o@34etvR z)P2EX^mHEhmn_N(Ae^nH=$hjmz=$qb3|alfLJeoD9!b$7E6lWBS^2XSyX|B!TN!+8 zSvID}^i?lp^+XC4bFLv<4NF9i ztni(&9$B%)UL0eS^?#P@8|!y%@e-VHto1MRBl8)+Cf1ya7<_tczkZ0k6=b?|p zV(fwM)nY$3rN&x31^+hIV!OGoG{&p=3f|Z`zENtl#qjPpO^5!}FLQ+BE8^>YW*Xz= z7Tz68V&7f2x&b5lb3fA9;+wOm;oY$;5j|-P%cI^j=HDH8mdAp-qrt~cDzo78@gC#1 z1*iPKYm1v+YP7}EFE`raioK1t_|}PPX#kLd6)|(p}%+-KoKQ6zN(mFMHFp9Mw1YSZeUF@?ou(fBTkc`8dvMD76kQ z9ySMe)i-!6274Z@CE*Mos!5z&cBdrm*o{`*n%y_f#}n`6=+3o_YCn-25J$fD0(RYL z0`dbCc2%FQlW9OD@Td*a#v@MkY!*H6@P*^ck2tx+k73j&A_nb33_YM)#e)h|$Vakr zXadSl69o@toKd5d!0FT1`O+RLR|Bq7qDY} z7BC#`VX?Zh!N>4J3osn*is&zI^Z`~jWEsBm_hKO0TI5txyBeS)&NRMgvmX~#yr4ST zlX0|dP*=1$SBA6Dm>9ix6M8y-CMj<;r_O-kXitfug`0hVYc^#8!_nR)#&cVIfD1Qg z0mIRr7CYYZ0yb?i0on86J!c|b+q|M>i8!LZXfx<$WWSmB9LmY$D>`gYSF{;49PNrY z^x|WZp<~ZEY)w5J?Y7*$wU7G%_dI6#GPvhxkyDA+i!2cbU?yMo1^1j%>`NQe=gY7z zr^LzLosyx$m+KzSPCcy4&fJmar+t8ZJF|e{J!d-BC96@Eh-EU9FMES~PEYJh8`R~? F{{uYoW(@!U diff --git a/src/mesh/test/dot11s/hwmp-simplest-regression-test-0-1.pcap b/src/mesh/test/dot11s/hwmp-simplest-regression-test-0-1.pcap index 82086cefcfdb80d8f83fc4e5350f16d3730548b9..d921b405978d0687190b743dbe1d1de594357ca4 100644 GIT binary patch literal 77751 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 literal 77751 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 diff --git a/src/mesh/test/dot11s/hwmp-simplest-regression-test-1-1.pcap b/src/mesh/test/dot11s/hwmp-simplest-regression-test-1-1.pcap index a9ab92bd5dfc5a4c04cff27876d4d7bf17fa0732..5562e4272d78b056413835e85cf94876e991cba2 100644 GIT binary patch literal 81147 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 Rq;2#S=3eu1-dM`U{{yupN5}vG literal 81147 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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 14d38beb3a0dcf3170d2c2b9f96a662656d90b0c..0e6f58413b3d12a55cb9f7d4bf6287aa22e06815 100644 GIT binary patch literal 10886 zcmd5?TZmOv82;C}jN?$wWEXWx=ag0trB0>hIBHYag|1dqkVNxR6cyP;GkfSzQC0+^ z6lECJOH@!+FELOI^iUAgKw9C8LPfWSZV!SL_I>|aXYaN5T6^}HmpLxn`&|CDzx99r zZT;(v`#$~P^@`M_HI5z?x!ZjhULmp??|C(G9o2z1B9+#CY`MOZpABD4_i?l5E*iXI z^xiGfu&uOo91spry>8vS=0uYt0%eWS-2q1akuBR%*2}h0H5Mo3hM*0#>Sx zW1iUfaIrSY92xczoF}WaD#url2D)0Qv)!P23EoH|&v{98tuS=l*ao090-YZ+SR<49 z0eDrD7*V>{lw0~c%n7WMaN9Y{$i>i&R})tdrKTZUF^40_uDYzim)R7%=i3=_87A{; z;_?8UvDV9hZ)QLe0qghH&?h-WzWf$f|QS0*U3|~#MxeAqFay3Wg$RoXR zz#iG#4K<&~EhSIXa%+yr*!sRWYF)PU<^jvCxl#J(&4~l{$n||t^IY7rYL;6QKKio& zwJ!7K_<;244=0FRi&tLT5L>>}?fWJq7}bW60b1(qw;6)nT}T<}s<{NI_83#O^YKoD zj_4Q67P%C!ye4pY=sHKts2p#eI8y}ZZfKHhJJEhJUHX~?JwYFatUzUB7uaYYrpgPZ zs`AW}3svUg*t)h`m5o|Mze-eo2_IuB?*nL>$$ph0<}2{mMR?_v>}}Q_Zpl4Z^2q@) z1DJso_$@8O<#bf-JiD*H1-M`_oxofF+{p_M=e&eDsfAfUG3*jnt(HHyi!~_B1%;d2 z3I);d;5-U$oagJuZ!r{?(u4hxwe5Nq)n8lfF_pESJ1w%dA`<+y1tK5dmDjea@|coPrF2-1nEK<48{X3D+%c6tUGybA`Y@7=m;H{Qxi=U!Pg1_+E`%jl86 zP(93-K?(T`1v!nDY?5b6h-n~NXu_PwtW^zdmXwghCnur_C_t~++2d3f5d`Ss0#$(i zPo@D;9C{an_8LYAq-)3G!EOjaJhY0VT0V__Q7u~NR{^ltS8qTX#G=Ks_NuzI^EsH0 zMXp(unTW<|j>Vrc?F(6BsP3fk3#whf&*rwXn#XUlTgBCsSn{1Iwq9I%4ZU=g?-5wwE*N#Q} zA-gu24NR5Ump~6njPgd5aa0_$e8lIYjwPnji4r<{IAXmdt8O`?tEgVMs2f+BqH)36 z+D2UHF9I~uCyNTvU3K{*MIV?d`rtWTVO(hW=h{0K`)kKya>TC9^N02;IcC<&HTX^W zWMlFTpclvF{3TuVzg`n~wM~XDXQReUw9YJc6^O9G+K!yl+yTHYjL)1ku(YeB#TTP3 zzO8 zyS?Z;&$oe9*5)-y9)`5Qi)sU@^ugdbc~xs zOYzWu8gRv-e;CrT&@caGX2jgO;Vk7IIR)(;z$xf{+|plW==}0uW)4aJva{o;b=h#1 z4@iq&iO@@l>T~XBLg~%81^H`()rO*3Zy$*tRWY-ZM^!So6Ssh$>Q3p$F@BDj6016X z@%ohV>&Wqd3@XT!fS-DZ(wp!*YT!Q#?0x}H59)`4QgRINEB`TJz1jNjVr3CYqh)6! zjrwp)(}?uT4^@B2s{KpisCD^oaUSsK@sTD_-Jm5Mg??1Q@F{lmNDbYQqX$jWJ1f!z zCW&$bwW?{6$Z`$`mpI7=)4_w*<@04c_b#S^<3t;oXa1-*m5@k-)b&+0K?H> zd|H2dB)=2DAlQ6WcS=`ZQO2){Sr~DCu!L)#I>zs6Fev6%-r;UEyLQ|Ec@f!~_b;LP_#WB30%>#uZfP3PF6A9=!)%?iHjY}Ci`L`;%RAgX z3I?;sI@~mnI@00NB*h&rrR5#27AO-p literal 10886 zcmd5?U2GLa6h3>~+m;5}z4xj>6?*0OL4Jz-mO{B21Okc`qa+YwUnCkKRt2p1U?W7U z#)Lp5ih)#KjF4!>7t=)3#0O1Gu!$gs7f8f_`XK59325qf&dlAN-I?vSFTG5d-P?O+ zznSm+&6&NN`{v9?8LFmo8y+TlR{znqjA#`;bMHYPmWB^Rx$<>jseGbq9^bvXiTNqB zS~hg<>ZTW~cR&5oGfGOd16b|&gZmKe$;$T%#h1^xHUc9=P|v?m>v@FlTlZGsL%G!~ zCu+bS+|SVpg{E-u&0Ub*fjjpr=*GH(G3PO+%x#FeO$5!&r^XB(HdYj_C7Y2&u^8>w z$ZA%Z+#r2-g~@zSsamZ=&r}=(^W#7ZnIBYW3I}sFv?ekS#yp5I7IP(4tMU_>XIl40 znO_A~xEjqo(D9Ar)dXXx%|y_a%(GUx{Q#-8RwdQCYY{8K8iD6&E6G|j>^i#j0x0xA zZHEX}X(T%UugVjL5WKq8>6-o-V=V0i+>SJO^Z>B9_n=!|>KAE0#&ENuD@)7pWi-T| zyHHE(FqnG}x&f$_)j=13s)fV>SP$;kJnwf4^^4EyQkL05$1ui;nxzZ1<}#VhCS-z< zm)S`-Uv6{*)>D5SmiZ1YA$dkk*JgQSD>S_=&R8y@3Bwz1& zRcbswiPJIqVtDIAxN{#uH(W}o((j~6-s`i8fUcX*5B3(+UtW#e1E*)%9>@}w?5hd7 z)Wf{w>0@2;ggXk#iRnaVaOd7z zrFol%P@fSD;BC&$4&H-@sDw3gC@}Luk0#JA{&svCGx!t?Lfh+k1KX#k&VE`s00=ZI z$<@=}$R6HVD}{WEgdBQHG{_?<#78{hpXDto^u=3(6v8=1yrqC5AOSt6Mi25(co3kI z6I25Ftw;f)fM8uT)@B=AAe`If585H({!mVi3<7UqkC0D6M6h5J0F!NX5>m?-BQdDw zj>ll!7d@GM0=#jYeer6fd=dUeod1SwXYmuw>r9h3_>B~672}s)G903thh^z@G-YXE zdVDY5cyE>AZjnIJu0Eu+m>V&Waxi!%2qXzEcDKC|bnVQhL*CZXAWGLWFCHm z(eIy8WjnK2kfk5atg?-*?5kH$#3-~JMK_eVGiNH5SWkmNa)!dTY$I9$1(5(~`@p#QF?(uQ2;}nyj3Z&3{n?rjNH>``TGis9Zh4#9^Plv*nT1DpXWY2-<;d!lO;8G0r^7el^8PyAu7Ob z!YAsJCxM>qlhYQ|u>GYE;jS_%!>J;b{GsxhMa{wjrXM@A=o5?zvgU;~DJ4F6QsPq) zNC0H$HvutE#V)w03PQmx1YF2KpC`n#`MEww6W(71W4_0j5o4oJ0utJ2VxxM{qx$hK zFZ@NO4%A}9W5f+e6RfB*K+cE4aq`T_2~i#|u=3c7taL9c-$}6XCzfqp>`x2{iDaz;7}SK3K)G+q?!;MMnYrhFOY7=oqO!Z5q-ddO}H_$X=7#f-f9zF zGmBWhL%^*qU{uVy*E+mT(3#o9bt6f=^$wpDt(0@7j=A{pOBENuFCjwNp6ECl436u& zN9LCU18eh@tijS%8`AjoU=*60U$`e!jNijxkjyW=!tL^o9asPJ!m%}^7;^{`Gg6=(2id@&@6|qr+v#1Mq6+R!-(~gUf~wK{gd0>s99RGIu4j#;r0nw zLWLVTQbj6UR!MS&%hL1;SMwW9pp1KkE1{5B;j;8#YK7a6QD~##H|`Z6Gk7Jj!e!~J zsTFP)vrBqw7WyYAx{C07Yo=qjl~l(39+{n1O=$bMtBH_bMXCvAumcRNL>_EZ>D9y` m@8YGkY(ZBVoYIao_>Yyf(yNIU@7S083fF;}rORv0H26Pa3MM1~ 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 c7089890624be588207ecb36936c5428371499d4..842e69fd013531c39779193d1a0f2eef458893e2 100644 GIT binary patch literal 15774 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%0A-Q@t9Nz`RmYU0yX$fis_xLuOfxb33 z3=U#6;!tMJ#cHd+-)r6SGUXwD!Zkqs{hkiYEi;K)w$KOWzkq>fMOG2iAIsDmx(j>wJv|M2zR+=4Wp$(-WN}KErD2-(&?!DXdlvb(5 zGEL`ZT;Gai$MrY#1(YT;M0K^<R3_0;=3o~cgJpqB71XdM+n&dLa zxJ5XDodKLDknzK_7|lyy`CobrC67L~nROAkS(@xd#dru0Zh@EorAIY6(|$(`^|8%B zZL4Ha^S|`CrdDr{pcWLNrecz%>3hM`c%~k{7Ok>~k!w+Wx{=qS#DKDH>Hs1v{i*;5 zCG=O}mL5Ob+lnLd5xOMv6YV14HwhXZKX!29_ZE&>9zO|hVOi4r!n<$EuOZh}#NaX* zc>Gv)8hr@gOL_d*y0|}}R;uz-WTRXJ{GP`bv2ddzfP&`E0)fX`+Y+ zH>&e5!G@BHQ(I%G|LFnh&pg!pOR(!|;Oz)%K@qAe=KZ$@%4%_2?ZTsC-0X#cZ0MKp)6AGyhvqkz;9T%)1LF4`Fz}q$1n05Nz=6!>R~}=Uk)wZV zzlI$BiQkXFAkOdnngBmL`ILuJe)TqwhVg6f3h*=j*-;7ba}LxJjBG#uK)nd;_uCzI zdGFpC$o;_xq(m!M>RtPBd2cQ>`4i+FAKN=`brMRA!?+zwRE)4T#M*YD%pL# z-L}g{*UX%_8DVf{X2;E(nEe6hUd$SwKC&mUw&T;4bZy(G=d^auy@9nEowWMO=jx3P z?hQnnWJ}RaaY!V~-mPWJ*A{3U*CaCw`pqKodk_pf&9m$@I=e5ApSF6KA3REz5)I>b z4GiM^K7U_;pG2xyu{f66&-ScEW4~SZ2l$!Dc^0Fm!GO9c1s#49_4q9U`;G6f$1lIm zA4^WWBLCkZaMXT#D-OlK#DjZ=&9C!ElN%5BvE~A(uig#R2exHV^XvR#^5`=W)Pf?^ zR7|>we-qs^u9JL5S;R=4j~$?qbv`k;fF2G`8tu)k^N*+e>@7!va}n^n6FJo5#}*=f zx8NaSKMB#2=9fJzWcf9u&L;+)c<}hK>@@laF3CN9B{rG%(oz1yJ2EU9elOvs!sBP` zmtW^kB-6X`%N?{pns}xUY2pibaHBfE&L2z4H=?L}b^-N$4>iBeuOx?8><-IXP=xA= znP2ChWH4OmguWt5gR>!ZKDlSS&Zp7t+&W+Ln@eymc%4rSwngiFW}jQYw&9$H3;eayPcI8{V#ye=?s)dVfg2I0tQY6|#2+|fWQ diff --git a/src/mesh/test/dot11s/hwmp-target-flags-regression-test-2-1.pcap b/src/mesh/test/dot11s/hwmp-target-flags-regression-test-2-1.pcap index f178ad16650f97f4b0b7545c6441c632f8304a21..4d3c49db63eddd3e932de7b29b468b80a6e95ad7 100644 GIT binary patch literal 13911 zcmd5?Ta2Am6<+&XrZW@hjID;Y*qI-CL)&Qw+76vgF9#WhW>g%+TWpNu1A+l`prQpI zJb@;TR+0v)Q5(o$Vr=1M#0Qf;kV%Nj3pz=Q7+%`MCRSRdS`z|l#&4~)&wtx{&p#)c zIkVIMKbN)7x7W9B|6Y4~_LY~OFHwaWV{VS+2M^ODm51&| zait>BY7@~)%;DkWc9jP3Wj4V#UrL+XhOI)Wv2b5_f)4>LA!rj^aiGwPkOl%Rp7R>! zIObNVCAjcFd*pIjo4mQ7fYb@J%u3A!+UCEe*Rp{YyKM;40P}dxyO`rJ&v;_tf!6W2 zv^JJ`Y~#lv4QLb3S#iXK0!`;sBAR?sliCw#Z#jYXz#GeG1VO-89ak!HHJeIf^yVLy zLE?$rPQ>6vV_eja9c>Sx+He`8?U)llePbC=j{rKG6t`^XC?MZYC)aoQQLA*cJq^e< z`Y0Zw^OGN^_rBTX2kfM202&vSi$MU@k{_pgwseP34|f4|Lq}fMV$av;)n5lttF)y% z4_NH^30kxIx{#W81JJmr#h#y_L$3uIz-#EG!dwz^AetDH&*DC!Es7WYsT>lhK zy$i2=O~NawurKTTIwTn7$PoS!z3>7%ue}XVQfjN%=VrOn7&{;DB<&de!ux{gB?rB? zS@ez%5Z!@Q_?pF)(%q))F}l_~v4M<0V+J;YESX$M^h5s8#$S;JBi^uVGeGy_l`sE} zl0l#BC5kX31t_2RR@TK8?kwPz<4eBcEu}2Tvo1gysC4n1A0tK_g~Y;*?edf=WS|p9 zhM|0uQD_ZOQsv1SmMqmSz;@D=vzku#U zbiDQnbW#CkwxCV{1B03MG|OxVWD<1COl_e$n-sHjJS~XXI&=gHdZqwZ)XEd0y6C>P zS>6Af=|&U?S&hM}|7E`?Q?v$HZ&+seDwNL@_EniWPzx5h61)orPF#rYd@J5OP17@9 z6_@$)=yVVA=)P6?$9?hUsZQ+U$N_;q+-yzLMF`3t)K#(bfh`d|bzH!#B01Dv~`x5+Ig-3ev#lI-axRLunh@ zyirwDt;V|CTSWlPdx#ezs-R}s`RR%|40PwABJ=oXeIHJ*owcx9dxo)LNz|LQtW-16 zaVUdsnW?tQ&qP4PU}o~<%AwE8tbenIS!~sRLK=u2T^kKSz88#RM|#1ksMavP#Lm-w zX><8XTupu?gk($G458j_p2*bo)ev}WIi2Qr5b9eRN>-Gb2Kp4>0eCxj1V?#k> z={t}HY-kngRvVV&VIkCG8?sWyW5dsGZ*w2gs<(nxA^}23WP^fLsk6v-Z2Wkr%oyri z?0wpOVBn;b=+3vF?K^jQ^c+NXR z!8xK9--=H|Yv%I@H;Q_m{{0zr2*zy_icdrP%`dw)g-{P}1ZsPfZ$64oL$AfV$FWGnG`;QYr+{i33C5TJR764=V)C1x-R9g-kXWuYww-#&wz!%ynJWDqLTnEr&1 z&(crmCBv_TYU%J32F&l%`1_2*PuN?2W$Qox!zS@xOAZBC(R;zb;U~$-(&EFlG4uGp z`^1Nyndz+|)c^DW^^}uK#YYWf4vcQ|qgLq`Tl2{|cWqI-KQ3T! zb#~*N4_haId)iwEmU(BDnE!ju0 zqJIK|aAU9)98>zMaCB=PtbRl{>+@ib(xRf-`?3JGZ-C0|3S!(us*3QIagjpE*ZTN!Lei`V_+Ht)6 zz2?aWk)qp_HEllRj|sHeVTRp`@Ie8(rkO=O-xllL=HVy0v-C?JDdHC~OFb-z_>Ikn zd^K+wzlXuV@n6hu$L$_|8nNm{Q)5!@VaSs4-{D~oKhd3UzlGGT^4RI=U^tJ1y=-BXj?y0BV&!IgkeADpK5wjWh2P3A6HQ5Ox1vpk8uvskj&I zHc(X+>1^L7+me^MHASp_K{QjKuR?6aiQO%s}8}Xx7>G&OK!2be48OF>2 literal 13911 zcmd5?U2I%O6+W}}I=0oun_WaS;Z z=}&Y?@w;ljuDp6f-+}Rm57T3mxs(11O& z+m(A(6eTMetZD;tuN)wHACURJh}+XBo*l;=tEu+?Ra2kc^Z!Jn!GPYyevrI`(Fi*` z=l7W7*+xc3FUs7`*?~D8a~Tz>%2BV>%oQcl{1I4*G={m=@uj#lcFxwf zi0**od{5$bJkdx~r3&Wo<;8Z9`tdLw;9D-c>NajGP!)}W*To0;AkY$mCcp&;U@u`b z;%IixYnbDyTSg7R#XH(#S6peb>V68No};B!YQ)jD{MB8{IGQ!vAVwq1?VNWp$77zd z#Nr*T<8Q7shPl=8lNgOiW9O8QsFM+$ zI@<06vW`B2ZFFJsGCv-|}O0=}W7_vKHxg zKuuhU6aP)y9uVoDm;* zYzsj5H{h%Bk|9E)||8dqqI0bG9P(erCvqw>@FO008|aC`_$e+c*~pDVr}2RAsTQ-gyQ(OL<$=3mQr%tINhbMw4YS!< zdG%RE9rQ3iU7CyeefI+ae%9D8bO-pk#&-F+x?MK>^0$&1+H(dpaRrk8KRECCX{v(m zW#L3Js}ZSGh0jG3iS{|0rZ|sjpBqY{hrG(DJ?mBVBq$zj{W$S$9{3l~J&(2)KY>mv z!ptP#X%-Xl0%qNfG8+V$1l=%8`IE!U^`}KKTaS()K~E*%ifDNvk$qjGvi~{NjR;VZ zh5oWX5Gh)#k}U{*kG`^5C>tq?vjKG=7c6lmcoz&jzp$Auzj&IVXTPFN7K)=Y-H4+H zR%f^S{Nibn+S{vIab9#5>8m|iz|ospVlH5I_&G7dD!4EH*@RqoFn)vt4jjnxVUliR~WjaA$*C_hS8`@&B8@*jk(0h0X zT!h~Au@pvFToeT58u+}WF&KfWH<9qVl+}*+c`Tw=<3kK zjff&*)y1zY7&jHo%zjTG~#K( zuWUWdSDNE#bv0fdXo?LZR=2Ds7S^)ydm5QgcfJ@Bo{#L*u-MKp&ZCWUvGcphm zNSxlVWY@q^QvKw{bqg&~N}#s^=Luw0I*-vv_}e+}3`XZzf6hM*t*Or)+@!_xI)qMo z79E1}+l2hn&_4CcuFWyjgPVZbUd=Wi`KO^*>6TLw)FPEOyMU~GJ`X%??(p$apB6E4 zyo3~3gCe=1Y(_`H3`QYC;v^!h9M19Rr}5(PbGMw*Si;ZUp(U>@1AYZ$OOKys!2CXi z-)B62+WqT?0>*yfLxF@}Qw{}~!Tn(1@zcS{qxpwxW9rF&_i7skf^#PvUin_1f7DP@ zXJ@v>Q2)~l)Kgw8WyxG7bckPaz0KZhpBY8^KiGInGSeHY$ zDf~WG4e-+zV)my{^4x=WzB50xnbxZW4!9~+99D7pkm)7ND6>l+lrj2Vlp_&z)0mGX z=sk_1Ke8u^ZVna36ZH6jh;HnB*>6Qv;`xP5=|9-#uAOR^by}p#7;6nhHA-Q3%Ss$YU_M5QAk9Vfnr2gnI7zU7AIp+;Z?(;6(&izdcxN-wJ2Gun&t=o8Uilt;gr+l!jLF)Z24YfS;r$(_0vR;o3Xl*Oc0g`E3USkDr#E zM~~ke;Fqesjemw~(`CT#JL?1dto`!qqGRgK^TW_YF!in;LXz}zT7F$LsdgOapKXGu c7lwiQ44~7QGQTdWsgu1UVbmfWzsm*uFC=c?h5!Hn diff --git a/src/mesh/test/dot11s/hwmp-target-flags-regression-test-3-1.pcap b/src/mesh/test/dot11s/hwmp-target-flags-regression-test-3-1.pcap index 96da9999e6c50146acadf7174c4065a55f6fc7f2..9dc1938a86ab6d45ddaef2154debd777f75e86ab 100644 GIT binary patch literal 7848 zcmd5>U2GIp6h3!ncUh{o3sqYKZKpyhm{OWl3&oZ$hBkymQZ+Fq`p_4pCRM6PofVN)t6Ek{YWqB$`G^eC5Fh1SKT+s`WeP-kq79xp$|HhULPYo$fjF z-SdCWwAa49d@e&-DzC*wqSwt2SNn)|;GXvay_1u#GjjFH*9JwT3J0it?*^1em` zQET9v`3mY$ZBT71P|pk!fkE~H9g03{ELo%m;SOzSteELPn9C>%plB`JktXYzn?yTt z9`7magg%~6jo{&RLtGS|3+ejsrFNxeA-V$QL?~#{wW_!-JrwrcikfnpHiyQ+f$xIq zP%z->`@>>TO*IDX5rZNQgW!xBG{f;})(Ef?jt$&?8`MzqIekXONu_F7mqj+oHKffo(=WP4mOKBgz$MMjD@{!NbcEXg3pq zHh-)@BYZga6m~LlN2wP)yb^$Q^y`WnN*z`4@cm}}$`mns=mL1Gs5v@Thyt=U=aCQ9 z#T=s-x{7wdIy%$Xmgg(Nf1*p5IOGd?q&MZWCYilDr991# zI|({QKflU}p4HrA;KE|`w&kLqeuQWU5A(J+$>a2pI?_hug9FWyMVfAudwucB<$*t& zA9W_3Bsue}SrbiLgCrn)*}InLGCp}vdt558gi5+hh+*)Z2ebK1G{&T1opMxy!Pt~+ z#5qMPX@a@#&0;~X^hX_L(?F*{LW6QR7;RYxky=H=VGVkH^cUEqy24h zz^xsg%S0x7=LC#0aDY1>GjM7qaDW6g`~B($C%SRK@etkZUI%*nfD_%wzM#=1cvv25 zrK$`b30J;M3_8(`>}NytmgS;{C#~vnwsEtv#n7;n-_op_b#nzn+Mq+lsEQ(OEO8Au;r-nvHikqeEK{%}Am{Ny5uX z;!KW?5AmbYF9~JyN_3p;wU|r9;LEzce6kNlV@KZu8vk1PM59o=4|1|*=M>f5>ps{E z4Z?6`39*7ud~$1=NsHQ~nO5x@JS_c?P1*%R8k3gIASQhgpghU&4yKuCd}kLb5-tD) zzg}6*t@C#gaG?g#7d;lKVVg7IL@4H&?Y9V|^)Z3tLraWTO82!uAPyQ?6$15ccODrS z_Dk?o&$H_W*{?Q@N{%P{Q~F5Wqh=dAXK+RFHGYZI- zs7HWQpCWs-5$sbWp04E-$r_wk;hL40nm#L))GssLqNBwPe{Y5xE+(v&J}Z&hy=RLZ zHAkOy$KBA-8ciU1&J6Rc#410n#1-`;_7WF5sU{_kHE4$hVSzCEF+u9wCKSNxnOKAl zSXs_Qt_rc9WT;%gD>IRg_!{NMfo^8G(Gb0Dx#&L+S~Qcw#b+NLik@w{ZAEkP!G#s~ zT;(f{%#p$uOcad%0npu6{TFt45w)@T1|udz(eU> zd`#Va4u3zvvb2wnpF;cCvn5{b)4RB@#&0=LbM$;)6p-`b3U(qDDnexp99Z@)4$fM3 zan|58-U<_?Of+C>dKaHmjd$_K7c7e#h6dq=TM4VBckv!I{T}~Oz=E2iyFd+pzsX{L z(PGKxK#7?)OE&OhX4t2!8MWfQK<9Jlq?&Yb7IY38B%CB2g{e)pDMhH|eq;2r*W*yX zn$%;~;FWfZe&Qj%JiE@~Kk=@9StB(GF0A;QbKHM5(=WZ6O{v~f{M#K%z}M0BT}Y$% Zcf_MUy_%KOh0Xj|6bovOP7Ox^{{@Xdyf^>= literal 7848 zcmd5>U2IfE6h5=tU6!i!c2}ha+Ac!*F$J1b3&j=|LkS^~R85SDKJ-Pw1f_~Z9vk4H z37UWqc|ik_2Ou%2kf51eR*7jV}pfO`mbo0|5vn;r->ehqC9`YoRuM(Yo@q-V2Ee|-g#c7 zA=?_bb2+wpNE=k!3aclFi69_zhW6XvHI@vhEe8S1md1*?!F`3CB3WbsS`2q&>3Z@8 z(PqfymEGI+iFP}q6XHsyM44vhn_ zcd_ar7|IO%;V`IPH3sbygCY*Y;Is{z-3{BZi9@&%gFrb?5L;o%6h z8>v9Me7HngA4NQ4yk1LezRn=mOq(PUg8(VAx$-#}D>}*{Zx~j7cLp<){W} zHYFQzTG4#k%~JPfFoR2jw!>Tu422|vdN?o$_%R2$3hZ!LgkJ9nhq4ZbQ}QJW5Ds15 za1hKe*km8x_7kYxUMJfGm&w?w181N9N^E#b~rT`I)E)HhomdZz39dPM!T z_Zf{Y!NURJtW@#fk#Oag-NRmVqx-1{y>qVUpD!p6U z@qiCfZt*T~9e`VaYo1rhoI3?b6v3+Jyc5b?giMs)rZj0)v|4rbD-S58AP#uVF3_>f#+e zeNZu_X+^E~x)1h)K@_fH6Ykm=Y?&w5WtlY4Ce3we*Wfz=M+GNbFY?2fv~C6geG#C1 zlHnPiX6*Q`%)}Bd1cbaE6={XI=1pe-7csCO^mw&xy*J@RDVDi7=upT$&EU``$1A1# zTBr~Qjf|K={TsYnhKBtTGL7@>nn6aM;V%rFdXDSbBbkuyPuWNEK6SBeh3w#H(l0MZ zlP*=0JvIACew$XF^Pm*O!5J-MRspRYrKaKh|F*GW(Pm99HjjAStwZN%U{@KAOaA5(Xp!|x{;j`s2KQ)nOC*Cwldb{DUz zT{k_b1$utK2IS|9OPHxth=s}+BruZyNztK#BGb$+&J0fAsW4T_gaNN+ckyvmxq}~H zFdS~!Gz>S~Oj#|vi}$I?_xMKv2Wo-t05$smCad{Hrz4+35>wrdY>4#&bJR-qf~1q0 z(#4tIG#I3uBproU7rIU #include #include @@ -56,6 +57,7 @@ AsciiToLowCase (char c) } } +uint64_t Mac16Address::m_allocationIndex = 0; Mac16Address::Mac16Address () { @@ -140,14 +142,26 @@ Mac16Address Mac16Address::Allocate (void) { NS_LOG_FUNCTION_NOARGS (); - static uint64_t id = 0; - id++; + + if (m_allocationIndex == 0) + { + Simulator::ScheduleDestroy (Mac16Address::ResetAllocationIndex); + } + + m_allocationIndex++; Mac16Address address; - address.m_address[0] = (id >> 8) & 0xff; - address.m_address[1] = (id >> 0) & 0xff; + address.m_address[0] = (m_allocationIndex >> 8) & 0xff; + address.m_address[1] = m_allocationIndex & 0xff; return address; } +void +Mac16Address::ResetAllocationIndex () +{ + NS_LOG_FUNCTION_NOARGS (); + m_allocationIndex = 0; +} + uint8_t Mac16Address::GetType (void) { diff --git a/src/network/utils/mac16-address.h b/src/network/utils/mac16-address.h index 52642f569..4a75f3edf 100644 --- a/src/network/utils/mac16-address.h +++ b/src/network/utils/mac16-address.h @@ -86,6 +86,21 @@ public: */ static Mac16Address Allocate (void); + /** + * Reset the Mac16Address allocation index. + * + * This function resets (to zero) the global integer + * that is used for unique address allocation. + * It is automatically called whenever + * \code + * SimulatorDestroy (); + * \endcode + * is called. It may also be optionally called + * by user code if there is a need to force a reset + * of this allocation index. + */ + static void ResetAllocationIndex (); + /** * \returns the broadcast address (0xFFFF) */ @@ -191,6 +206,7 @@ private: */ friend std::istream& operator>> (std::istream& is, Mac16Address & address); + static uint64_t m_allocationIndex; //!< Address allocation index uint8_t m_address[2]; //!< address value }; diff --git a/src/network/utils/mac48-address.cc b/src/network/utils/mac48-address.cc index 1d9bbf6fa..5789dfc6f 100644 --- a/src/network/utils/mac48-address.cc +++ b/src/network/utils/mac48-address.cc @@ -21,6 +21,7 @@ #include "ns3/address.h" #include "ns3/assert.h" #include "ns3/log.h" +#include "ns3/simulator.h" #include #include #include @@ -56,6 +57,7 @@ AsciiToLowCase (char c) } } +uint64_t Mac48Address::m_allocationIndex = 0; Mac48Address::Mac48Address () { @@ -135,17 +137,30 @@ Mac48Address Mac48Address::Allocate (void) { NS_LOG_FUNCTION_NOARGS (); - static uint64_t id = 0; - id++; + + if (m_allocationIndex == 0) + { + Simulator::ScheduleDestroy (Mac48Address::ResetAllocationIndex); + } + + m_allocationIndex++; Mac48Address address; - address.m_address[0] = (id >> 40) & 0xff; - address.m_address[1] = (id >> 32) & 0xff; - address.m_address[2] = (id >> 24) & 0xff; - address.m_address[3] = (id >> 16) & 0xff; - address.m_address[4] = (id >> 8) & 0xff; - address.m_address[5] = (id >> 0) & 0xff; + address.m_address[0] = (m_allocationIndex >> 40) & 0xff; + address.m_address[1] = (m_allocationIndex >> 32) & 0xff; + address.m_address[2] = (m_allocationIndex >> 24) & 0xff; + address.m_address[3] = (m_allocationIndex >> 16) & 0xff; + address.m_address[4] = (m_allocationIndex >> 8) & 0xff; + address.m_address[5] = m_allocationIndex & 0xff; return address; } + +void +Mac48Address::ResetAllocationIndex () +{ + NS_LOG_FUNCTION_NOARGS (); + m_allocationIndex = 0; +} + uint8_t Mac48Address::GetType (void) { diff --git a/src/network/utils/mac48-address.h b/src/network/utils/mac48-address.h index a012b3764..98684a7d2 100644 --- a/src/network/utils/mac48-address.h +++ b/src/network/utils/mac48-address.h @@ -90,6 +90,21 @@ public: */ static Mac48Address Allocate (void); + /** + * Reset the Mac48Address allocation index. + * + * This function resets (to zero) the global integer + * that is used for unique address allocation. + * It is automatically called whenever + * \code + * SimulatorDestroy (); + * \endcode + * is called. It may also be optionally called + * by user code if there is a need to force a reset + * of this allocation index. + */ + static void ResetAllocationIndex (); + /** * \returns true if this is a broadcast address, false otherwise. */ @@ -195,6 +210,7 @@ private: */ friend std::istream& operator>> (std::istream& is, Mac48Address & address); + static uint64_t m_allocationIndex; //!< Address allocation index uint8_t m_address[6]; //!< address value }; diff --git a/src/network/utils/mac64-address.cc b/src/network/utils/mac64-address.cc index ddcd19b4c..4efcc5907 100644 --- a/src/network/utils/mac64-address.cc +++ b/src/network/utils/mac64-address.cc @@ -21,6 +21,7 @@ #include "ns3/address.h" #include "ns3/assert.h" #include "ns3/log.h" +#include "ns3/simulator.h" #include #include #include @@ -56,6 +57,7 @@ AsciiToLowCase (char c) } } +uint64_t Mac64Address::m_allocationIndex = 0; Mac64Address::Mac64Address () { @@ -137,19 +139,32 @@ Mac64Address Mac64Address::Allocate (void) { NS_LOG_FUNCTION_NOARGS (); - static uint64_t id = 0; - id++; + + if (m_allocationIndex == 0) + { + Simulator::ScheduleDestroy (Mac64Address::ResetAllocationIndex); + } + + m_allocationIndex++; Mac64Address address; - address.m_address[0] = (id >> 56) & 0xff; - address.m_address[1] = (id >> 48) & 0xff; - address.m_address[2] = (id >> 40) & 0xff; - address.m_address[3] = (id >> 32) & 0xff; - address.m_address[4] = (id >> 24) & 0xff; - address.m_address[5] = (id >> 16) & 0xff; - address.m_address[6] = (id >> 8) & 0xff; - address.m_address[7] = (id >> 0) & 0xff; + address.m_address[0] = (m_allocationIndex >> 56) & 0xff; + address.m_address[1] = (m_allocationIndex >> 48) & 0xff; + address.m_address[2] = (m_allocationIndex >> 40) & 0xff; + address.m_address[3] = (m_allocationIndex >> 32) & 0xff; + address.m_address[4] = (m_allocationIndex >> 24) & 0xff; + address.m_address[5] = (m_allocationIndex >> 16) & 0xff; + address.m_address[6] = (m_allocationIndex >> 8) & 0xff; + address.m_address[7] = m_allocationIndex & 0xff; return address; } + +void +Mac64Address::ResetAllocationIndex () +{ + NS_LOG_FUNCTION_NOARGS (); + m_allocationIndex = 0; +} + uint8_t Mac64Address::GetType (void) { diff --git a/src/network/utils/mac64-address.h b/src/network/utils/mac64-address.h index 73e7498df..da22a650d 100644 --- a/src/network/utils/mac64-address.h +++ b/src/network/utils/mac64-address.h @@ -88,6 +88,22 @@ public: * \returns newly allocated mac64Address */ static Mac64Address Allocate (void); + + /** + * Reset the Mac64Address allocation index. + * + * This function resets (to zero) the global integer + * that is used for unique address allocation. + * It is automatically called whenever + * \code + * SimulatorDestroy (); + * \endcode + * is called. It may also be optionally called + * by user code if there is a need to force a reset + * of this allocation index. + */ + static void ResetAllocationIndex (); + private: /** * \returns a new Address instance @@ -147,6 +163,7 @@ private: */ friend std::istream& operator>> (std::istream& is, Mac64Address & address); + static uint64_t m_allocationIndex; //!< Address allocation index uint8_t m_address[8]; //!< address value }; diff --git a/src/network/utils/mac8-address.cc b/src/network/utils/mac8-address.cc index fb6fced64..3f47117fe 100644 --- a/src/network/utils/mac8-address.cc +++ b/src/network/utils/mac8-address.cc @@ -20,9 +20,15 @@ #include "mac8-address.h" #include "ns3/address.h" +#include "ns3/simulator.h" +#include "ns3/log.h" namespace ns3 { +NS_LOG_COMPONENT_DEFINE ("Mac8Address"); + +uint8_t Mac8Address::m_allocationIndex = 0; + Mac8Address::Mac8Address () { m_address = 255; @@ -88,20 +94,34 @@ Mac8Address::GetBroadcast () { return Mac8Address (255); } + Mac8Address Mac8Address::Allocate () { - static uint8_t nextAllocated = 0; + NS_LOG_FUNCTION_NOARGS (); - uint8_t address = nextAllocated++; - if (nextAllocated == 255) + if (m_allocationIndex == 0) { - nextAllocated = 0; + Simulator::ScheduleDestroy (Mac8Address::ResetAllocationIndex); + } + + uint8_t address = m_allocationIndex++; + if (m_allocationIndex == 255) + { + m_allocationIndex = 0; } return Mac8Address (address); } +void +Mac8Address::ResetAllocationIndex () +{ + NS_LOG_FUNCTION_NOARGS (); + + m_allocationIndex = 0; +} + bool operator < (const Mac8Address &a, const Mac8Address &b) { diff --git a/src/network/utils/mac8-address.h b/src/network/utils/mac8-address.h index 6720f5fb1..3f1a2c82a 100644 --- a/src/network/utils/mac8-address.h +++ b/src/network/utils/mac8-address.h @@ -107,8 +107,23 @@ public: */ static Mac8Address Allocate (); + /** + * Reset the Mac8Address allocation index. + * + * This function resets (to zero) the global integer + * that is used for unique address allocation. + * It is automatically called whenever + * \code + * SimulatorDestroy (); + * \endcode + * is called. It may also be optionally called + * by user code if there is a need to force a reset + * of this allocation index. + */ + static void ResetAllocationIndex (); private: + static uint8_t m_allocationIndex; //!< Address allocation index uint8_t m_address; //!< The address. /**