Hi Yi-Shou I did further testing today to reproduce it in my setup. It turns out that the datapath of even my NetFPGA OpenFlow switch crashes when the flow_mod with two actions (1 being the set_vid action and the 2nd being the output action) is sent from NOX to the switch.
I've filed a bug with the NetFPGA team: http://bugs.openflow.org/trac/openflow/ticket/292 I'll try to narrow this down further to see why having two actions process the same bufid is having a problem. Thanks for your patience. Srini. On Wed, Mar 9, 2011 at 1:32 AM, Yi-Shou <[email protected]> wrote: > Hi, > > I use wireshark to examine the flow mod, but I can't get any useful > information. It doesn't matter, I will keep checking. > Now I have two question: > 1) When I execute the nox and openflow, what environment configuration do I > > have to set up? For example: network configuration. > > 2) I traceback error message about "ofdatapath: lib/ofpbuf.c:168: > ofpbuf_prealloc_headroom: Assertion `size <= ofpbuf_headroom(b)' failed.", > so I > > edit ofpbuf_prealloc_headroom and print out the headroom value, just see > below: > > *******************lib/ofpbuf.c************************** > void > ofpbuf_prealloc_headroom(struct ofpbuf *b, size_t size) > { > --------------------------modificiation-------------------------------- > > printf("headroom value: %d\n",ofpbuf_headroom(b)); > assert(0 <= ofpbuf_headroom(b)); > > ---------------------------------------------------------------------------- > //assert(size <= ofpbuf_headroom(b)); original > > } > > ********************************************************* > > > -----------------------------------------error > message------------------------------------------- > headroom value: 130 > headroom value: 130 > > headroom value: 0 > *** glibc detected *** ofdatapath: double free or corruption (out): > 0x081bca18 > *** > *** glibc detected *** ofdatapath: corrupted double-linked list: 0x081bc9e0 > *** > ======= Backtrace: ========= > > /lib/libc.so.6[0x42887ab6] > /lib/libc.so.6[0x42889d17] > /lib/libc.so.6(__libc_calloc+0xba)[0x4288bbaa] > /lib/ld-linux.so.2[0x4280b5eb] > /lib/ld-linux.so.2[0x42807021] > /lib/ld-linux.so.2[0x42808dff] > /lib/ld-linux.so.2[0x42812a0c] > > /lib/ld-linux.so.2[0x4280eda6] > /lib/ld-linux.so.2[0x428123f2] > /lib/libc.so.6[0x429282e2] > /lib/ld-linux.so.2[0x4280eda6] > /lib/libc.so.6(__libc_dlopen_mode+0x55)[0x42928495] > /lib/libc.so.6[0x429050f9] > /lib/libc.so.6(backtrace+0xf3)[0x42905293] > > /lib/libc.so.6[0x428812a1] > /lib/libc.so.6[0x428895a5] > /lib/libc.so.6(cfree+0x59)[0x428899e9] > ofdatapath(ofpbuf_delete+0x16)[0x805af16] > ofdatapath[0x80523ef] > ofdatapath(dp_run+0x39f)[0x80531af] > ofdatapath(udatapath_cmd+0x615)[0x8054a65] > > ofdatapath(main+0x22)[0x8054b82] > /lib/libc.so.6(__libc_start_main+0xdc)[0x42835e9c] > ofdatapath[0x804f8d1] > ======= Memory map: ======== > 08048000-08079000 r-xp 00000000 08:01 1578384 /usr/local/bin/ofdatapath > > 08079000-0807b000 rw-p 00031000 08:01 1578384 /usr/local/bin/ofdatapath > 0807b000-081c6000 rw-p 00000000 00:00 0 [heap] > 42801000-4281c000 r-xp 00000000 08:01 2357240 /lib/ld-2.5.so > > 4281c000-4281d000 r--p 0001a000 08:01 2357240 /lib/ld-2.5.so > 4281d000-4281e000 rw-p 0001b000 08:01 2357240 /lib/ld-2.5.so > 42820000-42973000 r-xp 00000000 08:01 2357242 /lib/libc-2.5.so > > 42973000-42975000 r--p 00152000 08:01 2357242 /lib/libc-2.5.so > 42975000-42976000 rw-p 00154000 08:01 2357242 /lib/libc-2.5.so > 42976000-42979000 rw-p 00000000 00:00 0 > > 429a6000-429a9000 r-xp 00000000 08:01 2358413 /lib/libdl-2.5.so > 429a9000-429aa000 r--p 00002000 08:01 2358413 /lib/libdl-2.5.so > 429aa000-429ab000 rw-p 00003000 08:01 2358413 /lib/libdl-2.5.so > > 43900000-4390b000 r-xp 00000000 08:01 2357180 > /lib/libgcc_s-4.1.2-20080825.so.1 > 4390b000-4390c000 rw-p 0000a000 08:01 2357180 > /lib/libgcc_s-4.1.2-20080825.so.1 > b7600000-b7621000 rw-p 00000000 00:00 0 > > b7621000-b7700000 ---p 00000000 00:00 0 > b77b8000-b783b000 rw-p 00000000 00:00 0 > b7845000-b7847000 rw-p 00000000 00:00 0 > b7847000-b7848000 r-xp 00000000 00:00 0 [vdso] > bfb38000-bfb4d000 rw-p 00000000 00:00 0 [stack] > > -------------------------------------------------------------------------------------------------- > > I find headroom values is "130, 130 and 0" , what are these value mean?why > does > the last value is 0? > > > Any suggestion will be helpful, Thank you. > > Yi-Shou > > _______________________________________________ > openflow-discuss mailing list > [email protected] > https://mailman.stanford.edu/mailman/listinfo/openflow-discuss > > _______________________________________________ openflow-discuss mailing list [email protected] https://mailman.stanford.edu/mailman/listinfo/openflow-discuss
