[ovs-discuss] ctx->xin-packet overlap

William Tu u9012063 at gmail.com
Tue May 19 15:40:44 UTC 2020


On Mon, May 18, 2020 at 7:10 AM Luca Mancini <luca.mancini at outlook.com> wrote:
>
>
>
> Hi William,
>
>
>
> Thanks for replying so promptly.
>
> I’m still not quite sure what you mean, when I print I use:
>
>
>
> VLOG_ERR(   “%s”     ,      (char *) dp_packet_get_udp_payload(dp_packet_buff[index])     );
>
>
>
> Why would the second packet received assigned from ctx->xin->packet and stored in dp_packet_buff[index + 1] overlap with the first packet.
>
> So using the example from before upon first packet:
>
>
>
> 1. Index=0
>
> 2. Ctx->xin->packet = “everyone”
>
> 3. dp_packet_buff[0] = {“Everyone”}
>
> 4. print with VLOG_ERR as above
>
> 5. index++
>
> 6. Ctx->xin->packet = “hello”
>
> 7. But dp_packet_buff[1] ={“hello ne”} instead of {“hello”}
>
>
>
> Isn’t the problem due to ctx->xin->packet being overwritten by subsequent packets? To explain better, on point 6 the actual packet contained in ctx->xin-packet is “hello ne” and not “hello”
>
>
Oh, I see your point.
Maybe you can try add a break point using gdb, and see where the memory
address is when assigning string to different indexes.
William


More information about the discuss mailing list