next up previous
Next: RAW sockets Up: Tagging incoming packets Previous: UDP

TCP

For TCP packets, we need to handle two special cases additional to the operations involved in UDP and ICMP packets. The special cases have to do with peer credentials. The use of peer credentials on PlanetLab is overloaded, and hence somewhat complicated. Peer credentials are used to two ends: to ascertain the credentials of a local communicating peer, and to instruct VNET+ to tag the packets of a connection with a particular value. The latter functionality is used by proxy servers such as CoDemux to attribute the traffic it proxies to the slice on behalf of which it processes it. Thus, if VNET+ discovers that the peercred of a socket does not correspond to the value of the corresponding connection structure, then it assumes that the value of the peercred has been set deliberately, and uses this value to tag packets associated with this socket.



2008-09-17