RDI target via UDP and router (don't)

Shaun Jackman shaunj@gray-interfaces.com
Thu Sep 7 09:02:00 GMT 2000


The Jeeni really should be using Angel over TCP. Why they decided on UDP is
beyond me.
As far as I understand it, Angel over UDP is identical to Angel over serial,
with the serial chunks broken up to datagrams.
TCP would provide a reliable streamed connection identical to the original
serial transport method.
Like you said, Angel has to run over a reliable transport medium. If they
haven't built reliability (ie lost packet sense, out of order, etc...) into
their Angel over UDP protocol, it's seriously broken.
I wonder if we could convince them to do an Angel over TCP firmware version?

Cheers,
Shaun

----- Original Message -----
From: Grant Edwards <grante@visi.com>
To: <gdb@sources.redhat.com>
Sent: Wednesday, 2000 September 06 21.57
Subject: RDI target via UDP and router (don't)


>
> Hello ARM fans!
>
> I discovered today that using the Jeeni RDI target via a router is bad
news.
>
> The Angle Debug Protocol used by the RDI target is fragile and can't
handle
> any packet loss.  Rather than UDP, it really should be using the mythical
> "reliable datagram" or "sequential packet" service spoken of in the
"socket"
> man-page of some Unices.  Unfortunately nobody ever got around to
> implementing either of those (AFAIK).
>
> So, if your router is not absolutely, postitively, 100% reliable, it's
going
> to break the Angle/UDP connection between gdb and the Jeeni.  I've no idea
> _why_ our router was dropping UDP packets, but every minute or two the
damn
> thing (the router) apparently flushes its ARP tables, because it sends an
> ARP request out to find the Ethernet address of the Jeeni.  If it receives
> an Angel/UDP packet from gdb destined for the Jeeni before it gets an ARP
> reply from the Jeeni, it flushes the UDP packet, and the gdb<-->Jeeni
> connection seizes up.
>
> It's possible that receiving an ARP request caused the Jeeni to loose a
UDP
> packet somehow -- I don't think I could differentiate between these two
> cases with the data I gathered.
>
> Either way, using the router caused the Angel protocol connection to die
> within a minute or two of starting up gdb.  Reconfiguring things so that
the
> Jeeni was on the same subnet as the gdb host made the problem go away.
>
> --
> Grant Edwards
> grante@visi.com
>
>



More information about the Gdb mailing list