Jean Tourrilhes <[EMAIL PROTECTED]> writes:

>       Hi dag,
> 
>       This is the result of my hacking on Ultra. I can have a ultra
> message going from application to application (Yes, yes, yes !!!!), so
> most of the plumbing is done (it's no longer a proof of concept)...
>       However, it's not finished yet. The receive path in af_irda
> doesn't remove the header, and irlmp doesn't verify the upid. And also
> it doesn't work when LAP is connected. And then there is the cleanups
> and all the comments I left in the code...
>       Have fun...
> 
>       Jean

Hi Jean!
 
OK, I've looked through your patch, and I have applied some of it. But I
decided to do things a bit different:

o I see no reason to support Ultra PID's with extension bytes. There will
  _never_ be any use for it! IrDA have reserved all pid's and they have only
  specified one (0x01 for Ultra). This mechanism is the same as for hint
  bytes, and nobody supports more than 2 hint bytes!!! Therefore I have
  choosen not to use your irda_ultra_bind() function.
 
o I have also moved the PID byte from af_irda.c down to irlmp.c. So now you
  can open as many connless LSAP's as you want, and IrLMP will demultiplex
  based on the pid! The only reason to not have only one connless LSAP and do
  refcounting, is that we need to have different callbacks to the different
  sockets opening the connless LSAP. I know this is incorrect (in theory), 
  but again. The connectionless LSAP will only be used by Ultra!! No need
  to support anything else, at least not in the main distribution! Making a 
  separate Ultra layer is out of the question ;-)

o No support for connectionless LSAPs with selectors other than 0x70. The
  spec says this is the _only_ connless LSAP, and that we should drop all
  frames containing higher selectors. If we have support for this, the we
  might fail a compliance test, so again this will not go into the main
  distribution.

o IrLAP now sets the conn addr to broadcast whenever it goes into NDM,
  which makes it simpler to send out correct UI frames. Remember that you
  cannot send out UI frames using the broadcast address while a connection is
  running, so the use of SEND_I_FRAME and SEND_UI_FRAME is good enough as is.

Hope you don't get really mad at me, but I think this is the best to
do. This will give us a good Ultra functionality and an impl. which is easy
to debug (and that is usually my job ;-) If you feel I'm destroying
everything, then please tell me since I really want you to continue
torturing and extending the Linux-IrDA stack. You're doing a really great
job!!

-- Dag

-- 
   / Dag Brattli                   | The Linux-IrDA Project               /
  // University of Tromsoe, Norway | Infrared communication for Linux    //
 /// http://www.cs.uit.no/~dagb    | http://www.cs.uit.no/linux-irda/   ///

_______________________________________________
Linux-IrDA mailing list  -  [EMAIL PROTECTED]
http://www4.pasta.cs.UiT.No/mailman/listinfo/linux-irda

Reply via email to