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

Reply via email to