Packet types in ns have traditionally been encoded as a enum and therefore
determined at compilation time. Developers introducing new packet types
needed to manually insert a new enum value toward the end of the list (right
before PT_NTYPES
). This is a big limitation for the development of
dynamic loadable modules which cannot rely on this manual modification.
To overcome this limitation, a new interface for the dynamic registration of packet types has been added, which allows to request to the simulator the allocations of new packet types. This registration is supposed to be performed at initialization time by each module willing to define new packet types.
The registration interface consists of a new method added to the p_info class:
int p_info::addPacket(char *name)