[ovs-dev] How to trouble-shoot OVS kernel module datapath with Ubuntu 14.04

Allan Lue sgirem463 at gmail.com
Tue Dec 15 08:35:34 UTC 2015


HI,

I am working on a project that needs detailed understanding of the kernel module datapath,
the setup us Ubuntu 14.04 with OVS 2.4.0 as:
    allan at allan-i7A:~/openvswitch-2.4.0$ uname -a
    Linux allan-i7A 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
    allan at allan-i7A:~/openvswitch-2.4.0$ 

I have a VM send packets to OVS (vent0 of br0) and try to use printk() and dump_stack() in
the following functions to observe what happens:

    netdev_frame_hook()    vport-netdev.c
    netdev_port_receive()   vport-netdev.c
    ovs_vport_receive()      vport.c
    ovs_vport_send()         vport.c
    ovs_dp_process_packet     datapath.c

printk() and dump_stack do not work.

My questions are:
1. What is the most effective way to trouble shoot OVS kernel module?
2. What is the proper way to use printk() and dump_stack()
3. What are the kernel module functions used for receiving packets?
4. How about kgdb and kdb? (I tried with a desk top computer with Ubuntu 14.04, couldn’t get console
    put of freeze).

Pointers or instructions will be really appreciated.

— Allan





More information about the dev mailing list