[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20120718.094137.2279894799753732191.davem@davemloft.net>
Date: Wed, 18 Jul 2012 09:41:37 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: h.huangqiang@...wei.com
Cc: glommer@...allels.com, netdev@...r.kernel.org,
containers@...ts.linux-foundation.org, yangzhenzhang@...wei.com
Subject: Re: [PATCH v2] netns: correctly use per-netns ipv4 sysctl_tcp_mem
From: Huang Qiang <h.huangqiang@...wei.com>
Date: Thu, 12 Jul 2012 17:33:34 +0800
> From: Yang Zhenzhang <yangzhenzhang@...wei.com>
>
> Now, kernel allows each net namespace to independently set up its levels
> for tcp memory pressure thresholds.
>
> But it seems there is a bug, as using the following steps:
>
> [root@...t socket]# lxc-start -n test -f config /bin/bash
> [root@...-test socket]# ip route add default via 192.168.58.2
> [root@...-test socket]# echo 0 0 0 > /proc/sys/net/ipv4/tcp_mem
> [root@...-test socket]# scp root@....168.58.174:/home/tcp_mem_test .
>
> and it still can transport the "tcp_mem_test" file which we hope it
> would not.
>
> It's because inet_init() (net/ipv4/af_inet.c)initialize the tcp_prot.sysctl_mem:
> tcp_prot.sysctl_mem = init_net.ipv4.sysctl_tcp_mem;
>
> So when the protocal is TCP, sk->sk_prot->sysctl_mem(following code)
> always use the ipv4 sysctl_tcp_mem of init_net namespace rather than
> it's own net namespace.
> This patch simply set "prot" equal to net->ipv4.sysctl_tcp_mem when
> the protocol type is TCP.
>
> Signed-off-by: Yang Zhenzhang <yangzhenzhang@...wei.com>
> Signed-off-by: Huang Qiang <h.huangqiang@...wei.com>
This patch doesn't apply cleanly to net-next, please respin it.
Thank you.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists