aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/networking
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/networking')
-rw-r--r--Documentation/networking/phonet.txt32
1 files changed, 21 insertions, 11 deletions
diff --git a/Documentation/networking/phonet.txt b/Documentation/networking/phonet.txt
index f3c72e0ca8d7..57d3e59edb13 100644
--- a/Documentation/networking/phonet.txt
+++ b/Documentation/networking/phonet.txt
@@ -21,7 +21,7 @@ depending on the device, such as:
21Packets format 21Packets format
22-------------- 22--------------
23 23
24Phonet packet have a common header as follow: 24Phonet packets have a common header as follows:
25 25
26 struct phonethdr { 26 struct phonethdr {
27 uint8_t pn_media; /* Media type (link-layer identifier) */ 27 uint8_t pn_media; /* Media type (link-layer identifier) */
@@ -33,14 +33,17 @@ Phonet packet have a common header as follow:
33 uint8_t pn_sobj; /* Sender object ID */ 33 uint8_t pn_sobj; /* Sender object ID */
34 }; 34 };
35 35
36The device ID is split: the 6 higher order bits consitutes the device 36On Linux, the link-layer header includes the pn_media byte (see below).
37address, while the 2 lower order bits are used for multiplexing, as are 37The next 7 bytes are part of the network-layer header.
38the 8-bits object identifiers. As such, Phonet can be considered as a 38
39The device ID is split: the 6 higher-order bits consitute the device
40address, while the 2 lower-order bits are used for multiplexing, as are
41the 8-bit object identifiers. As such, Phonet can be considered as a
39network layer with 6 bits of address space and 10 bits for transport 42network layer with 6 bits of address space and 10 bits for transport
40protocol (much like port numbers in IP world). 43protocol (much like port numbers in IP world).
41 44
42The modem always has address number zero. Each other device has a its 45The modem always has address number zero. All other device have a their
43own 6-bits address. 46own 6-bit address.
44 47
45 48
46Link layer 49Link layer
@@ -49,11 +52,18 @@ Link layer
49Phonet links are always point-to-point links. The link layer header 52Phonet links are always point-to-point links. The link layer header
50consists of a single Phonet media type byte. It uniquely identifies the 53consists of a single Phonet media type byte. It uniquely identifies the
51link through which the packet is transmitted, from the modem's 54link through which the packet is transmitted, from the modem's
52perspective. 55perspective. Each Phonet network device shall prepend and set the media
53 56type byte as appropriate. For convenience, a common phonet_header_ops
54Linux Phonet network interfaces use a dedicated link layer type 57link-layer header operations structure is provided. It sets the
55(ETH_P_PHONET) which is out of the Ethernet type range. They can only 58media type according to the network device hardware address.
56send and receive Phonet packets. 59
60Linux Phonet network interfaces support a dedicated link layer packets
61type (ETH_P_PHONET) which is out of the Ethernet type range. They can
62only send and receive Phonet packets.
63
64The virtual TUN tunnel device driver can also be used for Phonet. This
65requires IFF_TUN mode, _without_ the IFF_NO_PI flag. In this case,
66there is no link-layer header, so there is no Phonet media type byte.
57 67
58Note that Phonet interfaces are not allowed to re-order packets, so 68Note that Phonet interfaces are not allowed to re-order packets, so
59only the (default) Linux FIFO qdisc should be used with them. 69only the (default) Linux FIFO qdisc should be used with them.