Hi,
Nice you spot it.
To be clear, the mcs variable used there is just a variable to go through all possible rates for SISO 802.11n systems, and it is indeed confusing with the real MCS definition.
And you are right, MIMO is not (yet) supported.
I recently refactored the ht-wifi-network.cc example, and I had indeed in my mind to rename the mcs variable into i or j or whatever. But for an unknown reason, I forgot to rename it. I will open a comment in Bugzilla to refactor this again.
Concerning the rate adaptation algorithms for 802.11n, I was indeed making reference to Arf and Aarf, but not only: ALL rate adaptation algorithms (RAA) implemented in ns-3 do not PROPERLY work with 802.11n. It only works fine with the legacy rates, but not with the HT rates. The reason behind this is that legacy rates are part of the deviceRateSet, while HT rates are part of deviceMcsSet. Since RAA implemtations were done before .11n, they do not go through deviceMcsSet.
The fix seems easy: add support for deviceMcsSet in existing RAA.
But in 802.11n, it is a bit more complicated than that, it needs not only to select the MCS, but also the channel width, the guard interval, the number of SS (ok, no MIMO for the moment, but we must think of future implementations), and so forth. So, we need to implement new HT RAA.
Some already exist, we just need some brave people to implement them in ns-3 :-)
And finally, you should indeed not blindly trust your .11n results, Some differences will be observed with HT RAA.
I hope it is clearer now.
And if you need it for your work, feel free to start implementing it (we may help you in this task).
Cheers,
Sébastien.