1. Make connection count (m_cnCount) a separate variable from the number of
connection retries (m_cnRetries), so that the number of connection retries
can be cloned without affecting the number of connections to be made in the
cloned sockets.
2. There was a case that the m_highTxMark was mistaken as m_nextTxSequence
3. Update m_lastRtt correctly, fixes bug 1242
4. The endpoint allocation/deallocation is rewritten so that the endpoint
remembers the correct peer's address and it is deleted upon close.
RecvFrom() call now use the data in endpoint to return the peer's address,
and the socket closes nicely.
5. TcpL4Protocol::m_sockets now holds a complete list of all existing sockets
6. RST packet is sent before CloseAndNotify() is called, so that m_endPoint is
not yet destroyed, fixes bug 1166
7. Fix cwnd deflation bug in partial ACK handling in TcpNewReno
8. Created attributes for fast retransmit threshold (m_retxThresh) and max
advertised window size (m_maxWinSize)
9. Refactor SendPendingData() and DoRetransmit(), created SendDataPacket()
10. Call NotifySend() after connection established in ProcessSynSent() and
ProcessSynRcvd()
11. Defines new flags in TcpHeader: ECE and CWR (see RFC3168)
12. Prepared hooks for TCP option handling
13. Code tidy up
14. Fix the definition of out-of-order packets
15. TCP can now move from TIME_WAIT state to CLOSED state after 2*MSL
16. Implemented limited transmit (RFC3042) in TcpNewReno, c.f. bug 1227
17. Added Raj's email to the preamble, as TcpSocketBase was modified from
TcpSocketImpl.
This change reorganises the Wi-Fi MAC high classes in attempt to
reduce duplication of functionality that is required for more than one
of the MAC high models. A new class called RegularWifiMac has been
created. This derives from the abstract WifiMac, and is parent of
AdhocWifiMac, StaWifiMac, ApWifiMac, and MeshWifiInterfaceMac. The QoS
and non-QoS class variants are no longer, with a RegularWifiMac
attribute "QosSupported" allowing selection between these two modes of
operation. QosWifiMacHelper and NqosWifiMacHelper continue to work as
previously.
Updates to some regression traces are necessary because the
reorganisation has led to random number streams being initialised in
slightly different orders and thus over-the-air timing changing.
This patch attempts to lay some groundwork for enhancements to the Wi-Fi module
by bringing the representation of transmit rates more in line with the
standard.
The key part of the patch is the introduction of a type that corresponds to the
notion of Modulation Class described in IEEE 802.11-2007, Section 9.6.1, Table
9-2.
It also adds coding rate information to the WifiModes and centralises their
construction into a single WifiModeFactory method. The rates are also renamed
with reference to their Modulation Class.
WifiModes no longer have a WifiStandard, but the latter type still exists and is
used to imply the set of WifiModes that a MAC/PHY pair will support.