4ad01e18e3
As the comment in the code says, eventually there will be a proper data structure (e.g NetBSD's struct m_tag) to store chains of annotations, and mbuf-handling procedures will handle these chains in the correct way. Right now, these chains do not exist, and we just use the constants defined here to implement simple ad-hoc solutions to remove some global variables used so far to pass around informations about packets being processed. Global variables are not only ugly and make the code unreadable, they also prevent from using parallelism in network stack processing. (the 3-days MFC only refers to this commit, i.e. the PACKET_TAG_* constants; the full mechanism will be committed and MFC'ed on a longer timescale). MFC after: 3 days