Hi, I am investigating the code of revalidator and the DPDK netdev datapath for OVS. I have some questions:
1) why save a whole flow in the dp_nedev_key? Currently, the size of flow is around 670 bytes, and the full size of dp_netdev_key is around 1500 (meaning that this flow takes 50% of the full dp_netdev_key size). This large size makes the dataplane hash key a little bit expensive for the hash lookup. Meanwhile, I find that in fact, the revalidator only uses ufid to index the dp_netdev_flow to the corresponding ukey in the udpif. Nornally it will not touch the full flow structure in the dp_netdev_key at all. The only exception is that when revaldiator cannot find the ukey accroding to the ufid, it will instead try to use the full flow dump and install ukey for the flow, this seems the only usage of this flow structure. This scenario seems purely for kernel datapath, since in DPDK, the pmd and revalidator are just two kinds of threads, they share the same fate, and thus it's not possible that a dp_netdev_flow exists while the ukey does not, unless you manually insert a dp_netdev_flow in the dataplane for testing and debuging. thanks. -- hepeng _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev