[ovs-discuss] find the goto table instruction in the code

Fischetti, Antonio antonio.fischetti at intel.com
Thu Nov 12 13:18:31 UTC 2015


Hi,
You may want to have a look at 'OVS/lib/dpif-netdev.c' file.
You can start with the 'dp_netdev_process_rxq_port()' function and follow the calls.
You can see for ex.
dp_netdev_input()  which at first calls 
emc_processing() 
and in case a match is not found in the EMC it will call
fast_path_processing() 
to check for a match inside the Classifier. In case it is still
unsuccessful it will make an 'up-call' to the 'ofproto' table via 
dp_netdev_upcall()
so that it knows what to do with that packet.
As a consequence new Rules and Flows, see
dpcls_insert(), and
dp_netdev_flow_add()
are inserted into the tables, so that next time they will 'know' what to do with 
similar packets.

HTH

> -----Original Message-----
> From: discuss [mailto:discuss-bounces at openvswitch.org] On Behalf Of
> dsainz at CS.technion.ac.il
> Sent: Thursday, November 12, 2015 12:52 PM
> To: discuss at openvswitch.org
> Subject: [ovs-discuss] find the goto table instruction in the code
> 
> Hi to all,
> 
> I want to locate the code (I imagine it is inside of the Kernel module
> datapath) where when a flow is found, the instructions are executed, it
> finds the "goto table" instruction and redirects the packet to another
> table.
> 
> So far I found the ovs_dp_process_packet in datapath\datapath.c but it
> cares only about flow actions and the goto table processing is nowhere to
> be found there. There is something I am missing, and I doubt the
> processing is sent to userspace to handle this...
> 
> Thanks in advance!
> 
> David
> 
> _______________________________________________
> discuss mailing list
> discuss at openvswitch.org
> http://openvswitch.org/mailman/listinfo/discuss


More information about the discuss mailing list