linux/Documentation/networking/x25-iface.txt
<<
v/spa v/form va href="../linux+v3 2/Documenta.4" /networking/x25-iface.txt"> vimg src="../.sta.4c/gfx/right.png" alt=">>"> v/spa vspa class="lxr_search"> vinput typon>hidden" namon>navtarget" option>"> vinput typon>text" namon>search" idn>search"> vbutt4submit">Search Prefs v/a> v/spa v/div vform ac.4" ="ajax+*" method="post" onsubmit="return false;"> vinput typon>hidden" namon>ajax_lookup" idn>ajax_lookup" option>"> v/form vdiv class="headingbott4m">
search_results" class="search_results" v/div vdiv idn>content" vdiv idn>file_contents"
d7/2b/cf2d3843c023c21cfd9923c55e48442647d6_3/0"	L1" class="line" namon>L1">   1v/a>                        X.25 Device Driver Interface 1.1
L2" class="line" namon>L2">   2v/a>
L3" class="line" namon>L3">   3v/a>                           Jonatha
 Naylor 2  1io96
L4" class="line" namon>L4">   4v/a>
L5" class="line" namon>L5">   5v/a>This is a descri.9.4L6" class="line" namon>L6">   6v/a>Layer and the X.25 device driver. They are designed to allow for the easy
L7" class="line" namon>L7">   7v/a>setting/of the LAPB mode from within the Packet Layer.
L8" class="line" namon>L8">   8v/a>
L9" class="line" namon>L9">   9v/a>The X.25 device driver will be coded normally as per the Linux device driver
L10" class="line" namon>L10">  9.6standards. Most X.25 device drivers will be moderately similar to the
L11" class="line" namon>L11">  11v/a>already existing/Ethernet device drivers. However unlike those drivers, the
L12" class="line" namon>L12">  12v/a>X.25 device driver has a sta.e associa.ed with it, and this informa.4"

L13" class="line" namon>L13">  13v/a>needs to be passed to and from the Packet Layer for proper opera.4"
.
L14" class="line" namon>L14">  14v/a>
L15" class="line" namon>L15">  15v/a>All messages are held in sk_buff's just like real data to be transmit.ed
L16" class="line" namon>L16">  16v/a>over the LAPB link. The first by.e of the skbuff indica.es the meaning/of
L17" class="line" namon>L17">  17v/a>the rest of the skbuff, if any more informa.4"
 does exist.
L18" class="line" namon>L18">  18v/a>
L19" class="line" namon>L19">  19v/a>
L20" class="line" namon>L20">  2.6Packet Layer to Device Driver
L21" class="line" namon>L21">  21v/a>-----------------------------
L22" class="line" namon>L22">  22v/a>
L23" class="line" namon>L23">  23v/a>First By.e = 0x00 (X25_IFACE_DATA)
L24" class="line" namon>L24">  24v/a>
L25" class="line" namon>L25">  25v/a>This indica.es that the rest of the skbuff contains data to be transmit.ed
L26" class="line" namon>L26">  26v/a>over the LAPB link. The LAPB link should already exist before any data is
L27" class="line" namon>L27">  27v/a>passed dow
.
L28" class="line" namon>L28">  28v/a>
L29" class="line" namon>L29">  29v/a>First By.e = 0x01 (X25_IFACE_CONNECT)
L30" class="line" namon>L30">  30v/a>
L31" class="line" namon>L31">  31v/a>Establish the LAPB link. If the link is already established then the connect
L32" class="line" namon>L32">  32v/a>confirma.4"
 message should be returned as so"
 as possible.
L33" class="line" namon>L33">  33v/a>
L34" class="line" namon>L34">  34v/a>First By.e = 0x02 (X25_IFACE_DISCONNECT)
L35" class="line" namon>L35">  35v/a>
L36" class="line" namon>L36">  36v/a>Termina.e the LAPB link. If it is already disconnected then the disconnect
L37" class="line" namon>L37">  37v/a>confirma.4"
 message should be returned as so"
 as possible.
L38" class="line" namon>L38">  38v/a>
L39" class="line" namon>L39">  39v/a>First By.e = 0x03 (X25_IFACE_PARAMS)
L40" class="line" namon>L40">  40v/a>
L41" class="line" namon>L41">  41v/a>LAPB paramoters. To be defined.
L42" class="line" namon>L42">  42v/a>
L43" class="line" namon>L43">  43v/a>
L44" class="line" namon>L44">  44v/a>Device Driver to Packet Layer
L45" class="line" namon>L45">  45v/a>-----------------------------
L46" class="line" namon>L46">  46v/a>
L47" class="line" namon>L47">  47v/a>First By.e = 0x00 (X25_IFACE_DATA)
L48" class="line" namon>L48">  48v/a>
L49" class="line" namon>L49">  49v/a>This indica.es that the rest of the skbuff contains data that has bee

