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