[collectd] [patch] Fix for bogus interfaces under Solaris
Eddy Geez
eddygeez at gmail.com
Sat Sep 3 17:47:39 CEST 2011
On Sat, Sep 3, 2011 at 9:49 AM, Florian Forster <octo at collectd.org> wrote:
> I think this is meant to only allow "modules" and "names" like "eth" /
> "eth0" and will filter out "eth" / "mac".
Yes, that was the intention.
> Rather than adding special code like this one, I could picture a
> different change instead. Something along the lines of:
>
> if ks_name == "mac"
> type_instance = ks_module + ks_instance + "-mac"
> else
> default behavior
>
> This should give each "mac" a unique name.
Definitely seems like a better solution giving more options to the user.
> I'm guessing this is meant to avoid the problem with the wrsmd
> "interfaces". Are you sure all "valid" interfaces have an interface
> speed set in Solaris?
It was indeed intended to avoid the wrsmd interfaces. I definitely
don't want to say for sure that all "valid" interfaecs have a speed
set. It just happened to work on all the servers I tried it on.
> There are some weird interfaces out there and in
> my experience tunnel interfaces or bonding interfaces may have a hard
> time telling their "speed".
Very good point. I was only interested in physical interfaces, but I
can understand where somebody may want to collect stats on other types
of interfaces.
> removing these "interfaces" would break backwards compatibility and I
> wouldn't be surprised if we get complains from people actually using WCI
> devices …
All excellent points, and your suggested work-arounds will do the
trick. Thanks for following up and explaining why your ideas are
preferred. :)
> Oh, which version of Solaris is that [that needed _REENTRANT]?
I was building collectd on a 5220 running Solaris 10 Update 6 (with
all patches up through kernel rev 142900-01). Reading the man page for
'errno', it says that -mt must be specified for multi-threaded
applications... perhaps that is "real" solution? (My Makefile is not
using -mt.)
More information about the collectd
mailing list