> Ok. We could have a create-ipmp, add-ipmp, del-ipmp set of subcommands, 
 > while other classes of IP interfaces can be created with 
 > create-interface command (ip.tun, lo, vni, etc.)

Possibly, though it's a bit confusing as IPMP is also a type of interface.
Going back to dladm, we intentionally don't have a "create-link"
subcommand.  Further, I would expect that "ipadm show-if" would include
the "interface class" just as with "dladm show-link", and (as with dladm)
that class name would be the name I use to create the object.

 > Do we need a show-ipmp? It can show the set of test addresses, while 
 > show-addr will show only the data addresses for each ipmp group. Or we 
 > could have an extended output for show-addr to show all addresses 
 > including test addresses. This answers the next comment about test 
 > addresses too.

This is a tricky one.  If we had ipadm back dueing the design phase for
Clearview IPMP a case could be made for all of ipmpstat being handled by
various ipadm "show" subcommands, but that also would be a challenge since
ipmpstat has support for many different object displays (groups,
underlying interfaces, data addresses, test addresses, probe packets).  We
should probably talk about this offline and see what we can come up with.

Regarding ipadm show-if: it would be really nice to have a STATUS field
that could indicate "failed", "offline", "inactive", "down" or "ok".  An
IP interface would be "failed" would be set if the IFF_RUNNING flag is
clear (even if IPMP is not being used); if IPMP was being used, then it
could also mean that IFF_FAILED is set.  An IP interface would be
"offline" if the IFF_OFFLINE flag is set (only possible for interfaces
managed by IPMP).  An IP interface would be "inactive" if the IFF_INACTIVE
flag is set (again only possible for interfaces managed by IPMP).  An IP
interface would be "down" if none of its addresses are IFF_UP (that is,
it's unable to send/receive packets).  Otherwise, it would be "ok".  To do
this you'd need to define a a priority order of listing the most serious
symptom first -- e.g., an IP interface that has IFF_RUNNING flag cleared
and none of its addresses IFF_UP should be listed as "failed" rather than
"down" since the first order of business is to resolve the hardware issue.

The above may take some work to refine, but I think it would be quite
valuable -- with ifconfig, it's very hard to glean the health of the IP
interface -- e.g., to miss the fact that IFF_RUNNING is not set.

Speaking of IPMP there are some awkward aspects of the current
administrative model that need some thought, like having "standby" be a
flag, and having offline/online support buried off if if_mpadm(1M).


-- 
meem

Reply via email to