Commit ac2dc8ca authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont Committed by David S. Miller

Phonet: improve documentation

Fix grammar errors spotted by Randy Dunlap,
and adds some more details.
Signed-off-by: default avatarRemi Denis-Courmont <remi.denis-courmont@nokia.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 8980713b
...@@ -21,7 +21,7 @@ depending on the device, such as: ...@@ -21,7 +21,7 @@ depending on the device, such as:
Packets format Packets format
-------------- --------------
Phonet packet have a common header as follow: Phonet packets have a common header as follows:
struct phonethdr { struct phonethdr {
uint8_t pn_media; /* Media type (link-layer identifier) */ uint8_t pn_media; /* Media type (link-layer identifier) */
...@@ -33,14 +33,17 @@ Phonet packet have a common header as follow: ...@@ -33,14 +33,17 @@ Phonet packet have a common header as follow:
uint8_t pn_sobj; /* Sender object ID */ uint8_t pn_sobj; /* Sender object ID */
}; };
The device ID is split: the 6 higher order bits consitutes the device On Linux, the link-layer header includes the pn_media byte (see below).
address, while the 2 lower order bits are used for multiplexing, as are The next 7 bytes are part of the network-layer header.
the 8-bits object identifiers. As such, Phonet can be considered as a
The device ID is split: the 6 higher-order bits consitute the device
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 network layer with 6 bits of address space and 10 bits for transport
protocol (much like port numbers in IP world). protocol (much like port numbers in IP world).
The modem always has address number zero. Each other device has a its The modem always has address number zero. All other device have a their
own 6-bits address. own 6-bit address.
Link layer Link layer
...@@ -49,11 +52,18 @@ Link layer ...@@ -49,11 +52,18 @@ Link layer
Phonet links are always point-to-point links. The link layer header Phonet links are always point-to-point links. The link layer header
consists of a single Phonet media type byte. It uniquely identifies the consists of a single Phonet media type byte. It uniquely identifies the
link through which the packet is transmitted, from the modem's link through which the packet is transmitted, from the modem's
perspective. perspective. Each Phonet network device shall prepend and set the media
type byte as appropriate. For convenience, a common phonet_header_ops
Linux Phonet network interfaces use a dedicated link layer type link-layer header operations structure is provided. It sets the
(ETH_P_PHONET) which is out of the Ethernet type range. They can only media type according to the network device hardware address.
send and receive Phonet packets.
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 Note that Phonet interfaces are not allowed to re-order packets, so
only the (default) Linux FIFO qdisc should be used with them. only the (default) Linux FIFO qdisc should be used with them.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment