Searched hist:"5 d097109257c03a71845729f8db6b5770c4bbedc" (Results 1 – 4 of 4) sorted by relevance
/openbmc/qemu/net/ |
H A D | tap-linux.h | diff d26e445c80fddcc7483b83f3115e5067fef28fe6 Mon Feb 25 03:17:08 CST 2013 Peter Lieven <pl@dlhnet.de> tap: set IFF_ONE_QUEUE per default
historically the kernel queues packets two times. once at the device and second in qdisc. this is believed to cause interface stalls if one of these queues overruns.
setting IFF_ONE_QUEUE is the default in kernels >= 3.8. the flag is ignored since then. see kernel commit 5d097109257c03a71845729f8db6b5770c4bbedc
Signed-off-by: Peter Lieven <pl@kamp.de> Acked-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
|
H A D | tap-linux.c | diff d26e445c80fddcc7483b83f3115e5067fef28fe6 Mon Feb 25 03:17:08 CST 2013 Peter Lieven <pl@dlhnet.de> tap: set IFF_ONE_QUEUE per default
historically the kernel queues packets two times. once at the device and second in qdisc. this is believed to cause interface stalls if one of these queues overruns.
setting IFF_ONE_QUEUE is the default in kernels >= 3.8. the flag is ignored since then. see kernel commit 5d097109257c03a71845729f8db6b5770c4bbedc
Signed-off-by: Peter Lieven <pl@kamp.de> Acked-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
|
/openbmc/linux/include/uapi/linux/ |
H A D | if_tun.h | diff 5d097109257c03a71845729f8db6b5770c4bbedc Mon Dec 03 04:07:14 CST 2012 Michael S. Tsirkin <mst@redhat.com> tun: only queue packets on device
Historically tun supported two modes of operation: - in default mode, a small number of packets would get queued at the device, the rest would be queued in qdisc - in one queue mode, all packets would get queued at the device
This might have made sense up to a point where we made the queue depth for both modes the same and set it to a huge value (500) so unless the consumer is stuck the chance of losing packets is small.
Thus in practice both modes behave the same, but the default mode has some problems: - if packets are never consumed, fragments are never orphaned which cases a DOS for sender using zero copy transmit - overrun errors are hard to diagnose: fifo error is incremented only once so you can not distinguish between userspace that is stuck and a transient failure, tcpdump on the device does not show any traffic
Userspace solves this simply by enabling IFF_ONE_QUEUE but there seems to be little point in not doing the right thing for everyone, by default.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
/openbmc/linux/drivers/net/ |
H A D | tun.c | diff baeababb5b85d5c4e6c917efe2a1504179438d3b Mon Nov 17 23:20:41 CST 2014 Jason Wang <jasowang@redhat.com> tun: return NET_XMIT_DROP for dropped packets
After commit 5d097109257c03a71845729f8db6b5770c4bbedc ("tun: only queue packets on device"), NETDEV_TX_OK was returned for dropped packets. This will confuse pktgen since dropped packets were counted as sent ones.
Fixing this by returning NET_XMIT_DROP to let pktgen count it as error packet.
Cc: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Jason Wang <jasowang@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net> diff 5d097109257c03a71845729f8db6b5770c4bbedc Mon Dec 03 04:07:14 CST 2012 Michael S. Tsirkin <mst@redhat.com> tun: only queue packets on device
Historically tun supported two modes of operation: - in default mode, a small number of packets would get queued at the device, the rest would be queued in qdisc - in one queue mode, all packets would get queued at the device
This might have made sense up to a point where we made the queue depth for both modes the same and set it to a huge value (500) so unless the consumer is stuck the chance of losing packets is small.
Thus in practice both modes behave the same, but the default mode has some problems: - if packets are never consumed, fragments are never orphaned which cases a DOS for sender using zero copy transmit - overrun errors are hard to diagnose: fifo error is incremented only once so you can not distinguish between userspace that is stuck and a transient failure, tcpdump on the device does not show any traffic
Userspace solves this simply by enabling IFF_ONE_QUEUE but there seems to be little point in not doing the right thing for everyone, by default.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|