[ovs-dev] parse first packet in the user space

Po-Ching Lin pachinko.tw at gmail.com
Fri Sep 12 09:49:46 UTC 2014


As the first packet of a new flow goes to ovs-vswitchd, we are tracing where
the packet is parsed in the source code of ovs-vswitchd. We found the packet is
copied to user_skb in datapath.c:queue_userspace_packet, and then passed
to the user space by genlmsg_unicast. In the user space, we guess
dpif-linux.c:parse_odp_packet is likely to be the function which parses the information
from the kernel. It locates header information such as nlmsghdr, but we do not find
where the piece of code is to parse the packet (i.e., the original skb variable in
datapath.c:queue_userspace_packet) from the kernel. Please suggest where
we can find the packet in the buffer variable passed to dpif-linux.c:parse_odp_packet.
Please also let us know if we misunderstand the source code. Thanks a lot.

Best regards,
Po-Ching



More information about the dev mailing list