On startup, the kernel is probed for support of chained program ids for
CpuMap, DevMap and DevMapHash, and will patch maps at load time to have
the proper size. Then, at runtime, the support is checked and will error
out if a program id is passed when the kernel does not support it.
Making a `From` impl that hides an unsafe with some safety guarantee is
actually unsafe, because while we know how we use this impl, we don't
know how other will. And since it's on two public types, anything can
be done.
This commit adds implementations for:
- xskmap
- devmap
- devmap_hash
- cpumap
Which can all be used to redirect XDP packets to various different
locations
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>