prevent silently dropping Packet in TrafficControlLayer::Send
Without this fix, packets are silently dropped by
TrafficControlLayer::Send
when (1) TrafficControlLayer is disabled on
this Node, and (2) the relevant NetDevice queue is full. Packets will
not be silently dropped anymore since the NetDevice should fire a
TraceSource if it is unable to enqueue the Packet.
Background
I encountered this problem while running a simulation with TrafficControlLayer disabled. I noticed that TCP was detecting packet loss, but none of the TraceSources I hooked into fired to indicate that a packet was being dropped. It took a while to find, but Packets are silently dropped in TrafficControlLayer::Send (ie. no TraceSource is fired) when the target NetDevice queue is full.
The proposed fix is an improvement because TCL will send the Packet to the NetDevice regardless of whether the the NetDevice's queue is full. If the NetDevice's queue is full, then the NetDevice should fire a TraceSource to indicate that the Packet has been dropped. I believe this is the desired behavior if TCL is disabled.