Subject: [dtn-users] Zaurus-to-x86 ping problem
From: "Durst, Robert C." <[email-masked]>
To: <[email-masked]>, <[email-masked]>
Cc: <[email-masked]>, "Scott, Keith L." <[email-masked]>
Date: Thu, 23 Feb 2006 17:52:08 -0500
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>

Mike,

Hi.  I'm trying to get the Zaurus working again.  Kevin said yesterday
that
you all were trying to do the same for some demo.  I'm having a problem
when
I try to do a DTN ping from the zaurus to an x86 box (I don't have the
same
problem when I try a ping from x86 to x86).  It looks like the header
length
field is set to 00 on the Zaurus.  Further parsing of the headers shows
that
the dictionary offsets in the Zaurus-formed bundle are all zero.

Went back and looked at the log, and sure enough, dictionary offsets
are 0 (but the
primary length is non-zero):
[1140725962.744137 /bundle/protocol debug] generated dictionary length
42
[1140725962.744361 /bundle/protocol debug] preamble length 5, primary
length 71
[1140725962.744718 /bundle/protocol debug] dictionary offsets: dest 0,0
source 0,0, custodian 0,0 replyto 0,0
[1140725962.744917 /bundle/protocol debug] encoding done -- total
length 79

Here is the ethereal frame of the zaurus bundle, followed by an
ethereal frame
from a working (x86-to-x86) dtnping, and finally hand-parsings of the
bundles.

Got any thoughts?

Thanks,
Durst

Here's the full frame for the zaurus-to-x86 dtnping:
0000   00 06 5b 5e 6e ac 00 c0 1b 05 dc f9 08 00 45 00
..[^n.........E.
0010   00 89 f7 b6 40 00 40 06 26 5d 80 1d 0e 06 80 1d
....@.@.&]......
0020   0e 1b 04 13 13 88 6b 14 0e 7d 98 9d 97 95 80 18
......k..}......
0030   16 d0 d9 a8 00 00 01 01 08 0a 00 8c f9 c6 03 b1
................
0040   5d e5 ***START OF TCP USER DATA***
             01 00 00 00 00 59 04 00 00 00 00 00 00 00
]......Y........   <<-- 5th byte after 04 is 00.
0050   00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 25
...............%
0060   bf 43 fd ed 34 00 00 00 1e 2a 64 74 6e 00 2f 2f
.C..4....*dtn.//
0070   6d 6d 31 30 38 33 35 37 00 2f 2f 7a 61 75 72 75
mm108357.//zauru
0080   73 72 63 64 2f 70 69 6e 67 2e 31 38 39 30 00 6e
srcd/ping.1890.n
0090   6f 6e 65 00 01 00 0a                             one....

Here's the full frame for an x86-to-x86 dtnping:
0000   00 06 5b 5e 6e ac 00 b0 d0 80 79 83 08 00 45 00
..[^n.....y...E.
0010   00 8a 91 5f 40 00 40 06 8c 9b 80 1d 0e 1e 80 1d
..._@.@.........
0020   0e 1b b6 6c 13 88 d4 86 34 2f ce 7a 36 7e 80 18
...l....4/.z6~..
0030   05 b4 2a e5 00 00 01 01 08 0a 16 0a a5 8c 03 b4
..*.............
0040   ad a1 ***** START OF TCP USER DATA ****
             01 00 00 00 00 5a 04 00 00 00 48 00 00 00
.......Z....H...  <<-- 5th byte after 04 is 48.
0050   04 00 00 00 0f 00 00 00 0f 00 00 00 26 00 05 90
............&...
0060   eb 43 fd f0 9e 00 00 00 1e 2b 64 74 6e 00 2f 2f
.C.......+dtn.//
0070   4d 4d 31 30 38 33 35 37 00 2f 2f 6d 32 36 39 35
MM108357.//m2695
0080   39 2d 70 63 2f 70 69 6e 67 2e 32 33 31 33 32 00
9-pc/ping.23132.
0090   6e 6f 6e 65 00 01 00 0a                          none....

Zaurus (busted) bundle header:

Version:        04
Proc Flags:     00
COS Flags:      00
SRR Flags:      00
Header Length:  00
Dest Sch Off:   00 00
Dest SSP Off:   00 00
Source Sch Off: 00 00
Source SSP Off: 00 00
Rpt-to Sch Off: 00 00
Rpt-to-SSP Off: 00 00
Cust Sch Off:   00 00
Cust Sch SSP:   00 00
Creation TS:    00 05 25 bf 43 fd ed 34
Lifetime:       00 00 00 1e   (30 sec)
Dict Len:       2a
Dict. Array:    dtn
                00
                //mm108357
                00
                //zaurusrcd/ping.1890
                00
                none
Bundle Payload Header
Header Type:    00
Proc. Flags:    01
Header Len:     00 0a

In a subsequent TCP segment, the payload is:
30 64 74 6e 5f 70 69 6e 67 21           0dtn_ping!

x86 (working) bundle header:

Version:        04
Proc Flags:     00
COS Flags:      00
SRR Flags:      00
Header Length:  48
Dest Sch Off:   00 00
Dest SSP Off:   00 04
Source Sch Off: 00 00
Source SSP Off: 00 0f
Rpt-to Sch Off: 00 00
Rpt-to-SSP Off: 00 0f
Cust Sch Off:   00 00
Cust Sch SSP:   00 26
Creation TS:    00 05 90 eb 43 fd f0 9e
Lifetime:       00 00 00 1e   (30 sec)
Dict Len:       2b
Dict. Array:    dtn
                00
                //MM108357
                00
                //m26959-pc/ping.23132
                00
                none
Bundle Payload Header
Header Type:    00
Proc. Flags:    01
Header Len:     00 0a

In a subsequent TCP segment, the payload is:
30 64 74 6e 5f 70 69 6e 67 21           0dtn_ping!