David Lee wrote:
At some point in the last couple of months, "findif" has changed its
behaviour on Solaris. From the context of "IPaddr" it now prints:
le0:1: unknown interface: No such device or address
followed by the "usage" information, so is therefore related to its
new-ish internal "ValidateIFName()" function.
IPaddr (and manual replication of this) is calling it thus:
findif 129.234.5.54/16/le0:1/129.234.255.255
Note that ":1". Variants which omit that are fine, such as:
findif 129.234.5.54/16/le0/129.234.255.255
At the point at which it is called, "le0:1" doesn't exist. So the error
condition would seem reasonable and understandable.
I tested it further. Variants of "le0:1" generate success/fail based on
the existence of the exact entity itself.
Equivalent testing on Linux (variants of "eth0:1") shows more tolerance:
success/fail is on the existence of the subcomponent "eth0". Unlike with
Solaris, the ":1" component seems to be ignored and irrelevant.
So the question is what _should_ be happening here? Is the ":1" in the
invocation correct, or tolerable, or incorrect? Should that ":1" be in
the "findif" invocation at all? If it is invoked with ":1" nomenclature,
what _should_ "findif" do when "le0" exists, but the ":1" variant doesn't?
Put another way: is the wrong behaviour somehow (how?) within "findif",
or in its invocation?
The original purpose of findif was to locate an interface. I'm pretty
sure that the :number part is incorrect in its invocation - since that
implies that you already have a specific interface in mind.
--
Alan Robertson <[EMAIL PROTECTED]>
"Openness is the foundation and preservative of friendship... Let me
claim from you at all times your undisguised opinions." - William
Wilberforce
_______________________________________________________
Linux-HA-Dev: [email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/