Scout Module API

Packet Tagging

Chapter 4. Packet Tagging

The Scout module tags every outgoing packet with the ID of the sending slice, by placing the slice ID in the nfmark field of the sk_buff containing the packet. This tag is used by the Hierarchical Token Bucket traffic controller to assign the packet to the correct token bucket; currently, each slice with an ID of at least 500 has its own token bucket, and packets sent by other users end up in the "default" bucket. A limitation of this approach is that other modules that use the netfilter interface (e.g., iptables) could try to write to the nfmark field as well; currently, no such conflicts are known in PlanetLab.