{"push_id":953299192,"size":10,"distinct_size":10,"ref":"refs/heads/master","head":"92d2968c435fc09971905decfe421f36f3986f08","before":"f97c8b26ce9a99063decb0bb5a1cd93821e8cfca","commits":[{"sha":"ae7ad0a15ef5c9c045419e1dbcfb7b98b05c7b5a","author":{"email":"e6f59449982e74b9a8013e88011af79c397f66d7@samsung.com","name":"Ilya Maximets"},"message":"dpif-netdev: Rework of rx queue management.\n\nCurrent rx queue management model is buggy and will not work properly\nwithout additional barriers and other syncronization between PMD\nthreads and main thread.\n\nKnown BUGS of current model:\n\t* While reloading, two PMD threads, one already reloaded and\n\t  one not yet reloaded, can poll same queue of the same port.\n\t  This behavior may lead to dpdk driver failure, because they\n\t  are not thread-safe.\n\t* Same bug as fixed in commit e4e74c3a2b\n\t  (\"dpif-netdev: Purge all ukeys when reconfigure pmd.\") but\n\t  reproduced while only reconfiguring of pmd threads without\n\t  restarting, because addition may change the sequence of\n\t  other ports, which is important in time of reconfiguration.\n\nIntroducing the new model, where distribution of queues made by main\nthread with minimal synchronizations and without data races between\npmd threads. Also, this model should work faster, because only\nneeded threads will be interrupted for reconfiguraition and total\ncomputational complexity of reconfiguration is less.\n\nSigned-off-by: Ilya Maximets <i.maximets@samsung.com>\nSigned-off-by: Daniele Di Proietto <diproiettod@vmware.com>","distinct":true,"url":"https://api.github.com/repos/Netronome/agilio-ovs-hooks/commits/ae7ad0a15ef5c9c045419e1dbcfb7b98b05c7b5a"},{"sha":"347ba9bb9b7a8e053ced54016f903e749ebecb7f","author":{"email":"e6f59449982e74b9a8013e88011af79c397f66d7@samsung.com","name":"Ilya Maximets"},"message":"dpif-netdev: Unique and sequential tx_qids.\n\nCurrently tx_qid is equal to pmd->core_id. This leads to unexpected\nbehavior if pmd-cpu-mask different from '/(0*)(1|3|7)?(f*)/',\ne.g. if core_ids are not sequential, or doesn't start from 0, or both.\n\nExample:\n\tstarting 2 pmd threads with 1 port, 2 rxqs per port,\n\tpmd-cpu-mask = 00000014 and let dev->real_n_txq = 2\n\n\tIt that case pmd_1->tx_qid = 2, pmd_2->tx_qid = 4 and\n\ttxq_needs_locking = true (if device hasn't ovs_numa_get_n_cores()+1\n\tqueues).\n\n\tIn that case, after truncating in netdev_dpdk_send__():\n\t\t'qid = qid % dev->real_n_txq;'\n\tpmd_1: qid = 2 % 2 = 0\n\tpmd_2: qid = 4 % 2 = 0\n\n\tSo, both threads will call dpdk_queue_pkts() with same qid = 0.\n\tThis is unexpected behavior if there is 2 tx queues in device.\n\tQueue #1 will not be used and both threads will lock queue #0\n\ton each send.\n\nFix that by using sequential tx_qids.\n\nSigned-off-by: Ilya Maximets <i.maximets@samsung.com>\nSigned-off-by: Daniele Di Proietto <diproiettod@vmware.com>","distinct":true,"url":"https://api.github.com/repos/Netronome/agilio-ovs-hooks/commits/347ba9bb9b7a8e053ced54016f903e749ebecb7f"},{"sha":"45e1df53298990f4f33ad10a706bd093d88a7c73","author":{"email":"6aed7d52531456413f7e5a799f9150cf02425e08@gmail.com","name":"William Tu"},"message":"tests: Fix unbalanced parentheses that caused build break in testcase.\n\nThe current build fails at this test case:\n/usr/bin/m4:tests/ovs-vswitchd.at:171: recursion limit of 1024 exceeded,\nuse -L<N> to change it\nautom4te: /usr/bin/m4 failed with exit status: 1\n\nObserved on Centos 6.5 with m4 version 1.4.13.\n\nSigned-off-by: William Tu <u9012063@gmail.com>\nSigned-off-by: Ben Pfaff <blp@ovn.org>","distinct":true,"url":"https://api.github.com/repos/Netronome/agilio-ovs-hooks/commits/45e1df53298990f4f33ad10a706bd093d88a7c73"},{"sha":"6872bf1eb7e46f9c202d512aa5ca6d99fe35d23e","author":{"email":"aad92d04492d3e9d68113c6843d4514145c8ed06@redhat.com","name":"Flavio Leitner"},"message":"NEWS: DPDK 2.2 is now required.\n\nSigned-off-by: Flavio Leitner <fbl@redhat.com>\nSigned-off-by: Ben Pfaff <blp@ovn.org>","distinct":true,"url":"https://api.github.com/repos/Netronome/agilio-ovs-hooks/commits/6872bf1eb7e46f9c202d512aa5ca6d99fe35d23e"},{"sha":"0e8b74796308925a158fef42befd7acf798c3602","author":{"email":"9cfbda34e625c7b0454bcb19a48d07c46f9097d2@mestery.com","name":"Kyle Mestery"},"message":"README.ovs-vtep.md: Fix incorrect spacing.\n\nThis fixes a simple formatting issue with this file I noticed while reviewing\nthe example of experimenting with the OVS HW-VTEP simulator.\n\nSigned-off-by: Kyle Mestery <mestery@mestery.com>\nSigned-off-by: Ben Pfaff <blp@ovn.org>","distinct":true,"url":"https://api.github.com/repos/Netronome/agilio-ovs-hooks/commits/0e8b74796308925a158fef42befd7acf798c3602"},{"sha":"6b1c573408f8771e428707278f86c5b3b076982a","author":{"email":"6f50513b21952446fbc8c95a8f361b7aa434b7c7@ovn.org","name":"Ben Pfaff"},"message":"ofproto-dpif-xlate: Do not execute resubmit again after recirculation.\n\nConsider the following flow table:\n\n    table=0 actions=resubmit(,1),2\n    table=1 actions=debug_recirc\n\nWhen debug_recirc triggers recirculation and we later resume processing,\nonly the output to port 2 should be executed, because the effects of\n\"resubmit\" have already taken place.  However, until now, the \"resubmit\"\nwas added to the actions to execute post-recirculation, resulting in an\ninfinite loop.\n\nNow consider this flow table (as seen in the \"MPLS handling\" test in\nofproto-dpif.at):\n\n    table=0 actions=pop_mpls(0x0806),resubmit(,1)\n    table=1 ip,nw_dst=1.2.3.4 actions=controller\n\nHere, we do want to add the \"resubmit\" to the actions to execute\npost-recirculation, since the \"resubmit\" cannot be processed until after\nrecirculation makes the nw_dst field available.\n\nThis commit fixes the problem in both cases.\n\nFound when testing a feature based on recirculation.\n\nSigned-off-by: Ben Pfaff <blp@ovn.org>\nAcked-by: Jarno Rajahalme <jarno@ovn.org>","distinct":true,"url":"https://api.github.com/repos/Netronome/agilio-ovs-hooks/commits/6b1c573408f8771e428707278f86c5b3b076982a"},{"sha":"3d88a620f18e747f2cd95ecfe9252be228556eaa","author":{"email":"eba59be6f07811efcfb9b9013eddeb3628e492b2@ovn.org","name":"Andy Zhou"},"message":"dpif-netdev: properly maintain exact match cache hit counter\n\nCurrent logic counts dropped packet as cache hit which is not\ncorrect. This patch removes dropped packet to improve accuracy.\n\nSigned-off-by: Andy Zhou <azhou@ovn.org>\nAcked-by: Daniele Di Proietto <diproiettod@vmware.com>","distinct":true,"url":"https://api.github.com/repos/Netronome/agilio-ovs-hooks/commits/3d88a620f18e747f2cd95ecfe9252be228556eaa"},{"sha":"d1aa0b94d842f99900217e4afad9ea237c93b019","author":{"email":"eba59be6f07811efcfb9b9013eddeb3628e492b2@ovn.org","name":"Andy Zhou"},"message":"dpif-netdev: drop swapping\n\nemc_processing() moves all the missed packets towards the beginning of\npacket array; matched packets are queued up into flow queues. Since the\nremaining of the packet array is not used anymore, don't bother swap\npacket pointers to save cycles and simplify logic.\n\nSigned-off-by: Andy Zhou <azhou@ovn.org>\nAcked-by: Daniele Di Proietto <diproiettod@vmware.com>","distinct":true,"url":"https://api.github.com/repos/Netronome/agilio-ovs-hooks/commits/d1aa0b94d842f99900217e4afad9ea237c93b019"},{"sha":"f9fe365b8221a25f2acdfde470bc9023af95277a","author":{"email":"eba59be6f07811efcfb9b9013eddeb3628e492b2@ovn.org","name":"Andy Zhou"},"message":"dpif-netdev: Reduce code duplication\n\nCode clean up to reduce code duplication.\n\nSigned-off-by: Andy Zhou <azhou@ovn.org>\nAcked-by: Daniele Di Proietto <diproiettod@vmware.com>","distinct":true,"url":"https://api.github.com/repos/Netronome/agilio-ovs-hooks/commits/f9fe365b8221a25f2acdfde470bc9023af95277a"},{"sha":"92d2968c435fc09971905decfe421f36f3986f08","author":{"email":"6a89ba988d00e273050f746513c1a530f268a7bd@netronome.com","name":"Bert van Leeuwen"},"message":"datapath: offload hooks\n\nthe purpose of posting this patch is to further the ongoing discussion\non hardware offloads for Open vSwitch. It reflects work at Netronome to\nprovide such offloads. The intention is for this work to be generic.\n\nThere is an accompanying document to this patch which attempts to\ndescribe the problem-space the hooks operate in. The document\nis intended to be fairly generic and high level. It is intended\nto be a point for ongoing discussion and as such comments via\nthe Google-docs interface are welcome. It is not intended to be\nNetronome specific.\n\nhttps://docs.google.com/a/netronome.com/document/d/1UtG3xY0xMzIwMG732gaypyR6vxGxinkRrnMLnVS4Zao/edit#\n\nThe document at the URL above is indented to supplement the Open vSwitch\nHardware Offload Architecture document, which I believe is collated by\nThomas Graf.\n\nhttps://docs.google.com/document/d/195waUliu7G5YYVuXHmLmHgJ38DFSte321WPq0oaFhyU/edit#\n\nThis patch is the collective work by a number of engineers at Netronome.\n\nCo-authored-by: Pieter Jansen van Vuuren <pieter.jansenvanvuuren@netronome.com>\nSigned-off-by: Bert van Leeuwen <bert.vanleeuwen@netronome.com>\nSigned-off-by: Simon Horman <simon.horman@netronome.com>","distinct":true,"url":"https://api.github.com/repos/Netronome/agilio-ovs-hooks/commits/92d2968c435fc09971905decfe421f36f3986f08"}]}