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-boun...@openvswitch.org] On Behalf Of > dsa...@cs.technion.ac.il > Sent: Thursday, November 12, 2015 12:52 PM > To: discuss@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@openvswitch.org > http://openvswitch.org/mailman/listinfo/discuss _______________________________________________ discuss mailing list discuss@openvswitch.org http://openvswitch.org/mailman/listinfo/discuss