summary refs log tree commit diff
path: root/arch/m32r/include
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2013-09-24 08:20:52 -0700
committerDavid S. Miller <davem@davemloft.net>2013-09-28 15:35:41 -0700
commit62748f32d501f5d3712a7c372bbb92abc7c62bc7 (patch)
tree847a6e4b66aaf012809ff8656476743e738f1a2b /arch/m32r/include
parent4aa0a03f519812f48ac48d046bc451e97649ec82 (diff)
downloadlinux-62748f32d501f5d3712a7c372bbb92abc7c62bc7.tar.gz
net: introduce SO_MAX_PACING_RATE
As mentioned in commit afe4fd062416b ("pkt_sched: fq: Fair Queue packet
scheduler"), this patch adds a new socket option.

SO_MAX_PACING_RATE offers the application the ability to cap the
rate computed by transport layer. Value is in bytes per second.

u32 val = 1000000;
setsockopt(sockfd, SOL_SOCKET, SO_MAX_PACING_RATE, &val, sizeof(val));

To be effectively paced, a flow must use FQ packet scheduler.

Note that a packet scheduler takes into account the headers for its
computations. The effective payload rate depends on MSS and retransmits
if any.

I chose to make this pacing rate a SOL_SOCKET option instead of a
TCP one because this can be used by other protocols.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Steinar H. Gunderson <sesse@google.com>
Cc: Michael Kerrisk <mtk.manpages@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/m32r/include')
-rw-r--r--arch/m32r/include/uapi/asm/socket.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/m32r/include/uapi/asm/socket.h b/arch/m32r/include/uapi/asm/socket.h
index 24be7c8da86a..52966650114f 100644
--- a/arch/m32r/include/uapi/asm/socket.h
+++ b/arch/m32r/include/uapi/asm/socket.h
@@ -76,4 +76,6 @@
 
 #define SO_BUSY_POLL		46
 
+#define SO_MAX_PACING_RATE	47
+
 #endif /* _ASM_M32R_SOCKET_H */