如何从C代码增加net.core.rmem_max值 [英] How to increase net.core.rmem_max value from c code

查看:337
本文介绍了如何从C代码增加net.core.rmem_max值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图通过getsockopt(udp_fd,SOL_SOCKET,SO_RCVBUF,& rcvBufferSize和& sockOptSize)增加值SO_RCVBUF,但我无法将其增加到超过rmem_max值.

I tried to increase the value SO_RCVBUF by getsockopt(udp_fd, SOL_SOCKET, SO_RCVBUF, &rcvBufferSize, &sockOptSize) but I am not able to increase it more than rmem_max value.

所以请告诉我如何用C代码增加它.我不想通过命令增加它:

So please tell me how can I increase it by C Code. I don't want to increase it by command :

$ sysctl -w net.core.rmem_max=value

推荐答案

在Linux内核2.6.14及更高版本中,我们具有SO_RCVBUFFORCE,可用于覆盖rmem_max限制.但是,这需要设置CAP_NET_ADMIN.

In Linux kernels 2.6.14 and above we have SO_RCVBUFFORCE which can be used to override the rmem_max limit. However this needs CAP_NET_ADMIN to be set.

检查 https://linux.die.net/man/7/socket.

这篇关于如何从C代码增加net.core.rmem_max值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