diff --git a/src/internet-stack/ipv4-l3-protocol.h b/src/internet-stack/ipv4-l3-protocol.h index a22425034..006434d46 100644 --- a/src/internet-stack/ipv4-l3-protocol.h +++ b/src/internet-stack/ipv4-l3-protocol.h @@ -53,6 +53,16 @@ class Icmpv4L4Protocol; * * This is the actual implementation of IP. It contains APIs to send and * receive packets at the IP layer, as well as APIs for IP routing. + * + * This class contains two distinct groups of trace sources. The + * trace sources 'Rx' and 'Tx' are called, respectively, immediately + * after receiving from the NetDevice and immediately before sending + * to a NetDevice for transmitting a packet. These are low level + * trace sources that include the Ipv4Header already serialized into + * the packet. In contrast, the Drop, SendOutgoing, UnicastForward, + * and LocalDeliver trace sources are slightly higher-level and pass + * around the Ipv4Header as an explicit parameter and not as part of + * the packet. */ class Ipv4L3Protocol : public Ipv4 { diff --git a/src/internet-stack/ipv6-l3-protocol.h b/src/internet-stack/ipv6-l3-protocol.h index ecbef39c1..c11961c72 100644 --- a/src/internet-stack/ipv6-l3-protocol.h +++ b/src/internet-stack/ipv6-l3-protocol.h @@ -44,6 +44,16 @@ class Ipv6AutoconfiguredPrefix; /** * \class Ipv6L3Protocol * \brief IPv6 layer implementation. + * + * This class contains two distinct groups of trace sources. The + * trace sources 'Rx' and 'Tx' are called, respectively, immediately + * after receiving from the NetDevice and immediately before sending + * to a NetDevice for transmitting a packet. These are low level + * trace sources that include the Ipv4Header already serialized into + * the packet. In contrast, the Drop, SendOutgoing, UnicastForward, + * and LocalDeliver trace sources are slightly higher-level and pass + * around the Ipv4Header as an explicit parameter and not as part of + * the packet. */ class Ipv6L3Protocol : public Ipv6 {