Netmap buffer data is zero.
chintu hetam
rometoroam at gmail.com
Tue May 28 20:41:53 UTC 2013
Hi All,
This is my first message in this forum. Following is my configuration
OS : FreeBSD 9.1 RELEASE
interface: igb1
.
My end application is to ONLY capture data at line rate.
I am able to make my test application work but not receive single byte of
data.
When i print buf contents it's zero.
I am attaching my test code, gdb dump and tcp dump for your reference.
Any help ASAP on this will be much appreciated.
Hardik
-------------- next part --------------
Program received signal SIG69, Real-time event 69.
main (argc=2, argv=0x7fffffffda10) at nm_test.c:261
261
3: ring->cur = 393
2: buf = 0x801e12000 ""
1: nifp = (struct netmap_if *) 0x8015c6800
(gdb)
262 //use_data(buf, ring->slot[i].len);
3: ring->cur = 393
2: buf = 0x801e12000 ""
1: nifp = (struct netmap_if *) 0x8015c6800
(gdb)
Program received signal SIG69, Real-time event 69.
main (argc=2, argv=0x7fffffffda10) at nm_test.c:262
262 //use_data(buf, ring->slot[i].len);
3: ring->cur = 393
2: buf = 0x801e12000 ""
1: nifp = (struct netmap_if *) 0x8015c6800
(gdb)
264 ring->cur = NETMAP_RING_NEXT(ring, i);
3: ring->cur = 393
2: buf = 0x801e12000 ""
1: nifp = (struct netmap_if *) 0x8015c6800
(gdb)
Program received signal SIG69, Real-time event 69.
main (argc=2, argv=0x7fffffffda10) at nm_test.c:264
264 ring->cur = NETMAP_RING_NEXT(ring, i);
3: ring->cur = 393
2: buf = 0x801e12000 ""
1: nifp = (struct netmap_if *) 0x8015c6800
(gdb)
Program received signal SIG69, Real-time event 69.
main (argc=2, argv=0x7fffffffda10) at nm_test.c:264
264 ring->cur = NETMAP_RING_NEXT(ring, i);
3: ring->cur = 393
2: buf = 0x801e12000 ""
1: nifp = (struct netmap_if *) 0x8015c6800
(gdb) info display
Auto-display expressions now in effect:
Num Enb Expression
3: y ring->cur
2: y buf
1: y nifp
(gdb) undisplay 1
(gdb) undisplay 2
(gdb) undisplay 2
No display number 2.
(gdb) undisplay 3
(gdb) continue
Continuing.
Program received signal SIG69, Real-time event 69.
main (argc=2, argv=0x7fffffffda10) at nm_test.c:264
264 ring->cur = NETMAP_RING_NEXT(ring, i);
(gdb) n
Program received signal SIG69, Real-time event 69.
main (argc=2, argv=0x7fffffffda10) at nm_test.c:264
264 ring->cur = NETMAP_RING_NEXT(ring, i);
(gdb) print ring->cur
$34 = 393
(gdb)
$35 = 393
(gdb) n
Program received signal SIG69, Real-time event 69.
main (argc=2, argv=0x7fffffffda10) at nm_test.c:264
264 ring->cur = NETMAP_RING_NEXT(ring, i);
(gdb)
265 }
(gdb)
Program received signal SIG69, Real-time event 69.
main (argc=2, argv=0x7fffffffda10) at nm_test.c:265
265 }
(gdb) continue
Continuing.
Program received signal SIG69, Real-time event 69.
main (argc=2, argv=0x7fffffffda10) at nm_test.c:265
265 }
(gdb)
Continuing.
Program received signal SIG69, Real-time event 69.
main (argc=2, argv=0x7fffffffda10) at nm_test.c:265
265 }
(gdb)
Continuing.
Breakpoint 2, main (argc=2, argv=0x7fffffffda10) at nm_test.c:259
259 ++packets;
(gdb)
Continuing.
Program received signal SIG69, Real-time event 69.
main (argc=2, argv=0x7fffffffda10) at nm_test.c:259
259 ++packets;
(gdb) print ring->cur
$36 = 198
(gdb) print/x ring->cur
$37 = 0xc6
(gdb) x/48xb ring
0x80168e000: 0x00 0x00 0x6c 0x00 0x00 0x00 0x00 0x00
0x80168e008: 0x00 0x04 0x00 0x00 0x00 0x00 0x00 0x00
0x80168e010: 0xc6 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x80168e018: 0x00 0x08 0x00 0x00 0x00 0x00 0x00 0x00
0x80168e020: 0x6b 0xf6 0xa4 0x51 0x00 0x00 0x00 0x00
0x80168e028: 0x49 0xf5 0x0e 0x00 0x00 0x00 0x00 0x00
(gdb) print ring->avail
$38 = 0
(gdb) print ring->cur
$39 = 198
(gdb) print/x ring->cur
$40 = 0xc6
(gdb) print ring
$41 = (struct netmap_ring *) 0x80168e000
(gdb) print/x ring->buf_ofs
$42 = 0x6c0000
(gdb) print/x ring->cur
$43 = 0xc6
(gdb) print/x ring->slot[0xc6].buf_idx
$44 = 0x18c8
(gdb) print/x ring->slot[0xc6].len
$45 = 0x5ea
(gdb) print/x ring->slot[0].len
$46 = 0x5ea
(gdb) print/x ring->slot[0].buf_idx
$47 = 0x1802
(gdb) print/x ring->slot[0].flags
$48 = 0x0
(gdb) x/1024xb (ring+ring->buf_ofs+0xc6*0x800)
0x816d1e000: Error accessing memory address 0x816d1e000: Bad address.
(gdb) print ring
$49 = (struct netmap_ring *) 0x80168e000
(gdb) x/48xb ring
0x80168e000: 0x00 0x00 0x6c 0x00 0x00 0x00 0x00 0x00
0x80168e008: 0x00 0x04 0x00 0x00 0x00 0x00 0x00 0x00
0x80168e010: 0xc6 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x80168e018: 0x00 0x08 0x00 0x00 0x00 0x00 0x00 0x00
0x80168e020: 0x6b 0xf6 0xa4 0x51 0x00 0x00 0x00 0x00
0x80168e028: 0x49 0xf5 0x0e 0x00 0x00 0x00 0x00 0x00
(gdb)
-------------- next part --------------
11:xx:24.xx6071 00:0e:0c:e4:79:33 > 0y:x0:4x:9x:a9:x3, IPv4, length 1514: (tos 0x0, ttl 128, id 3xxx6, offset 0, flags [DF], proto TCP (6), length 1500, bad cksum 6a3e (->ea47)!)
138.0.0.XXX.27533 > 10.0.0.XXX2.25: tcp 1460
0x0000: 0030 489a a983 000e 0ce4 7933 0800 4500 .0H.......y3..E.
0x0010: 05dc 7608 4000 8006 6a3e 8a00 0066 0a00 ..v. at ...j>...f..
0x0020: 0066 6b8d 0019 c3af 27e8 c464 b5bf 5010 .fk.....'..d..P.
0x0030: f8c8 62c3 0000 2f2f 2f2f 2f2f 2f2f 2f2f ..b...//////////
0x0040: 2f2f 2f2f 2f2f 4141 4141 4141 4141 4141 //////AAAAAAAAAA
0x0050: 4141 4141 4141 4141 4141 2f2f 2f2f 2f2f AAAAAAAAAA//////
0x0060: 2f2f 4141 4141 4141 4141 4141 4141 2f2f //AAAAAAAAAAAA//
0x0070: 2f2f 0d0a 2f2f 2f2f 2f2f 2f2f 4141 4141 //..////////AAAA
0x0080: 4141 4141 4141 4141 2f2f 2f2f 2f2f 2f2f AAAAAAAA////////
0x0090: 2f2f 2f2f 4141 4141 4141 4141 4141 4141 ////AAAAAAAAAAAA
0x00a0: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x00b0: 2f2f 2f2f 4141 4141 2f2f 2f2f 4141 4141 ////AAAA////AAAA
0x00c0: 0d0a 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 4141 ..////////////AA
0x00d0: 4141 2f2f 2f2f 4141 4141 4141 4141 2f2f AA////AAAAAAAA//
0x00e0: 2f2f 2f2f 2f2f 4141 4141 4141 4141 4141 //////AAAAAAAAAA
0x00f0: 4141 2f2f 2f2f 2f2f 2f2f 4141 4141 2f2f AA////////AAAA//
0x0100: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 0d0a //////////////..
0x0110: 4141 4141 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f AAAA////////////
0x0120: 4141 4141 4141 4141 2f2f 2f2f 4141 4141 AAAAAAAA////AAAA
0x0130: 2f2f 2f2f 2f2f 2f2f 4141 4141 4141 4141 ////////AAAAAAAA
0x0140: 4141 4141 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f AAAA////////////
0x0150: 4141 4141 4141 4141 4141 4141 0d0a 2f2f AAAAAAAAAAAA..//
0x0160: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0170: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0180: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0190: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x01a0: 2f2f 2f2f 2f2f 2f2f 2f2f 0d0a 2f2f 2f2f //////////..////
0x01b0: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x01c0: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x01d0: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x01e0: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x01f0: 2f2f 2f2f 2f2f 2f2f 0d0a 2f2f 2f2f 2f2f ////////..//////
0x0200: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0210: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0220: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0230: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0240: 2f2f 2f2f 2f2f 0d0a 2f2f 2f2f 2f2f 2f2f //////..////////
0x0250: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0260: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0270: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0280: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0290: 2f2f 2f2f 0d0a 2f2f 2f2f 2f2f 2f2f 2f2f ////..//////////
0x02a0: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x02b0: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x02c0: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x02d0: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x02e0: 2f2f 0d0a 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f //..////////////
0x02f0: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0300: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0310: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0320: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0330: 0d0a 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ..//////////////
0x0340: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0350: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0360: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0370: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 0d0a //////////////..
0x0380: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0390: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x03a0: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x03b0: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x03c0: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 0d0a 2f2f ////////////..//
0x03d0: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x03e0: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x03f0: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0400: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0410: 2f2f 2f2f 2f2f 2f2f 2f2f 0d0a 2f2f 2f2f //////////..////
0x0420: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0430: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0440: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0450: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0460: 2f2f 2f2f 2f2f 2f2f 0d0a 2f2f 2f2f 2f2f ////////..//////
0x0470: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0480: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0490: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x04a0: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x04b0: 2f2f 2f2f 2f2f 0d0a 2f2f 2f2f 2f2f 2f2f //////..////////
0x04c0: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x04d0: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x04e0: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x04f0: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0500: 2f2f 2f2f 0d0a 2f2f 2f2f 2f2f 2f2f 2f2f ////..//////////
0x0510: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0520: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0530: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0540: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0550: 2f2f 0d0a 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f //..////////////
0x0560: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0570: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0580: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x0590: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x05a0: 0d0a 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ..//////////////
0x05b0: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x05c0: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x05d0: 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f 2f2f ////////////////
0x05e0: 2f2f 2f2f 2f2f 2f2f 2f2f //////////
More information about the freebsd-net
mailing list