ib/umad: export mad snooping capability to userspace
The kernel mad interface allows a client to view all
sent and received MADs. This has proven to be a useful
debugging techinque when used with an external module.
However, external kernel modules are not easily supported
and do not easily allow for more complex filtering or analysis
of MAD traffic.
Export the mad snooping capability to user space clients
through the existing umad interface. This will allow
users to capture MAD data for debugging, plus it allows
for services to act on MAD traffic that occurs. For example,
a daemon could snoop SA queries and CM messages as part of
providing a path record caching service. (It could cached
snooped path records, record the average time needed for the
SA to respond to queries, use CM timeouts as an indication
that cached data may be stale, etc.)
Because such services may become crucial to support large
clusters, mad snooping capabilities should be built into
the stack directly, rather than accessed through debugging
interfaces.