#!/bin/sh
# DF-0445 run: enable ALTQ on vtnet0, then BPF-write a 14-byte ether_header-only
# frame so ether_output_frame -> altq_etherclassify hits the NULL-deref while
# loop.  Run as root.
#
# Required setup (root, one-time):
#   kldload pf.ko
#
# Expected (bug present): guest panics with page fault in altq_etherclassify+0x98
# Expected (bug fixed):   the BPF write succeeds, no panic; vtnet0 may become
#                         unresponsive after the test (separate from the bug;
#                         leaving ALTQ half-configured disrupts the interface).
pf_present=$(kldstat | grep -c '^.*pf.ko')
[ "$pf_present" -lt 1 ] && kldload pf.ko
exec ./altq_etherclassify_npd
