Networking folks:
We recently had the debate about console logging. I've made the changes
in a gate to move the logging (a simpler form of it) to nemo (and rip a
lot of code out of each of the v3 drivers), but I want to have some
review of what I'm doing -- its not entirely clear to me that its
technically an issue for ARC, but I think at the minimum a self-review
case should be filed should be filed with PSARC.
The following draft case is what I'm considering filing with PSARC. I'd
appreciate any feedback.
To head off at least one question, the reason that I'm not providing all
the link details about duplex,
speed, etc. is two fold:
a) each driver may have different kinds of data that they would
otherwise report (transceiver selected, etc.) and the details may vary
between different mac layers. e.g. 802.11 wants to report SSID,
channel, maybe link quality, etc. ad naseum. Its not clear what the
right thing to log is. But the current chaos between drivers is also
not helpful.
b) ease of implementation. i can print the link up/down state
without having to inquire the details from the driver, which avoids a
potential recursive lock situation if the driver happens to be careless
with the context from which it calls mac_link_update().
In the future, it may be a nice thing to provide media-specific extended
information in mac_link_update(), such as speed, duplex (for 802.3),
ssid/bssid (for 802.11) etc.
-- Garrett
Problem
-------
Various network drivers are inconsistent in their handling of logging of
link messages. One of the more annoying things that some drivers do is
flood the logs with link down messages (usually once every 10sec or so) when
trying to transmit packets out the link.
Further, the detailed contents for link status changes are not consistent
from one driver to another.
Notably, the WIFI drivers generally do not do this.
Solution
--------
We propose to modify GLDv3 so that GLDv3 reports (on the behalf of the
driver)
when link state changes by logging a simple message to logs. This would
only be done when the link _changes_, which could be either due to
administrative action or an external event such as a cable disconnect or
reboot or administrative action the link partner.
The message will omit all details except the state as up or down, and will
never go to the console.
The message will have one of two forms:
nge0 link up
or
nge0 link down
Obviously "nge0" is for the Nvidia GigE driver. Other drivers, etc. will
get their contents here as well. The message will appear to come from
"mac",
and will be prefixed by the normal syslog details (date, hostname, message
ID, etc.) in the system logs.
Note that side effect of this is that aggregations will also be reported to
the logs:
"aggr0 link up" or "aggr0 link down"
The administrator that wants more detail about the link type, mode, etc. can
use dladm to get this information.
We will be modifying the full set of the current GLDv3 drivers to remove
any driver-specific logging of link changes. We can do this now, while
GLDv3 is still an ON-private API.
_______________________________________________
networking-discuss mailing list
[email protected]