--- src/sys/net/ipfw/ip_fw2.c 2008/06/17 20:50:11 1.43 +++ src/sys/net/ipfw/ip_fw2.c 2008/06/21 06:47:29 1.44 @@ -1602,6 +1602,10 @@ check_body: ((ipfw_insn_u16 *)cmd)->ports; int i; + /* Special vlan handling */ + if (m->m_flags & M_VLANTAG) + t = ETHERTYPE_VLAN; + for (i = cmdlen - 1; !match && i>0; i--, p += 2) match = (t>=p[0] && t<=p[1]);