What is a separate flow in Linux fq_codel? What is a separate flow in Linux fq_codel? linux linux

What is a separate flow in Linux fq_codel?


It seems both source and destination ports are included, at least by default:

http://lxr.free-electrons.com/source/net/core/flow_dissector.c#L655

655 /**656  * __skb_get_hash: calculate a flow hash657  * @skb: sk_buff to calculate flow hash from658  *659  * This function calculates a flow hash based on src/dst addresses660  * and src/dst port numbers.  Sets hash in skb to non-zero hash value661  * on success, zero indicates no valid hash.  Also, sets l4_hash in skb662  * if hash is a canonical 4-tuple hash over transport ports.663  */664 void __skb_get_hash(struct sk_buff *skb)


Per http://mdh.diva-portal.org/smash/get/diva2:754020/FULLTEXT01.pdf (someone's PhD thesis):

The flows are separated by hashing a 5-tuple value from the packet (default is src/dest port/ip and protocol) together with a random number

Apart from default bit, it's clear.