L50" class="line" namon>L50">  50v/a>received over the LAPB link.
L51" class="line" namon>L51">  51v/a>
L52" class="line" namon>L52">  52v/a>First By.e = 0x01 (X25_IFACE_CONNECT)
L53" class="line" namon>L53">  53v/a>
L54" class="line" namon>L54">  54v/a>LAPB link has bee
 established. The samo message is used for both a LAPB
L55" class="line" namon>L55">  55v/a>link connect_confirma.4"
 and a connect_indica.4"
.
L56" class="line" namon>L56">  56v/a>
L57" class="line" namon>L57">  57v/a>First By.e = 0x02 (X25_IFACE_DISCONNECT)
L58" class="line" namon>L58">  58v/a>
L59" class="line" namon>L59">  59v/a>LAPB link has bee
 termina.ed. This samo message is used for both a LAPB
L60" class="line" namon>L60">  60v/a>link disconnect_confirma.4"
 and a disconnect_indica.4"
.
L61" class="line" namon>L61">  61v/a>
L62" class="line" namon>L62">  62v/a>First By.e = 0x03 (X25_IFACE_PARAMS)
L63" class="line" namon>L63">  63v/a>
L64" class="line" namon>L64">  64v/a>LAPB paramoters. To be defined.
L65" class="line" namon>L65">  65v/a>
L66" class="line" namon>L66">  66v/a>
L67" class="line" namon>L67">  67v/a>
L68" class="line" namon>L68">  68v/a>Possible Problems
L69" class="line" namon>L69">  69v/a>=================
L70" class="line" namon>L70">  70v/a>
L71" class="line" namon>L71">  71v/a>(Henner Eisen, 2000-10-28)
L72" class="line" namon>L72">  72v/a>
L73" class="line" namon>L73">  73v/a>The X.25 packet layer protocol depends "
 a reliable datalink service.
L74" class="line" namon>L74">  74v/a>The LAPB protocol provides such reliable service. But this reliability
L75" class="line" namon>L75">  75v/a>is not preserved by the Linux network device driver interface:
L76" class="line" namon>L76">  76v/a>
L77" class="line" namon>L77">  77v/a>- With Linux 2.4.x (and above) SMP kernels, packet ordering/is not
L78" class="line" namon>L78">  78v/a>  preserved. Eve
 if a device driver calls netif_rx(skb1) and la.er
L79" class="line" namon>L79">  79  78v/netif_rx(skb2)L5-iface.txt#L21"" 
ng/x25-iatxt1"" 
nides such reliae>  41v/a>LAPB p------------
L71">  71v/a>(Henner E8sen, 80e.txt#earlihref=verf_rx/networking/x25-iface.txt#L9" idn>L9" class="line" nxt#L72" 8dn>L72" class="line" na8on>L78L22">  Dived"Documeupstreamline thes" naL21"" 
ng)"" 
nides sropp="line" nnetworking/x25-iface.txt#L9" idn>L9" class="line" nne" namo8>L73">  73v/a>The X.25 8acket82e.txt#">  78ss=" 41vb  plog queuv/a>la hgclaa.4"
/networking/x25-iface.txt#L66" idn>L66" class="l8a href="8ocumenta.4"
/networking8x25-i8 To be defined.
L74" class="line" n11"> d
  7" clquesnta.4is nom
.
L76 7v/a>settie defined.
L77">  77v/a>- With Li8ux 2.8.x (ahkb25"> " naN-R idlaevace. gringfully. Aline"equentaN-R idlaevace.e defined.
 always6 7gride 9.6
L9"">   9v/a>The X.25 devic-ifac8e
 termina.ed. This samo message is used for both a LAP8etworkin8/x25-iface.txt#L16" idn8L5-if8ace.txtuv/aon>L79"authorsnamon>L3makeaL21"" 
ng)"asamon>L75">"Documenta.4"
/networking/x25-iface.txt#L77" idn>L77" class="l9ne" namo9>L71">  71v/a>(Henner E9sen, 9000-10-28)
L72" class="line" na9on>L79L22">>L78re-erved. Ev11"> >L76occurss=" 41von>L79ne" namocumeruper tb25"ref="Documenta.4"
/networking/x25-iface.txt#L28" idn>L9ne" namo9>L73">  73v/a>The X.25 9acket925-ifacways6execua>coorma.4"n>L60CPUe" nuv/"Documenta.4"
/networking/x25-iface.txt#L28" idn>L9a href="9ocumenta.4"
/networking9x25-i9 To be defined.
  Dn>L79"authorsnamon>L3usv/arq afenty tthe LAPB ocumeruper tb25"rovides such reliable service. But this reliability
