Improve availability of IPv6 flow label in connection records.

Without this change, flow labeling of connections over IPv6 are
only available in the per-packet types of events (e.g. new_packet)
in which header fields can be inspected, but now minimal tracking
of the most recent flow label is done internally and that's available
per-connection for all events that use connection record arguments.

Specifically, this adds a "flow_label" field to the "endpoint" record
type, which is used for both the "orig" and "resp" fields of
"connection" records.  The new "connection_flow_label_changed" event
also allows tracking of changes in flow labels: it's raised each time
one direction of the connection starts using a different label.
This commit is contained in:
Jon Siwek 2012-05-22 15:18:33 -05:00
parent 60df9582d3
commit 5312b21d7b
9 changed files with 192 additions and 9 deletions

View file

@ -142,7 +142,7 @@ protected:
friend class TimerMgrExpireTimer;
Connection* NewConn(HashKey* k, double t, const ConnID* id,
const u_char* data, int proto);
const u_char* data, int proto, uint32 flow_label);
// Check whether the tag of the current packet is consistent with
// the given connection. Returns: