During if_vmove() we call if_detach_internal() which in turn calls the event handler notifying about interface departure and one of the consumers will detach if_bpf.
There is no way for us to re-attach this easily as the DLT and hdrlen are only given on interface creation.
Add a function to allow us to query the DLT and hdrlen from a current BPF attachment and after if_attach_internal() manually re-add the if_bpf attachment using these values.
Found by panics triggered by nd6 packets running past BPF_MTAP() with no proper if_bpf pointer on the interface.
Also add a basic DDB show function to investigate the if_bpf attachment of an interface.