Subject: Re: where is ifp->if_baudrate used?
To: None <tech-net@NetBSD.org>
From: David Young <dyoung@pobox.com>
List: tech-net
Date: 03/18/2007 05:41:52
On Sun, Mar 18, 2007 at 11:41:12AM +0900, Izumi Tsutsui wrote:
> Hi,
> 
> struct ifnet has if_baudrate (which is actually if_data.ifi_baudrate),
> member, but where is the member used?

Perhaps ifi_baudrate was intended to inform a routing protocol about the
link speed, so that it could synthesize a link metric (10^6/ifi_baudrate).

I question whether any single rate suffices to describe many links.
Consider that commonplace link technologies use multirate PHYs (56k
modems, WLAN, powerline).  Also, a single ethernet/WLAN/powerline link
may connect multiple stations.  The NIC may use a different rate to
transmit to each station.  How can a single rate characterize such a link?

Now, suppose we treat ifi_baudrate as a maximum PHY bit rate.  I feel
dissatisfied comparing a 108 Mb/s WiFi link with a 100 Mb/s ethernet link
by their ifi_baudrate, if the former ifi_baudrate is set to 108 * 10^6,
and the latter to 100 * 10^6.  To make an "apples with apples" comparison
of the two links, I need more information than the ifi_baudrate.

A slightly more practical measure of link speed tells how many
ifi_mtu-sized link-layer payloads you can send using the top PHY bitrate,
figuring in all of the overheads; call this the "speed limit" on the link.

Dave

-- 
David Young             OJC Technologies
dyoung@ojctech.com      Urbana, IL * (217) 278-3933