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/

Reply via email to