On Thu, Jan 15, 2009 at 05:24:05PM -0500, [email protected] wrote:
>
> > In detail: It looks like, that ipadm cmd is always related to a specific
> > interface. So why the cluttering '-interface' at the end of create, modify?
>
> well, the reason was two-fold: the first is that we were following
> the verb-object model set up for dladm, which itself was done because
Hmmm - than simply rename ipdam in ipadm.ms-monster and link each
verb-object to it ... Has the advantage, that one gets "small" man pages
back, which can be studied more quickly aka is able to find the info one
needs quickly ...
> we could have commands down the road that create other objects. In the
> case of dladm, there are commands like create-vlan, create-aggr, etc.
OK - but you are working on ipadm and not dladm, right?
> In the case of ipadm, even now we have modify-interface versus
> modify-address. Thus in the interest of uniformity we adopted that model.
Guess, "uniformity" has different means for different people.
> I'd like to hear other opinions on this- if we consider the IP interface
> as the object targetted for ipadm, is there some benefit in
> optimizing out the "-interface" suffix for ipadm create/delete?
Whatever, at least I prefer the small and simple stuff (IIRC, one of the
big benefits wrt. MS windows) ...
> > Similar thing with address related stuff. If the command is related to a
> > specific address of an interface, this is already indicated by the '-a'
> > switch. So why the '-address' noise at the end of of add, delete? OK,
> > there is one exception wrt. to delete all addr from an interface. But
> > allowing an '-a all' analog to 'zfs list -t all' shouln't be too
> > challenging ...
>
> but 'delete-address -a all' is just an alias for 'delete-interface',
> right?
Not sure about this - at least, IIRC, the paper says nothing about the
implementation details. But when I plumb an IF, it has no address
assigned to it - so removing all addresses from an interface doesn't
really imply IMHO unplumbing (aka deleting?) the IF. Anyway, if you say,
that's the same, than its even easier - eleminates the need for '-t all'.
> And while I randomly chose "-a" for the flag (it may have been
> better to choose -o, just like the create-interface command), it's
> very possible that some other command that is added to ipadm in the
> future also has a -a flag.
And will make people getting confused/crazy ...
> > Next thing is the set,show,init subcmd. It seems to be always related to a
> > "property". So why the noisy '-prop' at the end of the command and why
> > than the '-p' switch again ? What is the problem with
> > ipadm {set|get|init} key[=value] ...
>
> I think Meem may have some input on this- I believe he's mentioned
> in the past that the analogous set-linkprop command for dladm was
> arrived upon after some debate..
Probably because the fuzz is even for developers not as clean as expected...
> > Of course, the 'show' subcmd mimics some CLIs seen on certain
> > Switches/Routers, however, I would prefer an alias named 'list' ...
>
> Interesting viewpoint. That makes it like the zfs/zone commands,
> but unlike the trend in dladm.
Yes. I guess, that depends on the point of view. As a network developer
you see probably dladm as the 'trend' maker. Have you asked the people,
which actually use the system aka users in the field? Also, one doesn't
need to repeat the errors others made ;-)
> > Last but not least I don't like the mandatory -P ... Isn't the utility
> > able to find out, what should be used if omitted aka able to use
> > reasonable defaults? E.g. if an IPv6 addr or -if6_intf_id is specified,
> > it implies -P v6. If an IPv4 addr is specified, type should default to v4
> > if not specified otherwise, etc. ...
> But then what happens if I do
> # ipadm create-interface -o ipmp,group=tester ipmp0
> or even
> # ipadm create-interface link0
>
> Do I mean v4? or v6? One option is to assume V4, unless v6 is explicitly
> specified (ifconfig follows this model) but I hesitated to do this
> because it makes V6 an exception case.
Nothing easier than that. If the application is unable to determine a
reasonable default, there is nothing what prevents it from telling the
user, that it needs to know, which type of address is required...
BTW: I do not prefer to "make V6 an exception case", too. It'll
probably take another decade, till V4 is the exception, but somebody
needs to make the first step ;-)
regards,
jel.
--
Otto-von-Guericke University http://www.cs.uni-magdeburg.de/
Department of Computer Science Geb. 29 R 027, Universitaetsplatz 2
39106 Magdeburg, Germany Tel: +49 391 67 12768
_______________________________________________
networking-discuss mailing list
[email protected]