9Document9.4"
/networking/x25-ifa9e.txt9nta.4"
/networking/x25-iface.txt#L67" idn>L67" class="l9ne" namo9>L77">  77v/a>- With Li9ux 2.96ce.txt#L="lbed by t" nadn>L74" ume duv/ the  plog a hgcla1"> candes"
/networking/x25-iface.txt#L67" idn>L67" class="l9ef="Docu9enta.4"
/networking/x259iface971">  5duc="line" nafo/of . Ev thsu" iser>
L77" class="l9namon>L99">   9v/a>The X.25 devi9-ifac9ver will be coded normally as per the Linux device driveer
Lhe L">  78smon>y as class=line" namnamon>L27"ways6checkr has a sta.e associa.ed with it, and this informa.4"

0 href="Doccumenta.4"
/networking/x2sen,x2sclass="l"headin"sear" naL21"" 
ng)ass="lin"headis NET_RX_DROPer has a sta.e associa.ed with it, and this informa.4"

0the
L2" claon>L79ne" nam75" idn>L75" cmn>L1>L76 namon>  51v6" class="linf/a>
s a sta.e associa.ed with it, and this informa.4"

0L2" clae>  41vpe nams a sta.e associa.ed with it, and this informa.4"

0 href="Do0cumenta.4"
/networking/x03en,x2 class="l namo11"> mon>L75y> "p9" isadn>L74" ume" class="li="line" n11">s a sta.e associa.ed with it, and this informa.4"

0ne" namon0>L15">  15v/a>All messag04en,x24class="lauto>L61c>L10"causv/ 41vpe nae> re-APB link" 41vonopp="lpdevice driver. They are designed to allow for the easy
10t.ed
L19" class="li0f
  "p9ornot prasse.e defined.
L2" claoive"Documenta.g)""orm	 namon>L2nowLAPB lp idnt10""Docr has a sta.e associa.ed with it, and this informa.4"

0ne" namon0>L19">  19v/a>
  41v(  7hr4"
/networking/x25-iface.txt#L19" idn>L19" class="li0ne" namon0>L20">  2.6Packet Lay09en,x2ace.t(2(sDnamon>Lhe L">  78smon>y as cl2ss=amon>L27"ways6checkr ha gllbe>s a sta.e associa.ed with it, and this informa.4"

a href="Doocumenta.4"
/networking/xx25-i11sclass="lvar>L75">h idev_onopp. Ev1firma>h wnf/a>
 prese1v/a>
" clas X.25 device drivers will be moderately similar to the
L2" claamon>L2on10"ca"> >21"" 
ng)"if>h idev_onopp. Evprezero. Oa.4rwisernet device drivers. However unlike those drivers, tL2" claelas X.25 namon>L2no76 namon> such reyass="linf/a>
=lineonop"li4"
/networking/x25-iface.txt#L19" idn>L19" class="lia href="Doocumenta.4"
/networking/xx25-i11 class="lAlume="lively,aelas X.25 ncandqueuv/"linf/a>
=ocumen>L10">ineca">"
/networking/x25-iface.txt#L19" idn>L19" class="liane" namonn>L15">  15v/a>All messagges a114>L2" claL21"" 
ng)"L19" class="liat.ed
 amon>L27"s="Documemerlia " na" class="ocumen>Ldqueuv"
/networking/x25-iface.txt#L19" idn>L19" class="liaf
L19" class="liaumenta.4""
/networking/x25-iface.ttxt#L117class="l namo11"> no76mon>L75y>avoidadn>L74" ume, bulass="="lbed by t"
/networking/x25-iface.txt#L19" idn>L19" class="liane" namonn>L19">  19v/a>
L2" cla nadn>L74" ume inaL21"" 
ng)"pathL11">  11v/a>ificant10" 5duc="4"
/networking/x25-iface.txt#L19" idn>L19" class="liane" namonn>L20">  2.6Packet Layyer t1 Devic(3) Addiface>L10/aon>L79"authorsn" 
nid nasid nae>  "p9orns a sta.e associa.ed with it, and this informa.4"

< href="Do1" idn>L21" class="line"1 namo12sclass="lCONFIG_NET_HW_FLOWCONTROLe" namog/of saelas X.25 n the Lwokirmups a sta.e associa.ed with it, and this informa.4"

L22" class="line"1 namo12n>L2" cla1firma>9" vious10"c hgclaa.vb  plog queuv/bea mcumemp t"againas a sta.e associa.ed with it, and this informa.4"

<L24" class="1line"123>L2" cla natlass="li="line" ne" namfof -50v/ro/tocol provides such reliable service. But this reliability
1ine" namo1n>L25">  25v/a>This indi1ca.es1that tf

_3/0"	  25fooume">
 nelorigin>LdLXR softw idnine" naides suchhttp://sourced dge.ice/9"ojects/lxe">LXR a mmuty tat t,ot preexperiiable8smon>y anineides suchmailto:lxe@lL78".no">lxe@lL78".noat t.
_3/0"	< href5">  25subfooume">
lxe.lL78".no ut d10"holaa.vbyaides suchhttp://www. 5dp1">-lL79"o.no">R5dp1">n>L79"o ASat t,olass="lra na>L78"  nasul idn>>ineocumenta.stocol prstoina.4"995.
_3/0"	f