Re: sysctl is using deprecated syscall (fwd)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Forwarding for Peter, with a later comment added in.

---------- Forwarded message ----------
Date: Wed, 11 Apr 2007 11:30:46 +0200
From: Peter Bieringer <pb@xxxxxxxxxxxx>
To: Pekka Savola <pekkas@xxxxxxxxxx>
Cc: Development discussions related to Fedora Core
    <fedora-devel-list@xxxxxxxxxx>
Subject: Re: sysctl is using deprecated syscall

Hi Pekka and others,

At 11.04.2007 08:20, Pekka Savola wrote:
(I added Peter in Cc: as he's probably not following this.)

Thank you for notifying, perhaps list moderator has to release my reply
now...

On Tue, 10 Apr 2007, Miloslav Trmac wrote:
Hello,
Tomas Smetana napsal(a):
The problem is that any attempt to read a deprecated sysctl ends up
with kernel warning in the log. Thus "sysctl -a" produces warnings and
since "sysctl -a" is used in init scripts
(/etc/sysconfig/network-scripts/init.ipv6-global),

While I have no opinion about the general case, can't the (sysctl -a
|grep "^net\.ipv6.conf\.") be replaced by (sysctl net.ipv6.conf) ?

The reason is probably that when the initscripts were created 'sysctl
net.ipv6.conf' wasn't supported.  For example, it doesn't work (returns
nothing) on RHL73 and RHL9 (and I suspect RHEL21 and RHEL3).
It works on RHEL4 though.

I'm also not sure (didn't check) if the failure mode is different when
IPv6 hasn't been loaded.  The grep returns an empty set, sysctl returns
an error and a return code.  Either could be made to work.

In this place, "sysctl -a" only retrieves the existing interface list
plus "all" and "default". This can be completly rewritten, if required.

Interface list is as far as I tested currently available via

# cat /proc/net/if_inet6 | awk '{ print $6 }' | sort -u

So we can rewrite this with e.g.

echo -e "all\ndefault\n`cat /proc/net/if_inet6 | awk '{ print $6 }' | sort -u`"

Instead of using /proc/net/if_inet6 also "ip" can be used:

# ip link | grep -w mtu | awk '{ print $2 }' | sed 's/://g'

echo -e "all\ndefault\n`ip link | grep -w mtu | awk '{ print $2 }' | sed
's/://g'`"

[[ Comment later on: This was not a good idea, because the list also contains IPv4 only interfaces like "ppp", so "sysctl -w ..." would throw an error.

Is there no tool available which retrieves the interface list from
kernel with the used protocols? ]]

The first should probably be the preferred one.
I will update my initscripts afterwards.

	Peter
--
Dr. Peter Bieringer                     http://www.bieringer.de/pb/
GPG/PGP Key 0x958F422D                       mailto:pb@xxxxxxxxxxxx
Deep Space 6 Co-Founder and Core Member  http://www.deepspace6.net/
OpenBC                    http://www.openbc.com/hp/Peter_Bieringer/
Personal invitation to OpenBC  http://www.openbc.com/go/invita/3889

--
fedora-devel-list mailing list
fedora-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-devel-list

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux