Re: [PATCH net-next] fq_codel: report congestion notification at enqueue time

Eric Dumazet
2012-06-29T05:50:08Z

On Thu, 2012-06-28 at 22:29 -0700, David Miller wrote:

> I am pretty sure the behavior in RED is intentional.
>
> It's a soft push back on TCP.
>

tcp_enter_cwr() is called the same for DROP and CN

> We're taking this path when we are unable to sucessfully ECN mark a
> packet. But our intention was to do so.
>

Hmm, problem is the sender thinks the packet was queued for
transmission.

ret = macvlan_queue_xmit(skb, dev);
if (likely(ret == NET_XMIT_SUCCESS || ret == NET_XMIT_CN)) {
struct macvlan_pcpu_stats *pcpu_stats;

pcpu_stats = this_cpu_ptr(vlan->pcpu_stats);
u64_stats_update_begin(&pcpu_stats->syncp);
pcpu_stats->tx_packets++;
pcpu_stats->tx_bytes += len;
u64_stats_update_end(&pcpu_stats->syncp);
} else {
this_cpu_inc(vlan->pcpu_stats->tx_dropped);
}

NET_XMIT_CN has a lazy semantic it seems.

I will just dont rely on it.