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 calling 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 (or other variables) 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 _______________________________________________ discuss mailing list discuss@openvswitch.org http://openvswitch.org/mailman/listinfo/discuss