Andy Lemin [a...@brandwatch.com] wrote: > The underlying trunk does not report any Rx or Tx errors at all. > > And the VLAN interfaces do not report any receive errors, only low rate > transmit errors. > > Also as a thought exercise, could anyone kindly explain/discuss how an > output error might even occur or be valid? >
Look at /usr/src/sys/net/if_vlan.c, you'll find exactly two places where if_oerrors increments. Logically, both are in the vlan_start() routine. The first happens after vlan_inject fails. If vlan_inject returns a null mbuf, that appears to be a failure within m_prepend(), probably from failure to allocate memory for the new mbuf. Where's your dmesg? Are you using a card that does hw tagging? (If so, this isn't the codepath you're looking for.) If the failure is the new if_enqueue, it seems like ifq_enqueue would be calling priq_enq which would be returning a failure if the queue is full. Are you using hfsc? Chris