IAM ====== Name: dlstat and flowsat Submitter: Shrikrishna Khare Owner: Kais Belgaied Status: inception held 06/24/2009 Exposure: open SUMMARY ======= We propose to provide new commands to monitor dynamic network traffic statistics viz. dlstat(1M) and flowstat(1M). This is part of the effort to gain better visibility into network traffic in the light of crossbow features like virtual NICs, interrupt vs. polling modes etc. This would greatly assist network performance analysis. It is also aimed at segregating link/flow configuration interface from the interface for querying for dynamic network statistics. ISSUES ====== seb-1 I don't see an obvious benefit of splitting up dlstat and flowstat. Why would dlstat instead not have a mode whereby it prints flow statistics given that flows can't accumulate statistics unless they're associated with a datalink. IMO, introducing two closely-interrelated commands with almost identical command-lines and overall operation is not necessary. I don't feel religious about it, but would like to hear the opinions on this. seb-2 There is seemingly nothing differentiating the first two dlstat usages in the man page. Is it simply the case that -t, -r, and -o are each mutually exclusive? If so, there's probably a way to represent that explicitly in the usage line. seb-3 The use of "-o [+|-]field,..." is confusing to me, and is unlike dladm and flowadm's use of -o to select output fields. A simpler model would be to have a default set of fields, and if -o is used, the caller must specify the complete set of fields needed. This is much less ambiguous. The other advantage to this is that the user's output, when -o is used, will be constant from release to release even if default fields change. seb-4 The "show" subcommand is contrary to the existing convention of using - for subcommands. On a related note, it's unclear that you need any subcommands for these commands given that the whole purpose of the commands is to show statistics. seb-5 What is the intended purpose of the "reset" subcommands? I know _what_ they do, but can't think of a case where this would be useful and not harmful (e.g. by confusing management monitoring tools that expect counters to generally flow uphill). If this has benefitial use, it should probably be surounded by appropriate warnings in documentation. ged-1 Why aren't the underlying statistics available via kstats? (We already have kstats for reporting general purpose stats.) ged-2 What is the underlying mechanism used between the commands and the MAC layer? ged-3 Will these statistics be available via some form of library to C programs (libdladm)? ged-4 Man page nit: the language in dladm referencing show-link still shows -s and -i in the usage. dwc-1 Building on top of seb-3: 1. Having an option with more than 1 option-argument is bad. 2. Having an option with an optional option-argument is worse. 3. Having an option specifying multiple fields be required to be presented as a single option (as opposed to multiple occurrences of -o field) is onerous, especially when you allow adding or deleting output fields from a base default. Why not allow [-o field[,...]]... or, if you insist on adding or deleting from a default, [-o [+|-]field]... or [-o [+|-]field[,[+|-]field]...]... dwc-2 Why are we removing the descriptions of several options in dladm and flowadm when they have committed interface stabilities. jdc-01 I suggest getting rid of "reset" altogether. Besides being fundamentally incompatible with SNMP instrumentation, "reset" just isn't necessary or complete as long as you have decent delta- calculating tools. (And I'd really rather have a good way of computing deltas -- especially as a non-privileged user -- than having an inaccessible way to nuke kernel counters.) Commitment issues: seb-6 The case isn't explicit about the changes to dladm. It uses language like "migrate" to describe where that the functionality will "move" to dlstat, but the dladm man page still has "-s" and friends in the various dladm subcommand synopses. This is confusing. Are the various "-s" options in dladm being removed? Please clarify. dwc-3 dladm(1M) and flowadm(1M) dwc-2 has not been addressed from the inception review. Completely removing the description of committed obsolete features with just text saying that the options are obsolete seems extreme. The old description should remain with a new leading paragraph saying that this usage is now obsolete, XXX(1M) is the preferred way to get this functionality. dwc-97 dlstat(1M), Example 9 The fields in the example output don't match the list of fields requested in the -o option argument. dwc-98 flowstat(1M), Example 3 I believe the command line for this description should be: flowstat -t -i5 instead of: flowstat -t 5 dwc-99 flowstat(1M), description of -s and -t options You should explicitly state that "hh" is using 24-hour clock notation. THE NEXT STEP ============= Approved Garrett D'Amore Kais Belgaied Sebastien Roy Glenn Skinner