There is a similar feature in Linux which I've used a number of times over
the years to simulate various network problems, and to modify packets flowing
through my router in interesting ways.
You can select packets to be sent to userspace with the "-j QUEUE" iptables target handler, and then read those packets using libnetfilter.
[1] https://github.com/echothrust/pf-diverters