Subject: Re: [PATCH] Phonet: improve documentation

From: Randy Dunlap <[email-masked]>
Date: Wed, 24 Sep 2008 08:45:48 -0700

Rémi Denis-Courmont wrote:
> Fix grammar errors spotted by Randy Dunlap,
> and adds some more details.

Um, let me try again, please.

> Signed-off-by: Remi Denis-Courmont <[email-masked]>
> ---
>  Documentation/networking/phonet.txt |   32 +++++++++++++++++++++-----------
>  1 files changed, 21 insertions(+), 11 deletions(-)
> 
> diff --git a/Documentation/networking/phonet.txt b/Documentation/networking/phonet.txt
> index f3c72e0..1506c31 100644
> --- a/Documentation/networking/phonet.txt
> +++ b/Documentation/networking/phonet.txt
> @@ -21,7 +21,7 @@ depending on the device, such as:
>  Packets format
>  --------------
>  
> -Phonet packet have a common header as follow:
> +Phonet packets have a common header as follow:

                                          follows:

>  
>    struct phonethdr {
>      uint8_t  pn_media;  /* Media type (link-layer identifier) */
> @@ -33,14 +33,17 @@ Phonet packet have a common header as follow:
>      uint8_t  pn_sobj;   /* Sender object ID */
>    };
>  
> -The device ID is split: the 6 higher order bits consitutes the device
> -address, while the 2 lower order bits are used for multiplexing, as are
> -the 8-bits object identifiers. As such, Phonet can be considered as a
> +On Linux, the link-layer header includes the pn_media byte (see below).
> +The next 7 bytes are part of the network-layer header.
> +
> +The device ID is split: the 6 higher order-bits consitute the device

                                 higher-order bits

> +address, while the 2 lower-order bits are used for multiplexing, as are
> +the 8-bit object identifiers. As such, Phonet can be considered as a
>  network layer with 6 bits of address space and 10 bits for transport
>  protocol (much like port numbers in IP world).
>  
> -The modem always has address number zero. Each other device has a its
> -own 6-bits address.
> +The modem always has address number zero. All other device have a their
> +own 6-bit address.
>  
>  
>  Link layer
> @@ -49,11 +52,18 @@ Link layer
>  Phonet links are always point-to-point links. The link layer header
>  consists of a single Phonet media type byte. It uniquely identifies the
>  link through which the packet is transmitted, from the modem's
> -perspective.
> -
> -Linux Phonet network interfaces use a dedicated link layer type
> -(ETH_P_PHONET) which is out of the Ethernet type range. They can only
> -send and receive Phonet packets.
> +perspective. Each Phonet network device shall prepend and set the media
> +type byte as appropriate. For convenience, a common phonet_header_ops
> +link-layer header operations structure is provided. It sets the
> +media type according to the network device hardware address.
> +
> +Linux Phonet network interfaces support a dedicated link layer packets
> +type (ETH_P_PHONET) which is out of the Ethernet type range. They can
> +only send and receive Phonet packets.
> +
> +The virtual TUN tunnel device driver can also be used for Phonet. This
> +requires IFF_TUN mode, _without_ the IFF_NO_PI flag. In this case,
> +there is no link-layer header, so there is no Phonet media type byte.
>  
>  Note that Phonet interfaces are not allowed to re-order packets, so
>  only the (default) Linux FIFO qdisc should be used with them.

Thanks,
~Randy