[ovs-discuss] ovs route refresh problem

Yinpeijun yinpeijun at huawei.com
Sun Feb 11 07:27:34 UTC 2018


Hi all
                Recently , I run a test two VM commulication with vxlan and ovs+dpdk networking(ovs2.7.2). when I add 200 virtual device on the physical service  of
the commulicate vm then check the ping result,  there  is  loss packet statistics. Then I use vlan and ovs+dpdk networking, do the same thing , there is no loss
packets statistics.
                I read the source code and add some log to confirm the problem,  the final problem I think is unreasonable routing refresh,  in route_table_rest function
delete all items before readding, so in the middle of the interval  ovs_router_lookup  can not find the route then cause packet drop.  So I think the implementation
need to optimize, Any advice on how to optimize it?

                static int
route_table_reset(void)
{
    int i = 0;
    struct nl_dump dump;
    struct rtgenmsg *rtmsg;
    uint64_t reply_stub[NL_DUMP_BUFSIZE / 8];
    struct ofpbuf request, reply, buf;

    route_map_clear(); // clear all route before add
netdev_get_addrs_list_flush();
                .............
                while (nl_dump_next(&dump, &reply, &buf)) {
                            struct route_table_msg msg;

                            if (route_table_parse(&reply, &msg)) {
                                            route_table_handle_msg(&msg); // add route
                                             i++;
                             }
            }
    ...............
}

TEST CMD:
ping 192.168.100.100 -i 0.01

for((i=1 ; i <201 ; i++));
do
    ip netns add vm$i
ip link add p$i  type veth peer name vp$i
ifconfig vp$i  up
    ip link set p$i  netns vm$i
done

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-discuss/attachments/20180211/50d57406/attachment.html>


More information about the discuss mailing list