Buffer metadata change tracker
==============================

Introduction
------------

The mdata plugin uses the vlib main loop “before” performance counter
hook to snapshoot buffer metadata before calling the node dispatch
function. Similarly, the plugin uses the main loop “after” hook to
compare a vectors’ worth of buffer metadata after the fact.

The comparison function is a simple octet-by-octet A != B check. We
accumulate changed octets per-node across the entire run, using a single
spinlock-protected accumulator.

The “show buffer metadata” command produces a report of all fields whose
values are changed by nodes visited during a given run.

Since many fields in the vnet_buffer_opaque_t are union members, it may
appear that a certain node changes numerous fields. The entire point of
the exercise is to warn developers that if a packet visits node N, data
placed into opaque union field F *will* be affected.

One should never assume much about buffer metadata immutability across
arbitrary subgraphs. This tool generates accurate reports, to the extent
that one exercises the required subgraph trajectories.
