Bug 673006

Summary: sysctl settings doesn't get loaded into kernel for native sctp.
Product: Red Hat Enterprise Linux 5 Reporter: kf200467
Component: procpsAssignee: Jaromír Cápík <jcapik>
Status: CLOSED INSUFFICIENT_DATA QA Contact: BaseOS QE - Apps <qe-baseos-apps>
Severity: high Docs Contact:
Priority: unspecified    
Version: 5.4CC: albert, ovasik
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-01-04 10:50:39 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description kf200467 2011-01-27 00:12:34 UTC
Description of problem:
I have a RedHat 5.4 system where I would like sysctl to take my native sctp kernel parameters and sustain the values specified for those parameters inside sysctl after a reboot but it doesn't sustain those kernel parameter values after a reboot. Even after I worked-around by putting in /etc/rc.local to load my sctp kernel parameters from /etc/sysctl.conf by specifying putting 
/sbin/sysctl -p /etc/sysctl.conf

Version-Release number of selected component (if applicable):
Redhat Release 5.4 Kernel version 2.6.18-164.el5

How reproducible:
Everytime.

Steps to Reproduce:
1. Put the following inside sysctl.conf
net.sctp.sndbuf_policy=1 
2. Then issue /sbin/sysctl -p /etc/sysctl.conf, the value takes effect immediately, reboot the machine and the value set for my native sctp parameter is back to 0 instead of 1
3. /sbin/sysctl -a | grep sndbuf
net.sctp.sndbuf_policy = 0

  
Actual results:
/sbin/sysctl -a | grep sndbuf
net.sctp.sndbuf_policy = 0


Expected results:
/sbin/sysctl -a | grep sndbuf
net.sctp.sndbuf_policy = 1


Additional info:

This happens everytime the box is rebooted.

Comment 1 Jan Görig 2011-01-27 10:01:12 UTC
This problem is probably caused by running sysctl before loading sctp kernel module. Could you determine when is sctp module loaded, please?

Comment 2 kf200467 2011-01-27 16:20:37 UTC
Hi Jan,

Thinking what you just mentioned and looking at the sysctl manpage. The manpage of sysctl mentions the following

Also please note that modules loaded after sysctl is run  may  override
       the settings (example: sunrpc.* settings are overridden when the sunrpc
       module is loaded). This may cause some confusion during boot  when  the
       settings  in sysctl.conf may be overriden. To prevent such a situation,
       sysctl must be run after the particular module is  loaded  (e.g.,  from
       /etc/rc.d/rc.local or by using the install directive in modprobe.conf)

So, as mentioned above I put /sbin/sysctl -p /etc/sysctl.conf command inside /etc/rc.d/rc.local but still it didn't load the settings. 

However, on 5.5 system or higher my kernel settings for native sctp loads perfectly after a reboot.

Regards,
Ken

Comment 3 Jan Görig 2011-01-28 10:02:59 UTC
Could you change line in rc.local to
/sbin/sysctl -p /etc/sysctl.conf &> /var/log/sysctl.boot
and send output of created file, please?

Comment 4 Jaromír Cápík 2012-01-04 10:50:39 UTC
Hello Ken.

As this issue is not reproducible on the recent 5.x version and the requested information is missing, I'm closing this bug. Feel free to reopen if You're able to provide us with the mentioned info. Anyway, the backport has almost no sense.

Thank You.

Regards,
Jaromir.