I am using the Linux's traffic control (
tc) utility, which to my understanding is used to configure the Linux kernel packet scheduler.
I am also using the
netem command in
tc to add delay, drop, or corrupt traffic.
My main question is, does the
netem modify transport layer datagrams, IP packets, or Link layer frames (like Ethernet)?
I found this page which explains the network communication flow in the Linux kernel. It mentions that the shaping and queuing disciplines are made in the "Layer 2: Link layer (e.g. Ethernet)". Does this mean that
netem adds its corruption, loss, or delay on frames (layer 2)?
tc filter allows you to apply traffic rules to a certain IP:port pair, does that mean it operates on the transport layer datagrams (layer 4)?