Phonet: improve documentation
Fix grammar errors spotted by Randy Dunlap, and adds some more details. Signed-off-by: Remi Denis-Courmont <remi.denis-courmont@nokia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
8980713b97
commit
ac2dc8ca14
|
@ -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:
|
||||||
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
|
||||||
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
|
||||||
|
link-layer header operations structure is provided. It sets the
|
||||||
|
media type according to the network device hardware address.
|
||||||
|
|
||||||
Linux Phonet network interfaces use a dedicated link layer type
|
Linux Phonet network interfaces support a dedicated link layer packets
|
||||||
(ETH_P_PHONET) which is out of the Ethernet type range. They can only
|
type (ETH_P_PHONET) which is out of the Ethernet type range. They can
|
||||||
send and receive Phonet packets.
|
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.
|
||||||
|
|
Loading…
Reference in New Issue