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