{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":18383364,"defaultBranch":"main","name":"ovs","ownerLogin":"openvswitch","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2014-04-02T22:15:28.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/7143863?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1717778916.0","currentOid":""},"activityList":{"items":[{"before":"4935e893256af22620619dc4d94cd194271a1158","after":"d7e77143fbdc855ce949a3f23e6dc7be5a6e0cd9","ref":"refs/heads/main","pushedAt":"2024-07-12T11:51:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"igsilya","name":"Ilya Maximets","path":"/igsilya","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11501231?s=80&v=4"},"commit":{"message":"tunnel: Allow UDP zero checksum with IPv6 tunnels.\n\nThis patch adopts the proposed RFC 6935 by allowing null UDP checksums\neven if the tunnel protocol is IPv6. This is already supported by Linux\nthrough the udp6zerocsumtx tunnel option. It is disabled by default and\nIPv6 tunnels are flagged as requiring a checksum, but this patch enables\nthe user to set csum=false on IPv6 tunnels.\n\nAcked-by: Simon Horman \nSigned-off-by: Mike Pattrick \nSigned-off-by: Ilya Maximets ","shortMessageHtmlLink":"tunnel: Allow UDP zero checksum with IPv6 tunnels."}},{"before":"f8ed13355d9d01f5437e5c27cf5b3a2f094543e5","after":"4935e893256af22620619dc4d94cd194271a1158","ref":"refs/heads/main","pushedAt":"2024-07-09T21:21:09.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"igsilya","name":"Ilya Maximets","path":"/igsilya","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11501231?s=80&v=4"},"commit":{"message":"ofproto: Add JSON output for 'dpif/show' command.\n\nThe 'dpif/show' command now supports machine-readable JSON output in\naddition to the plain-text output for humans. An example would be:\n\n ovs-appctl --format json dpif/show\n\nReported-at: https://bugzilla.redhat.com/1824861\nSigned-off-by: Jakob Meng \nSigned-off-by: Ilya Maximets ","shortMessageHtmlLink":"ofproto: Add JSON output for 'dpif/show' command."}},{"before":"773b0fb59310da98536657e30c9c1a443c045581","after":"f8ed13355d9d01f5437e5c27cf5b3a2f094543e5","ref":"refs/heads/main","pushedAt":"2024-07-08T21:51:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"igsilya","name":"Ilya Maximets","path":"/igsilya","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11501231?s=80&v=4"},"commit":{"message":"ovsdb: raft: Don't forward more than one command to the leader.\n\nEvery transaction has RAFT log prerequisites. Even if transactions\nare not related (because RAFT doesn't actually know what data it is\nhandling). When leader writes a new record to a RAFT storage, it is\ngetting appended to the log right away and changes current 'eid',\ni.e., changes prerequisites. The leader will not try to write new\nrecords until the current one is committed, because until then the\npre-check will be failing.\n\nHowever, that is different for the follower. Followers do not add\nrecords to the RAFT log until the leader sends an append request back.\nSo, if there are multiple transactions pending on a follower, it will\ncreate a command for each of them and prerequisites will be set to the\nsame values. All these commands will be sent to the leader, but only\none can succeed at a time, because accepting one command immediately\nchanges prerequisites and all other commands become non-applicable.\nSo, out of N commands, 1 will succeed and N - 1 will fail. The cluster\nfailure is a transient failure, so the follower will re-process all the\nfailed transactions and send them again. 1 will succeed and N - 2 will\nfail. And so on, until there are no more transactions. In the end,\ninstead of processing N transactions, the follower is performing\nN * (N - 1) / 2 transaction processing iterations. That is consuming\na huge amount of CPU resources completely unnecessarily.\n\nSince there is no real chance for multiple transactions from the same\nfollower to succeed, it's better to not send them in the first place.\nThis also eliminates prerequisite mismatch messages on a leader in\nthis particular case.\n\nIn a test with 30 parallel shell threads executing 12K transactions\ntotal with separate ovsdb-client calls through the same follower there\nis about 60% performance improvement. The test takes ~100 seconds to\ncomplete without this change and ~40 seconds with this change applied.\nThe new time is very close to what it takes to execute the same test\nthrough the cluster leader. The test can be found at the link below.\n\nNote: prerequisite failures on a leader are still possible, but mostly\nin a case of simultaneous transactions from different followers. It's\na normal thing for a distributed database due to its nature.\n\nLink: https://mail.openvswitch.org/pipermail/ovs-dev/2024-June/415167.html\nAcked-by: Dumitru Ceara \nSigned-off-by: Ilya Maximets ","shortMessageHtmlLink":"ovsdb: raft: Don't forward more than one command to the leader."}},{"before":"1bd85268181b11ccd85b363ddd2397b70079a916","after":"5c200503001c8060f31577e252eca041ca49f80a","ref":"refs/heads/branch-2.17","pushedAt":"2024-07-03T22:09:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"igsilya","name":"Ilya Maximets","path":"/igsilya","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11501231?s=80&v=4"},"commit":{"message":"cirrus: Update to FreeBSD 14.1.\n\n14.1 was released on June 4 and 14.0 will reach EoL in September.\nUpdate now.\n\nAcked-by: Eelco Chaudron \nSigned-off-by: Ilya Maximets ","shortMessageHtmlLink":"cirrus: Update to FreeBSD 14.1."}},{"before":"6e30cb06dd368392a50dc31edc97a5b81850bbac","after":"e236d780d5310f00cffc091de4a481f7d75104af","ref":"refs/heads/branch-3.0","pushedAt":"2024-07-03T22:09:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"igsilya","name":"Ilya Maximets","path":"/igsilya","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11501231?s=80&v=4"},"commit":{"message":"cirrus: Update to FreeBSD 14.1.\n\n14.1 was released on June 4 and 14.0 will reach EoL in September.\nUpdate now.\n\nAcked-by: Eelco Chaudron \nSigned-off-by: Ilya Maximets ","shortMessageHtmlLink":"cirrus: Update to FreeBSD 14.1."}},{"before":"9e59834e6b521d0cd247dd5029df259533924181","after":"abdbd25a0c3e318f02e5e0b819f294838d0d1502","ref":"refs/heads/branch-3.1","pushedAt":"2024-07-03T22:09:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"igsilya","name":"Ilya Maximets","path":"/igsilya","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11501231?s=80&v=4"},"commit":{"message":"cirrus: Update to FreeBSD 14.1.\n\n14.1 was released on June 4 and 14.0 will reach EoL in September.\nUpdate now.\n\nAcked-by: Eelco Chaudron \nSigned-off-by: Ilya Maximets ","shortMessageHtmlLink":"cirrus: Update to FreeBSD 14.1."}},{"before":"6133ecb225958b2219fb3ba659355f3c5bb8655a","after":"9f6f9aaefed22e2aeb1d5adb824b82e67c5c28ff","ref":"refs/heads/branch-3.2","pushedAt":"2024-07-03T22:09:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"igsilya","name":"Ilya Maximets","path":"/igsilya","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11501231?s=80&v=4"},"commit":{"message":"cirrus: Update to FreeBSD 14.1.\n\n14.1 was released on June 4 and 14.0 will reach EoL in September.\nUpdate now.\n\nAcked-by: Eelco Chaudron \nSigned-off-by: Ilya Maximets ","shortMessageHtmlLink":"cirrus: Update to FreeBSD 14.1."}},{"before":"a3722ab1f7653f32e5a928c8a88d20cac781acd2","after":"15cbfb19fa06132734dd838124654891736ccc93","ref":"refs/heads/branch-3.3","pushedAt":"2024-07-03T22:09:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"igsilya","name":"Ilya Maximets","path":"/igsilya","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11501231?s=80&v=4"},"commit":{"message":"cirrus: Update to FreeBSD 14.1.\n\n14.1 was released on June 4 and 14.0 will reach EoL in September.\nUpdate now.\n\nAcked-by: Eelco Chaudron \nSigned-off-by: Ilya Maximets ","shortMessageHtmlLink":"cirrus: Update to FreeBSD 14.1."}},{"before":"239b59bdfb8cbb48ec655d50405c15a08057dbb2","after":"773b0fb59310da98536657e30c9c1a443c045581","ref":"refs/heads/main","pushedAt":"2024-07-03T22:09:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"igsilya","name":"Ilya Maximets","path":"/igsilya","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11501231?s=80&v=4"},"commit":{"message":"cirrus: Update to FreeBSD 14.1.\n\n14.1 was released on June 4 and 14.0 will reach EoL in September.\nUpdate now.\n\nAcked-by: Eelco Chaudron \nSigned-off-by: Ilya Maximets ","shortMessageHtmlLink":"cirrus: Update to FreeBSD 14.1."}},{"before":"504efbe923cf99334706580e9aee49735ff2f4f7","after":"a3722ab1f7653f32e5a928c8a88d20cac781acd2","ref":"refs/heads/branch-3.3","pushedAt":"2024-07-03T14:41:12.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"horms","name":"Simon Horman","path":"/horms","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/65151?s=80&v=4"},"commit":{"message":"ovs-monitor-ipsec: LibreSwan v5 support.\n\nIn version 5, LibreSwan made significant command line interface changes.\nThis includes changing the order or command line parameters and removing\nthe \"ipsec auto\" command.\n\nTo maintain compatibility with previous versions, the ipsec.d version\ncheck is repurposed for this. Checking the version proved simpler than\nremoving use of auto.\n\nThere was also a change to ipsec status command that effected the tests.\nHowever, this change was backwards compatible.\n\nReported-at: https://issues.redhat.com/browse/FDP-645\nReported-by: Ilya Maximets \nSigned-off-by: Mike Pattrick \nSigned-off-by: Simon Horman ","shortMessageHtmlLink":"ovs-monitor-ipsec: LibreSwan v5 support."}},{"before":"c1dce72a37eae7ce230db045a78617fa194661d7","after":"239b59bdfb8cbb48ec655d50405c15a08057dbb2","ref":"refs/heads/main","pushedAt":"2024-07-03T14:40:26.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"horms","name":"Simon Horman","path":"/horms","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/65151?s=80&v=4"},"commit":{"message":"ovs-monitor-ipsec: LibreSwan v5 support.\n\nIn version 5, LibreSwan made significant command line interface changes.\nThis includes changing the order or command line parameters and removing\nthe \"ipsec auto\" command.\n\nTo maintain compatibility with previous versions, the ipsec.d version\ncheck is repurposed for this. Checking the version proved simpler than\nremoving use of auto.\n\nThere was also a change to ipsec status command that effected the tests.\nHowever, this change was backwards compatible.\n\nReported-at: https://issues.redhat.com/browse/FDP-645\nReported-by: Ilya Maximets \nSigned-off-by: Mike Pattrick \nSigned-off-by: Simon Horman ","shortMessageHtmlLink":"ovs-monitor-ipsec: LibreSwan v5 support."}},{"before":"56e315937eeb640d5d8f305988d133390445eaee","after":"c1dce72a37eae7ce230db045a78617fa194661d7","ref":"refs/heads/main","pushedAt":"2024-07-02T17:55:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"igsilya","name":"Ilya Maximets","path":"/igsilya","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11501231?s=80&v=4"},"commit":{"message":"python: ovsdb-idl: Add custom transaction operations.\n\nIt can be useful to be able to send raw transaction operations\nthrough the Idl's connection. For example, to clean up MAC_Binding\nentries for floating IPs without having to monitor the MAC_Binding\ntable which can be quite large.\n\nSigned-off-by: Terry Wilson \nSigned-off-by: Ilya Maximets ","shortMessageHtmlLink":"python: ovsdb-idl: Add custom transaction operations."}},{"before":"639fcf200517e757fbf651f870080c01629cbd74","after":"56e315937eeb640d5d8f305988d133390445eaee","ref":"refs/heads/main","pushedAt":"2024-06-28T22:16:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"igsilya","name":"Ilya Maximets","path":"/igsilya","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11501231?s=80&v=4"},"commit":{"message":"vswitchd: Only lock pages that are faulted in.\n\nThe main purpose of locking the memory is to ensure that OVS can keep\ndoing what it did before in case of increased memory pressure, e.g.,\nduring VM ingest / migration. Fulfilling this requirement can be\nachieved without locking all the allocated memory, but only the pages\nalready accessed in the past (faulted in). Processing of the new\ntraffic involves new memory allocations. Latency on these operations\ncan't be guaranteed by the locking. The main difference would be\nthe pre-faulting of the stack memory. However, in order to revalidate\nor process upcalls on the same traffic, the same amount of stack is\nlikely needed, so all the necessary memory will already be faulted in.\n\nSwitch 'mlockall' to MCL_ONFAULT to avoid consuming unnecessarily\nlarge amounts of RAM on systems with high core counts. For example,\nin a densely populated OVN cluster this saves about 650 MB of RAM per\nnode on a system with 64 cores. This equates to 320 GB of allocated\nbut unused RAM in a 500 node cluster.\n\nThis also makes OVS better suited by default for small systems with\nlimited amount of memory.\n\nThe MCL_ONFAULT flag was introduced in Linux kernel 4.4 and wasn't\navailable at the time of '--mlockall' introduction, but we can use it\nnow. Falling back to an old way of locking in case we're running on\nan older kernel just in case.\n\nOnly locking the faulted in pages also makes locking compatible with\nvhost post-copy live migration by default, because we'll no longer\npre-fault all the guest's memory. Post-copy relies on userfaultfd\nto work on shared huge pages, which is only available in 4.11+ kernels.\nSo, technically, it should not be possible for MCL_ONFAULT to fail and\nthe call without it to succeed. But keeping the check just in case\nfor now.\n\nAcked-by: Simon Horman \nAcked-by: Eelco Chaudron \nSigned-off-by: Ilya Maximets ","shortMessageHtmlLink":"vswitchd: Only lock pages that are faulted in."}},{"before":"2393305d96f232647a6baf3f142720fcbff0544e","after":"504efbe923cf99334706580e9aee49735ff2f4f7","ref":"refs/heads/branch-3.3","pushedAt":"2024-06-28T21:11:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"igsilya","name":"Ilya Maximets","path":"/igsilya","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11501231?s=80&v=4"},"commit":{"message":"netdev-dpdk: Check pending reset when adding device.\n\nWhen a device reset interrupt event (RTE_ETH_EVENT_INTR_RESET)\nis detected for a DPDK device added to OVS, a device reset is\nperformed.\n\nIf a device reset interrupt event is detected for a device before\nit is added to OVS, device reset is not called.\n\nIf that device is later attempted to be added to OVS, it may fail\nwhile being configured if it is still pending a reset as pending\nreset is not checked when adding a device.\n\nA simple way to force a reset event from the ice driver for an\niavf device is to set the mac address after binding iavf dev to\nvfio but before adding to OVS. (note: should not be set like this\nin normal case). e.g.\n\n$ echo 2 > /sys/class/net/ens3f0/device/sriov_numvfs\n$ ./devbind.py -b vfio-pci 0000:d8:01.1\n$ ip link set ens3f0 vf 1 mac 26:ab:e6:6f:79:4d\n$ ovs-vsctl add-port br0 dpdk0 -- set Interface dpdk0 type=dpdk \\\n options:dpdk-devargs=0000:d8:01.1\n\n|dpdk|ERR|Port1 dev_configure = -1\n|netdev_dpdk|WARN|Interface dpdk0 eth_dev setup error\n Operation not permitted\n|netdev_dpdk|ERR|Interface dpdk0(rxq:1 txq:5 lsc interrupt mode:false)\n configure error: Operation not permitted\n|dpif_netdev|ERR|Failed to set interface dpdk0 new configuration\n\nAdd a check if there was any previous device reset interrupt events\nwhen a device is added to OVS. If there was, perform the reset\nbefore continuing with the rest of the configuration.\n\nnetdev_dpdk_pending_reset[] already tracks device reset interrupt\nevents for all devices, so it can be reused to check if there is a\nreset needed during configuration of newly added devices. By extending\nit's usage, dev->reset_needed is no longer needed.\n\nFixes: 3eb91a8d1b9a (\"netdev-dpdk: Trigger port reconfiguration in main thread for resets.\")\nReviewed-by: David Marchand \nSigned-off-by: Kevin Traynor \nSigned-off-by: Ilya Maximets ","shortMessageHtmlLink":"netdev-dpdk: Check pending reset when adding device."}},{"before":"48118494497040e71c0c60f59ab5664c5b00464c","after":"639fcf200517e757fbf651f870080c01629cbd74","ref":"refs/heads/main","pushedAt":"2024-06-28T21:11:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"igsilya","name":"Ilya Maximets","path":"/igsilya","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11501231?s=80&v=4"},"commit":{"message":"netdev-dpdk: Check pending reset when adding device.\n\nWhen a device reset interrupt event (RTE_ETH_EVENT_INTR_RESET)\nis detected for a DPDK device added to OVS, a device reset is\nperformed.\n\nIf a device reset interrupt event is detected for a device before\nit is added to OVS, device reset is not called.\n\nIf that device is later attempted to be added to OVS, it may fail\nwhile being configured if it is still pending a reset as pending\nreset is not checked when adding a device.\n\nA simple way to force a reset event from the ice driver for an\niavf device is to set the mac address after binding iavf dev to\nvfio but before adding to OVS. (note: should not be set like this\nin normal case). e.g.\n\n$ echo 2 > /sys/class/net/ens3f0/device/sriov_numvfs\n$ ./devbind.py -b vfio-pci 0000:d8:01.1\n$ ip link set ens3f0 vf 1 mac 26:ab:e6:6f:79:4d\n$ ovs-vsctl add-port br0 dpdk0 -- set Interface dpdk0 type=dpdk \\\n options:dpdk-devargs=0000:d8:01.1\n\n|dpdk|ERR|Port1 dev_configure = -1\n|netdev_dpdk|WARN|Interface dpdk0 eth_dev setup error\n Operation not permitted\n|netdev_dpdk|ERR|Interface dpdk0(rxq:1 txq:5 lsc interrupt mode:false)\n configure error: Operation not permitted\n|dpif_netdev|ERR|Failed to set interface dpdk0 new configuration\n\nAdd a check if there was any previous device reset interrupt events\nwhen a device is added to OVS. If there was, perform the reset\nbefore continuing with the rest of the configuration.\n\nnetdev_dpdk_pending_reset[] already tracks device reset interrupt\nevents for all devices, so it can be reused to check if there is a\nreset needed during configuration of newly added devices. By extending\nit's usage, dev->reset_needed is no longer needed.\n\nFixes: 3eb91a8d1b9a (\"netdev-dpdk: Trigger port reconfiguration in main thread for resets.\")\nReviewed-by: David Marchand \nSigned-off-by: Kevin Traynor \nSigned-off-by: Ilya Maximets ","shortMessageHtmlLink":"netdev-dpdk: Check pending reset when adding device."}},{"before":"75a4880c9d04d76287633baf30b13766ba43140b","after":"b24b4300769131507a5a111a59d69eba2767700d","ref":"refs/heads/dpdk-latest","pushedAt":"2024-06-25T16:16:16.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kevintraynor","name":null,"path":"/kevintraynor","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6536388?s=80&v=4"},"commit":{"message":"ci: Check compilation with DPDK experimental API.\n\nAdd jobs to check compilation with DPDK experimental API enabled.\nThis will help us catch issues for the day we need one of them.\n\nNote: this should not be merged to master, intended for dpdk-latest\nbranch only.\n\nSigned-off-by: David Marchand \nSigned-off-by: Ian Stokes \nSigned-off-by: Ilya Maximets ","shortMessageHtmlLink":"ci: Check compilation with DPDK experimental API."}},{"before":"d7707b1ec32a166eab5d83953375d5748ee66cad","after":"6133ecb225958b2219fb3ba659355f3c5bb8655a","ref":"refs/heads/branch-3.2","pushedAt":"2024-06-25T10:31:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chaudron","name":"Eelco Chaudron","path":"/chaudron","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18258026?s=80&v=4"},"commit":{"message":"odp-execute: Set IPv6 traffic class in AVX implementation.\n\nThe AVX implementation for the IPv6 action did not set\ntraffic class field. Adding support for this field to\nthe AVX implementation.\n\nFixes: a879beb4dbee (\"odp-execute: Add ISA implementation of set_masked IPv6 action\")\nReported-by: Eelco Chaudron \nSigned-off-by: Emma Finn \nSigned-off-by: Eelco Chaudron ","shortMessageHtmlLink":"odp-execute: Set IPv6 traffic class in AVX implementation."}},{"before":"e87d5b24834c4cca05bac015932d789f4e6ed79c","after":"9e59834e6b521d0cd247dd5029df259533924181","ref":"refs/heads/branch-3.1","pushedAt":"2024-06-25T10:21:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chaudron","name":"Eelco Chaudron","path":"/chaudron","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18258026?s=80&v=4"},"commit":{"message":"odp-execute: Set IPv6 traffic class in AVX implementation.\n\nThe AVX implementation for the IPv6 action did not set\ntraffic class field. Adding support for this field to\nthe AVX implementation.\n\nFixes: a879beb4dbee (\"odp-execute: Add ISA implementation of set_masked IPv6 action\")\nReported-by: Eelco Chaudron \nSigned-off-by: Emma Finn \nSigned-off-by: Eelco Chaudron ","shortMessageHtmlLink":"odp-execute: Set IPv6 traffic class in AVX implementation."}},{"before":"dd1aea7f8b87b7e80a6fd7d6698f39c239de03d4","after":"2393305d96f232647a6baf3f142720fcbff0544e","ref":"refs/heads/branch-3.3","pushedAt":"2024-06-25T10:16:08.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"chaudron","name":"Eelco Chaudron","path":"/chaudron","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18258026?s=80&v=4"},"commit":{"message":"odp-execute: Check IPv4 checksum offload flag in AVX.\n\nThe AVX implementation for IPv4 action did not check whether\nthe IPv4 checksum offload flag has been set and was incorrectly\ncalculating checksums in software. Adding a check to skip AVX\nchecksum calculation when offload flags are set.\n\nFixes: 5d11c47d3ebe (\"userspace: Enable IP checksum offloading by default.\")\nReported-by: Eelco Chaudron \nAcked-by: Mike Pattrick \nSigned-off-by: Emma Finn \nSigned-off-by: Eelco Chaudron ","shortMessageHtmlLink":"odp-execute: Check IPv4 checksum offload flag in AVX."}},{"before":"2f196c80e7165150d956fc50de0db58b8964ee2e","after":"48118494497040e71c0c60f59ab5664c5b00464c","ref":"refs/heads/main","pushedAt":"2024-06-25T09:31:27.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"chaudron","name":"Eelco Chaudron","path":"/chaudron","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18258026?s=80&v=4"},"commit":{"message":"odp-execute: Check IPv4 checksum offload flag in AVX.\n\nThe AVX implementation for IPv4 action did not check whether\nthe IPv4 checksum offload flag has been set and was incorrectly\ncalculating checksums in software. Adding a check to skip AVX\nchecksum calculation when offload flags are set.\n\nFixes: 5d11c47d3ebe (\"userspace: Enable IP checksum offloading by default.\")\nReported-by: Eelco Chaudron \nAcked-by: Mike Pattrick \nSigned-off-by: Emma Finn \nSigned-off-by: Eelco Chaudron ","shortMessageHtmlLink":"odp-execute: Check IPv4 checksum offload flag in AVX."}},{"before":"6b09799f03548f0377788f18160a3d9db3eac752","after":"2f196c80e7165150d956fc50de0db58b8964ee2e","ref":"refs/heads/main","pushedAt":"2024-06-24T12:39:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kevintraynor","name":null,"path":"/kevintraynor","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6536388?s=80&v=4"},"commit":{"message":"netdev-dpdk: Use LSC interrupt mode.\n\nQuerying link status may get delayed for an undeterministic (long) time\nwith mlx5 ports. This is a consequence of the mlx5 driver calling ethtool\nkernel API and getting stuck on the kernel RTNL lock while some other\noperation is in progress under this lock.\n\nOne impact for long link status query is that it is called under the bond\nlock taken in write mode periodically in bond_run().\nIn parallel, datapath threads may block requesting to read bonding related\ninfo (like for example in bond_check_admissibility()).\n\nThe LSC interrupt mode is available with many DPDK drivers and is used by\ndefault with testpmd.\n\nIt seems safe enough to switch on this feature by default in OVS.\nWe keep the per interface option to disable this feature in case of an\nunforeseen bug.\n\nSigned-off-by: David Marchand \nReviewed-by: Robin Jarry \nAcked-by: Mike Pattrick \nAcked-by: Maxime Coquelin \nAcked-by: Kevin Traynor \nAcked-by: Aaron Conole ","shortMessageHtmlLink":"netdev-dpdk: Use LSC interrupt mode."}},{"before":"830fd48237281543cd62c0a85f9db90fb7aefd74","after":"dd1aea7f8b87b7e80a6fd7d6698f39c239de03d4","ref":"refs/heads/branch-3.3","pushedAt":"2024-06-21T17:32:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"igsilya","name":"Ilya Maximets","path":"/igsilya","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11501231?s=80&v=4"},"commit":{"message":"ofp-prop: Fix unaligned 128 bit access.\n\nWhen compiling with '-fsanitize=address,undefined', the \"ovs-ofctl\nct-flush\" test will yield the following undefined behavior flagged by\nUBSan. This problem is caused by the fact that 128bit property put/parse\nfunctions weren't adding appropriate padding before writing or reading\nthe value.\n\nThis patch uses get_32aligned_* functions to copy the bytes as they are\naligned.\n\n lib/ofp-prop.c:277:14: runtime error: load of misaligned address\n 0x60600000687c for type 'union ovs_be128', which requires 8 byte\n alignment\n 0x60600000687c: note: pointer points here\n 00 05 00 14 00 00 00 00 00 00 00 00 00 00 00 00 00 ff ab 00\n ^\n 0: in ofpprop_parse_u128 lib/ofp-prop.c:277\n 1: in ofp_ct_match_decode lib/ofp-ct.c:525\n 2: in ofp_print_nxt_ct_flush lib/ofp-print.c:959\n 3: in ofp_to_string__ lib/ofp-print.c:1206\n 4: in ofp_to_string lib/ofp-print.c:1264\n 5: in ofp_print lib/ofp-print.c:1308\n 6: in ofctl_ofp_print utilities/ovs-ofctl.c:4899\n 7: in ovs_cmdl_run_command__ lib/command-line.c:247\n 8: in ovs_cmdl_run_command lib/command-line.c:278\n 9: in main utilities/ovs-ofctl.c:186\n\nFixes: 62c5d32ad4ab (\"ofp-prop: Add helper for parsing and storing of ovs_u128.\")\nAcked-by: Ales Musil \nSigned-off-by: Mike Pattrick \nSigned-off-by: Ilya Maximets ","shortMessageHtmlLink":"ofp-prop: Fix unaligned 128 bit access."}},{"before":"24907bd1bc1a261d3647e7224d86149f313a8774","after":"6b09799f03548f0377788f18160a3d9db3eac752","ref":"refs/heads/main","pushedAt":"2024-06-21T17:32:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"igsilya","name":"Ilya Maximets","path":"/igsilya","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11501231?s=80&v=4"},"commit":{"message":"ofp-prop: Fix unaligned 128 bit access.\n\nWhen compiling with '-fsanitize=address,undefined', the \"ovs-ofctl\nct-flush\" test will yield the following undefined behavior flagged by\nUBSan. This problem is caused by the fact that 128bit property put/parse\nfunctions weren't adding appropriate padding before writing or reading\nthe value.\n\nThis patch uses get_32aligned_* functions to copy the bytes as they are\naligned.\n\n lib/ofp-prop.c:277:14: runtime error: load of misaligned address\n 0x60600000687c for type 'union ovs_be128', which requires 8 byte\n alignment\n 0x60600000687c: note: pointer points here\n 00 05 00 14 00 00 00 00 00 00 00 00 00 00 00 00 00 ff ab 00\n ^\n 0: in ofpprop_parse_u128 lib/ofp-prop.c:277\n 1: in ofp_ct_match_decode lib/ofp-ct.c:525\n 2: in ofp_print_nxt_ct_flush lib/ofp-print.c:959\n 3: in ofp_to_string__ lib/ofp-print.c:1206\n 4: in ofp_to_string lib/ofp-print.c:1264\n 5: in ofp_print lib/ofp-print.c:1308\n 6: in ofctl_ofp_print utilities/ovs-ofctl.c:4899\n 7: in ovs_cmdl_run_command__ lib/command-line.c:247\n 8: in ovs_cmdl_run_command lib/command-line.c:278\n 9: in main utilities/ovs-ofctl.c:186\n\nFixes: 62c5d32ad4ab (\"ofp-prop: Add helper for parsing and storing of ovs_u128.\")\nAcked-by: Ales Musil \nSigned-off-by: Mike Pattrick \nSigned-off-by: Ilya Maximets ","shortMessageHtmlLink":"ofp-prop: Fix unaligned 128 bit access."}},{"before":"8b405f45d5f1fd112d19526e609e6669038f8974","after":"24907bd1bc1a261d3647e7224d86149f313a8774","ref":"refs/heads/main","pushedAt":"2024-06-21T15:11:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"horms","name":"Simon Horman","path":"/horms","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/65151?s=80&v=4"},"commit":{"message":"ovsdb-client: Document \"--timeout\" option in help.\n\nAdd information about \"-t\" and \"--timeout\" options for ovsdb-client.\nThe option is documented in the \"Other options\" section, similar\nto how \"ovs-appctl\" has it.\n\nSigned-off-by: Martin Kalcok \nSigned-off-by: Simon Horman ","shortMessageHtmlLink":"ovsdb-client: Document \"--timeout\" option in help."}},{"before":"c00dd0c9445c8bf1a31e4f75d6ca1551ad2e9349","after":"8b405f45d5f1fd112d19526e609e6669038f8974","ref":"refs/heads/main","pushedAt":"2024-06-21T15:06:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"horms","name":"Simon Horman","path":"/horms","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/65151?s=80&v=4"},"commit":{"message":"ovsdb-client: Add \"COLUMN\" arg to help for 'dump'.\n\nHelp text for 'ovsdb-client dump' does not mention that it's capable\nof dumping a specific column's contents if the user supplies the\ncolumn's name as a fourth positional argument.\n\nSigned-off-by: Martin Kalcok \nSigned-off-by: Simon Horman ","shortMessageHtmlLink":"ovsdb-client: Add \"COLUMN\" arg to help for 'dump'."}},{"before":"1f0344ed0190aa1946540e67a1efd21e68f60b0c","after":"1bd85268181b11ccd85b363ddd2397b70079a916","ref":"refs/heads/branch-2.17","pushedAt":"2024-06-19T10:52:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kevintraynor","name":null,"path":"/kevintraynor","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6536388?s=80&v=4"},"commit":{"message":"dpdk: Check other_config:dpdk-extra for '--lcores'.\n\nCurrently dpdk lcore args for DPDK EAL init can be generated or\nthey can be written directly by the user through dpdk-extra.\n\nIf dpdk-extra does not contain '-l' or '-c', a '-l' argument with\na core list for DPDK EAL init will be generated.\n\nThe '--lcores' argument should also be checked, as if it is used in\ndpdk-extra, currently a '-l' is still generated and that causes\nDPDK EAL init to fail:\n\n|00009|dpdk|INFO|EAL ARGS: ovs-vswitchd --lcores 0@18 --in-memory -l 0.\n|00012|dpdk|ERR|EAL: Option -l is ignored, because (--lcore) is set!\n\nAdd check for '--lcores' in dpdk-extra config and don't generate '-l'\nif it is detected:\n\n|00009|dpdk|INFO|EAL ARGS: ovs-vswitchd --lcores 0@8 --in-memory.\n\nFixes: 543342a41cbc (\"DPDK: add support for v2.0.0\")\nSigned-off-by: Kevin Traynor \nReviewed-by: David Marchand \nAcked-by: Eelco Chaudron ","shortMessageHtmlLink":"dpdk: Check other_config:dpdk-extra for '--lcores'."}},{"before":"7094a2a656948cd55933eda68bcbd7372a6e388b","after":"6e30cb06dd368392a50dc31edc97a5b81850bbac","ref":"refs/heads/branch-3.0","pushedAt":"2024-06-19T10:51:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kevintraynor","name":null,"path":"/kevintraynor","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6536388?s=80&v=4"},"commit":{"message":"dpdk: Check other_config:dpdk-extra for '--lcores'.\n\nCurrently dpdk lcore args for DPDK EAL init can be generated or\nthey can be written directly by the user through dpdk-extra.\n\nIf dpdk-extra does not contain '-l' or '-c', a '-l' argument with\na core list for DPDK EAL init will be generated.\n\nThe '--lcores' argument should also be checked, as if it is used in\ndpdk-extra, currently a '-l' is still generated and that causes\nDPDK EAL init to fail:\n\n|00009|dpdk|INFO|EAL ARGS: ovs-vswitchd --lcores 0@18 --in-memory -l 0.\n|00012|dpdk|ERR|EAL: Option -l is ignored, because (--lcore) is set!\n\nAdd check for '--lcores' in dpdk-extra config and don't generate '-l'\nif it is detected:\n\n|00009|dpdk|INFO|EAL ARGS: ovs-vswitchd --lcores 0@8 --in-memory.\n\nFixes: 543342a41cbc (\"DPDK: add support for v2.0.0\")\nSigned-off-by: Kevin Traynor \nReviewed-by: David Marchand \nAcked-by: Eelco Chaudron ","shortMessageHtmlLink":"dpdk: Check other_config:dpdk-extra for '--lcores'."}},{"before":"9235944defcd4ac36c0ab1a7f87ef9cee8b1faae","after":"e87d5b24834c4cca05bac015932d789f4e6ed79c","ref":"refs/heads/branch-3.1","pushedAt":"2024-06-19T10:51:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kevintraynor","name":null,"path":"/kevintraynor","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6536388?s=80&v=4"},"commit":{"message":"dpdk: Check other_config:dpdk-extra for '--lcores'.\n\nCurrently dpdk lcore args for DPDK EAL init can be generated or\nthey can be written directly by the user through dpdk-extra.\n\nIf dpdk-extra does not contain '-l' or '-c', a '-l' argument with\na core list for DPDK EAL init will be generated.\n\nThe '--lcores' argument should also be checked, as if it is used in\ndpdk-extra, currently a '-l' is still generated and that causes\nDPDK EAL init to fail:\n\n|00009|dpdk|INFO|EAL ARGS: ovs-vswitchd --lcores 0@18 --in-memory -l 0.\n|00012|dpdk|ERR|EAL: Option -l is ignored, because (--lcore) is set!\n\nAdd check for '--lcores' in dpdk-extra config and don't generate '-l'\nif it is detected:\n\n|00009|dpdk|INFO|EAL ARGS: ovs-vswitchd --lcores 0@8 --in-memory.\n\nFixes: 543342a41cbc (\"DPDK: add support for v2.0.0\")\nSigned-off-by: Kevin Traynor \nReviewed-by: David Marchand \nAcked-by: Eelco Chaudron ","shortMessageHtmlLink":"dpdk: Check other_config:dpdk-extra for '--lcores'."}},{"before":"816111af35cc467c9978075011ee21527195e3ad","after":"d7707b1ec32a166eab5d83953375d5748ee66cad","ref":"refs/heads/branch-3.2","pushedAt":"2024-06-19T10:51:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kevintraynor","name":null,"path":"/kevintraynor","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6536388?s=80&v=4"},"commit":{"message":"dpdk: Check other_config:dpdk-extra for '--lcores'.\n\nCurrently dpdk lcore args for DPDK EAL init can be generated or\nthey can be written directly by the user through dpdk-extra.\n\nIf dpdk-extra does not contain '-l' or '-c', a '-l' argument with\na core list for DPDK EAL init will be generated.\n\nThe '--lcores' argument should also be checked, as if it is used in\ndpdk-extra, currently a '-l' is still generated and that causes\nDPDK EAL init to fail:\n\n|00009|dpdk|INFO|EAL ARGS: ovs-vswitchd --lcores 0@18 --in-memory -l 0.\n|00012|dpdk|ERR|EAL: Option -l is ignored, because (--lcore) is set!\n\nAdd check for '--lcores' in dpdk-extra config and don't generate '-l'\nif it is detected:\n\n|00009|dpdk|INFO|EAL ARGS: ovs-vswitchd --lcores 0@8 --in-memory.\n\nFixes: 543342a41cbc (\"DPDK: add support for v2.0.0\")\nSigned-off-by: Kevin Traynor \nReviewed-by: David Marchand \nAcked-by: Eelco Chaudron ","shortMessageHtmlLink":"dpdk: Check other_config:dpdk-extra for '--lcores'."}},{"before":"8499e902742413e1655eb3d6a67527203f14609f","after":"830fd48237281543cd62c0a85f9db90fb7aefd74","ref":"refs/heads/branch-3.3","pushedAt":"2024-06-19T10:50:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kevintraynor","name":null,"path":"/kevintraynor","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6536388?s=80&v=4"},"commit":{"message":"dpdk: Check other_config:dpdk-extra for '--lcores'.\n\nCurrently dpdk lcore args for DPDK EAL init can be generated or\nthey can be written directly by the user through dpdk-extra.\n\nIf dpdk-extra does not contain '-l' or '-c', a '-l' argument with\na core list for DPDK EAL init will be generated.\n\nThe '--lcores' argument should also be checked, as if it is used in\ndpdk-extra, currently a '-l' is still generated and that causes\nDPDK EAL init to fail:\n\n|00009|dpdk|INFO|EAL ARGS: ovs-vswitchd --lcores 0@18 --in-memory -l 0.\n|00012|dpdk|ERR|EAL: Option -l is ignored, because (--lcore) is set!\n\nAdd check for '--lcores' in dpdk-extra config and don't generate '-l'\nif it is detected:\n\n|00009|dpdk|INFO|EAL ARGS: ovs-vswitchd --lcores 0@8 --in-memory.\n\nFixes: 543342a41cbc (\"DPDK: add support for v2.0.0\")\nSigned-off-by: Kevin Traynor \nReviewed-by: David Marchand \nAcked-by: Eelco Chaudron ","shortMessageHtmlLink":"dpdk: Check other_config:dpdk-extra for '--lcores'."}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEfc0NBAA","startCursor":null,"endCursor":null}},"title":"Activity ยท openvswitch/ovs"}