82 lines · plain
1.. SPDX-License-Identifier: GPL-2.02 3X.25 Device Driver Interface4============================5 6Version 1.17 8 Jonathan Naylor 26.12.969 10This is a description of the messages to be passed between the X.25 Packet11Layer and the X.25 device driver. They are designed to allow for the easy12setting of the LAPB mode from within the Packet Layer.13 14The X.25 device driver will be coded normally as per the Linux device driver15standards. Most X.25 device drivers will be moderately similar to the16already existing Ethernet device drivers. However unlike those drivers, the17X.25 device driver has a state associated with it, and this information18needs to be passed to and from the Packet Layer for proper operation.19 20All messages are held in sk_buff's just like real data to be transmitted21over the LAPB link. The first byte of the skbuff indicates the meaning of22the rest of the skbuff, if any more information does exist.23 24 25Packet Layer to Device Driver26-----------------------------27 28First Byte = 0x00 (X25_IFACE_DATA)29 30This indicates that the rest of the skbuff contains data to be transmitted31over the LAPB link. The LAPB link should already exist before any data is32passed down.33 34First Byte = 0x01 (X25_IFACE_CONNECT)35 36Establish the LAPB link. If the link is already established then the connect37confirmation message should be returned as soon as possible.38 39First Byte = 0x02 (X25_IFACE_DISCONNECT)40 41Terminate the LAPB link. If it is already disconnected then the disconnect42confirmation message should be returned as soon as possible.43 44First Byte = 0x03 (X25_IFACE_PARAMS)45 46LAPB parameters. To be defined.47 48 49Device Driver to Packet Layer50-----------------------------51 52First Byte = 0x00 (X25_IFACE_DATA)53 54This indicates that the rest of the skbuff contains data that has been55received over the LAPB link.56 57First Byte = 0x01 (X25_IFACE_CONNECT)58 59LAPB link has been established. The same message is used for both a LAPB60link connect_confirmation and a connect_indication.61 62First Byte = 0x02 (X25_IFACE_DISCONNECT)63 64LAPB link has been terminated. This same message is used for both a LAPB65link disconnect_confirmation and a disconnect_indication.66 67First Byte = 0x03 (X25_IFACE_PARAMS)68 69LAPB parameters. To be defined.70 71 72Requirements for the device driver73----------------------------------74 75Packets should not be reordered or dropped when delivering between the76Packet Layer and the device driver.77 78To avoid packets from being reordered or dropped when delivering from79the device driver to the Packet Layer, the device driver should not80call "netif_rx" to deliver the received packets. Instead, it should81call "netif_receive_skb_core" from softirq context to deliver them.82