1 .. SPDX-License-Identifier: GPL-2.0 2 3 X.25 Device Driver Interface 4 ============================ 5 6 Version 1.1 7 8 Jonathan Naylor 26.12.96 9 10 This is a description of the messages to be passed between the X.25 Packet 11 Layer and the X.25 device driver. They are designed to allow for the easy 12 setting of the LAPB mode from within the Packet Layer. 13 14 The X.25 device driver will be coded normally as per the Linux device driver 15 standards. Most X.25 device drivers will be moderately similar to the 16 already existing Ethernet device drivers. However unlike those drivers, the 17 X.25 device driver has a state associated with it, and this information 18 needs to be passed to and from the Packet Layer for proper operation. 19 20 All messages are held in sk_buff's just like real data to be transmitted 21 over the LAPB link. The first byte of the skbuff indicates the meaning of 22 the rest of the skbuff, if any more information does exist. 23 24 25 Packet Layer to Device Driver 26 ----------------------------- 27 28 First Byte = 0x00 (X25_IFACE_DATA) 29 30 This indicates that the rest of the skbuff contains data to be transmitted 31 over the LAPB link. The LAPB link should already exist before any data is 32 passed down. 33 34 First Byte = 0x01 (X25_IFACE_CONNECT) 35 36 Establish the LAPB link. If the link is already established then the connect 37 confirmation message should be returned as soon as possible. 38 39 First Byte = 0x02 (X25_IFACE_DISCONNECT) 40 41 Terminate the LAPB link. If it is already disconnected then the disconnect 42 confirmation message should be returned as soon as possible. 43 44 First Byte = 0x03 (X25_IFACE_PARAMS) 45 46 LAPB parameters. To be defined. 47 48 49 Device Driver to Packet Layer 50 ----------------------------- 51 52 First Byte = 0x00 (X25_IFACE_DATA) 53 54 This indicates that the rest of the skbuff contains data that has been 55 received over the LAPB link. 56 57 First Byte = 0x01 (X25_IFACE_CONNECT) 58 59 LAPB link has been established. The same message is used for both a LAPB 60 link connect_confirmation and a connect_indication. 61 62 First Byte = 0x02 (X25_IFACE_DISCONNECT) 63 64 LAPB link has been terminated. This same message is used for both a LAPB 65 link disconnect_confirmation and a disconnect_indication. 66 67 First Byte = 0x03 (X25_IFACE_PARAMS) 68 69 LAPB parameters. To be defined. 70 71 72 Requirements for the device driver 73 ---------------------------------- 74 75 Packets should not be reordered or dropped when delivering between the 76 Packet Layer and the device driver. 77 78 To avoid packets from being reordered or dropped when delivering from 79 the device driver to the Packet Layer, the device driver should not 80 call "netif_rx" to deliver the received packets. Instead, it should 81 call "netif_receive_skb_core" from softirq context to deliver them.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.