A call of ixgbe_start_locked() is missed in ixgbe_msix_tx -- the TX interrupt
handler when MSIX interrupts are used.
(It sometime cause sending stall: when if_snd queue is full, the upper layer
does not call if_start entry point, so if TX interrupt does not send some
packets and does not free some space in the if_snd queue, nothing will ever be
sent. Other TX handlers call ixgbe_start_locked().)
In my production configuration, this does *not* happen with 10/stable. If this is still a problem in your environment, reopen this ticket and we'll take a look.