{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":775159681,"defaultBranch":"main","name":"grout","ownerLogin":"DPDK","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-03-20T21:42:05.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/29926404?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1726854259.0","currentOid":""},"activityList":{"items":[{"before":"36c83c2b67942b006403f7e0308a3e62ddb21694","after":"5cae0237f05bc611bf44bcf61d560a416224a840","ref":"refs/heads/main","pushedAt":"2024-09-23T20:01:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rjarry","name":"Robin Jarry","path":"/rjarry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/472286?s=80&v=4"},"commit":{"message":"readme: reference contributing guide\n\nAdd a reference to the contributing guide from the readme file.\n\nSigned-off-by: Robin Jarry ","shortMessageHtmlLink":"readme: reference contributing guide"}},{"before":"a38d5389819933e7aafde304386570880276a843","after":"36c83c2b67942b006403f7e0308a3e62ddb21694","ref":"refs/heads/main","pushedAt":"2024-09-20T17:44:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"rjarry","name":"Robin Jarry","path":"/rjarry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/472286?s=80&v=4"},"commit":{"message":"grout: release v0.2\n\nAuthor Commits Changed Files Insertions Deletions\nRobin Jarry 106 370 +19109 -3397\nChristophe Fontaine 19 53 +1390 -581\n\nReviewer/Tester Commits\nChristophe Fontaine 9\nDavid Marchand 5\nRobin Jarry 4\n\nSigned-off-by: Robin Jarry ","shortMessageHtmlLink":"grout: release v0.2"}},{"before":"e291b6dd050a8f296fd11a3e2646a9955293af7d","after":null,"ref":"refs/tags/v0.2","pushedAt":"2024-09-20T17:43:56.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"rjarry","name":"Robin Jarry","path":"/rjarry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/472286?s=80&v=4"}},{"before":"9548b6a56ea87e8753a515cbf380360fef01ae0f","after":"a38d5389819933e7aafde304386570880276a843","ref":"refs/heads/main","pushedAt":"2024-09-20T17:41:08.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"rjarry","name":"Robin Jarry","path":"/rjarry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/472286?s=80&v=4"},"commit":{"message":"grout: release v0.2\n\nAuthor Commits Changed Files Insertions Deletions\nRobin Jarry 106 369 +19108 -3396\nChristophe Fontaine 19 53 +1390 -581\n\nReviewer/Tester Commits\nChristophe Fontaine 9\nDavid Marchand 5\nRobin Jarry 4\n\nSigned-off-by: Robin Jarry ","shortMessageHtmlLink":"grout: release v0.2"}},{"before":"87b8823f766e48c5c198fc50a8bc1e3b403c18a6","after":"9548b6a56ea87e8753a515cbf380360fef01ae0f","ref":"refs/heads/main","pushedAt":"2024-09-20T16:34:08.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"rjarry","name":"Robin Jarry","path":"/rjarry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/472286?s=80&v=4"},"commit":{"message":"mk: add tag-release target\n\nAdd a makefile target to create release tags in a consistent manner.\nHere is a sample output:\n\nrjarry@ringo:~/rh/grout main$ make tag-release\nnext version (0.2)?\n+ sed -i 's/\\/v0.2/' meson.build\n++ devtools/git-stats v0.1..\n+ git commit -sm 'grout: release v0.2' -m 'Author Commits Changed Files Insertions Deletions\nRobin Jarry 105 368 +19059 -3396\nChristophe Fontaine 19 53 +1390 -581\n\nReviewer/Tester Commits\nChristophe Fontaine 9\nDavid Marchand 5\nRobin Jarry 4' meson.build\n[main 40a00548ed82] grout: release v0.2\n 1 file changed, 1 insertion(+), 1 deletion(-)\n+ git tag -sm v0.2 v0.2\n\nSigned-off-by: Robin Jarry ","shortMessageHtmlLink":"mk: add tag-release target"}},{"before":"6802a5baad95d88886f5542ffa9ba01f500cbb92","after":"87b8823f766e48c5c198fc50a8bc1e3b403c18a6","ref":"refs/heads/main","pushedAt":"2024-09-20T08:27:18.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"rjarry","name":"Robin Jarry","path":"/rjarry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/472286?s=80&v=4"},"commit":{"message":"docs: add contributing guide\n\nTry to explain the requirements with as much detail as possible. Allow\ntwo different contribution channels: GitHub pull requests and email.\n\nSigned-off-by: Robin Jarry \nAcked-by: David Marchand ","shortMessageHtmlLink":"docs: add contributing guide"}},{"before":"a0f9d6699605fc0b5e058696a425a8a9f743dcc3","after":"6802a5baad95d88886f5542ffa9ba01f500cbb92","ref":"refs/heads/main","pushedAt":"2024-09-19T15:37:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"rjarry","name":"Robin Jarry","path":"/rjarry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/472286?s=80&v=4"},"commit":{"message":"vlan: implement multicast ethernet filtering\n\nAllow vlan interfaces to ask their parent port to allow certain\nmulticast ethernet addresses related to their IPv6 addresses.\n\nSigned-off-by: Robin Jarry \nReviewed-by: David Marchand ","shortMessageHtmlLink":"vlan: implement multicast ethernet filtering"}},{"before":"55c6fbac077b94583051ed718d7328e6f740370b","after":"a0f9d6699605fc0b5e058696a425a8a9f743dcc3","ref":"refs/heads/main","pushedAt":"2024-09-19T15:37:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"rjarry","name":"Robin Jarry","path":"/rjarry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/472286?s=80&v=4"},"commit":{"message":"iface: forbid duplicate names on creation\n\nThe name is checked for duplicates on `set interface` but not when\ncreating a new interface. Return an explicit error when trying to create\nan interface with a name that is already taken.\n\nFixes: a188078583cf (\"infra: replace port with interface abstraction\")\nSigned-off-by: Robin Jarry \nReviewed-by: David Marchand ","shortMessageHtmlLink":"iface: forbid duplicate names on creation"}},{"before":"e66d7e8ef74e3c676905d9997fc88a8a79f50b9f","after":"55c6fbac077b94583051ed718d7328e6f740370b","ref":"refs/heads/main","pushedAt":"2024-09-19T15:20:54.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"rjarry","name":"Robin Jarry","path":"/rjarry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/472286?s=80&v=4"},"commit":{"message":"trace: display stripped vlans\n\nWhen the NIC is able to strip the vlan tag, the vlan id is available in\nthe mbuf metadata. Use that information to display the vlan header even\nif it was stripped from the packet buffer.\n\nSigned-off-by: Robin Jarry \nReviewed-by: David Marchand ","shortMessageHtmlLink":"trace: display stripped vlans"}},{"before":"0bde1bea3491f6346632ea0347453badb888eb05","after":"e66d7e8ef74e3c676905d9997fc88a8a79f50b9f","ref":"refs/heads/main","pushedAt":"2024-09-18T16:00:58.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"rjarry","name":"Robin Jarry","path":"/rjarry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/472286?s=80&v=4"},"commit":{"message":"treewide: update all project URLs\n\nUpdate all references to the project location after it was transferred\nto the DPDK organization.\n\nSigned-off-by: Robin Jarry ","shortMessageHtmlLink":"treewide: update all project URLs"}},{"before":"dd7e576cab0027c603a4d54ba6abbd9ab4918223","after":"0bde1bea3491f6346632ea0347453badb888eb05","ref":"refs/heads/main","pushedAt":"2024-09-18T15:45:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rjarry","name":"Robin Jarry","path":"/rjarry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/472286?s=80&v=4"},"commit":{"message":"treewide: update all project URLs\n\nUpdate all references to the project location after it was transferred\nto the DPDK organization.\n\nSigned-off-by: Robin Jarry ","shortMessageHtmlLink":"treewide: update all project URLs"}},{"before":"ec3b604313a27347f0057bb7d67fabaafe7ec085","after":null,"ref":"refs/heads/vlan-mcast","pushedAt":"2024-09-18T15:19:56.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"rjarry","name":"Robin Jarry","path":"/rjarry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/472286?s=80&v=4"}},{"before":null,"after":"ec3b604313a27347f0057bb7d67fabaafe7ec085","ref":"refs/heads/vlan-mcast","pushedAt":"2024-09-16T17:18:43.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rjarry","name":"Robin Jarry","path":"/rjarry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/472286?s=80&v=4"},"commit":{"message":"vlan: implement multicast ethernet filtering\n\nAllow vlan interfaces to ask their parent port to allow certain\nmulticast ethernet addresses related to their IPv6 addresses.\n\nSigned-off-by: Robin Jarry ","shortMessageHtmlLink":"vlan: implement multicast ethernet filtering"}},{"before":"9f63e03b3cf6fb1e26e52f7f74261504a280558a","after":null,"ref":"refs/heads/sleep","pushedAt":"2024-09-16T09:50:33.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"rjarry","name":"Robin Jarry","path":"/rjarry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/472286?s=80&v=4"}},{"before":"7ea0a2ad9aae0d9bcfb276c6397cb6df9cbd0963","after":"dd7e576cab0027c603a4d54ba6abbd9ab4918223","ref":"refs/heads/main","pushedAt":"2024-09-16T09:50:30.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"rjarry","name":"Robin Jarry","path":"/rjarry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/472286?s=80&v=4"},"commit":{"message":"datapath: increase sleep threshold to 256 empty polls\n\nChecking for \"empty polls\" every 32 rounds of main loop is too frequent.\nrte_graph_walk() can be very fast when there are no packets and this\nleads to usleep(1) being called while traffic is present (but only\nabsent for 32 loops).\n\nTo ensure we only go to sleep less often, increase the required number\nof \"empty polls\" up to 256.\n\nSigned-off-by: Robin Jarry ","shortMessageHtmlLink":"datapath: increase sleep threshold to 256 empty polls"}},{"before":"550a178ec9e7cbd4598adfcceccdad0d9e349167","after":"9f63e03b3cf6fb1e26e52f7f74261504a280558a","ref":"refs/heads/sleep","pushedAt":"2024-09-13T14:22:52.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"rjarry","name":"Robin Jarry","path":"/rjarry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/472286?s=80&v=4"},"commit":{"message":"datapath: increase sleep threshold to 256 empty polls\n\nChecking for \"empty polls\" every 32 rounds of main loop is too frequent.\nrte_graph_walk() can be very fast when there are no packets and this\nleads to usleep(1) being called while traffic is present (but only\nabsent for 32 loops).\n\nTo ensure we only go to sleep less often, increase the required number\nof \"empty polls\" up to 256.\n\nSigned-off-by: Robin Jarry ","shortMessageHtmlLink":"datapath: increase sleep threshold to 256 empty polls"}},{"before":"295778c1cd883c2a66aba3911fa2d6eee2504b77","after":"550a178ec9e7cbd4598adfcceccdad0d9e349167","ref":"refs/heads/sleep","pushedAt":"2024-09-13T12:42:56.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"rjarry","name":"Robin Jarry","path":"/rjarry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/472286?s=80&v=4"},"commit":{"message":"datapath: increase sleep threshold to 1024 empty polls\n\nChecking for \"empty polls\" every 32 rounds of main loop is too frequent.\nrte_graph_walk() can be very fast when there are no packets and this\nleads to usleep(1) being called while traffic is present (but only\nabsent for 32 loops).\n\nTo ensure we only go to sleep less often, increase the required number\nof \"empty polls\".\n\nSigned-off-by: Robin Jarry ","shortMessageHtmlLink":"datapath: increase sleep threshold to 1024 empty polls"}},{"before":"f169aa8ec81034c31d755d361bd50536b2aba8af","after":"295778c1cd883c2a66aba3911fa2d6eee2504b77","ref":"refs/heads/sleep","pushedAt":"2024-09-13T11:50:54.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"rjarry","name":"Robin Jarry","path":"/rjarry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/472286?s=80&v=4"},"commit":{"message":"datapath: increase sleep threshold to 1024 empty polls\n\nChecking for \"empty polls\" every 32 rounds of main loop is too frequent.\nrte_graph_walk() can be very fast when there are no packets and this\nleads to usleep(1) being called while traffic is present (but only\nabsent for 32 loops).\n\nTo ensure we only go to sleep less often, increase the required number\nof \"empty polls\".\n\nSigned-off-by: Robin Jarry ","shortMessageHtmlLink":"datapath: increase sleep threshold to 1024 empty polls"}},{"before":"07ab2c1bc8ae54dfe74e09460a0353210e10b796","after":"f169aa8ec81034c31d755d361bd50536b2aba8af","ref":"refs/heads/sleep","pushedAt":"2024-09-13T11:38:36.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"rjarry","name":"Robin Jarry","path":"/rjarry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/472286?s=80&v=4"},"commit":{"message":"datapath: increase sleep threshold to 1024 empty polls\n\nSigned-off-by: Robin Jarry ","shortMessageHtmlLink":"datapath: increase sleep threshold to 1024 empty polls"}},{"before":"9d36e5cfcf4ec5ed3572b01392c893771aeed5c3","after":"07ab2c1bc8ae54dfe74e09460a0353210e10b796","ref":"refs/heads/sleep","pushedAt":"2024-09-13T11:30:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"rjarry","name":"Robin Jarry","path":"/rjarry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/472286?s=80&v=4"},"commit":{"message":"datapath: increase sleep threshold to 1024 empty polls\n\nSigned-off-by: Robin Jarry ","shortMessageHtmlLink":"datapath: increase sleep threshold to 1024 empty polls"}},{"before":null,"after":"9d36e5cfcf4ec5ed3572b01392c893771aeed5c3","ref":"refs/heads/sleep","pushedAt":"2024-09-13T11:16:43.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rjarry","name":"Robin Jarry","path":"/rjarry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/472286?s=80&v=4"},"commit":{"message":"datapath: increase sleep threshold to 1024 empty polls\n\nSigned-off-by: Robin Jarry ","shortMessageHtmlLink":"datapath: increase sleep threshold to 1024 empty polls"}},{"before":"3acba61a125fb2aad413c379f25d2b2071d59dfe","after":null,"ref":"refs/heads/version-flag","pushedAt":"2024-09-11T13:25:38.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"rjarry","name":"Robin Jarry","path":"/rjarry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/472286?s=80&v=4"}},{"before":"f371a5e987df296c0c62cfd3506262692960c2f9","after":"7ea0a2ad9aae0d9bcfb276c6397cb6df9cbd0963","ref":"refs/heads/main","pushedAt":"2024-09-11T13:25:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"rjarry","name":"Robin Jarry","path":"/rjarry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/472286?s=80&v=4"},"commit":{"message":"main: add flags to display version\n\nAdd -V, --version flags to both grout and grcli. When these flags are\nspecified, print the program version and exit. Update the man pages and\nusage help accordingly.\n\nSigned-off-by: Robin Jarry ","shortMessageHtmlLink":"main: add flags to display version"}},{"before":null,"after":"3acba61a125fb2aad413c379f25d2b2071d59dfe","ref":"refs/heads/version-flag","pushedAt":"2024-09-11T13:08:36.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rjarry","name":"Robin Jarry","path":"/rjarry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/472286?s=80&v=4"},"commit":{"message":"main: add flags to display version\n\nAdd -V, --version flags to both grout and grcli. When these flags are\nspecified, print the program version and exit. Update the man pages and\nusage help accordingly.\n\nSigned-off-by: Robin Jarry ","shortMessageHtmlLink":"main: add flags to display version"}},{"before":"ba0c092eb84f8b0ba036ba7fee00f888983364e0","after":"f371a5e987df296c0c62cfd3506262692960c2f9","ref":"refs/heads/main","pushedAt":"2024-09-10T20:28:49.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"rjarry","name":"Robin Jarry","path":"/rjarry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/472286?s=80&v=4"},"commit":{"message":"port: use interrupt thread to monitor link status and speed\n\nThe link status behind eth ports may change at any moment. The only way\nto get reliable information about the link status and speed is to rely\non driver notifications via the link status check interrupt thread\n(enabled by default in DPDK).\n\nConfigure all ports with intr_conf.lsc=1 if supported by the driver.\n\nRegister an LSC ethdev callback which only serves as a proxy to trigger\na libevent callback. That way, the link status information is checked\nand updated from the main lcore only. libevent needs to be initialized\nwith pthread support to allow other threads to trigger events.\n\nFor DPDK drivers that do not support link status change events, the link\nstatus and speed will be updated once per second via a libevent timer on\nthe same callback.\n\nSigned-off-by: Robin Jarry ","shortMessageHtmlLink":"port: use interrupt thread to monitor link status and speed"}},{"before":"bd35590c7329d931265f711d92aa349e06a488ae","after":null,"ref":"refs/heads/lsc","pushedAt":"2024-09-10T20:26:22.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"rjarry","name":"Robin Jarry","path":"/rjarry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/472286?s=80&v=4"}},{"before":"a4c419f8d896a8ead93d65b006f7fd8cc0d36835","after":"ba0c092eb84f8b0ba036ba7fee00f888983364e0","ref":"refs/heads/main","pushedAt":"2024-09-10T20:26:18.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"rjarry","name":"Robin Jarry","path":"/rjarry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/472286?s=80&v=4"},"commit":{"message":"port: use interrupt thread to monitor link status and speed\n\nThe link status behind eth ports may change at any moment. The only way\nto get reliable information about the link status and speed is to rely\non driver notifications via the link status check interrupt thread\n(enabled by default in DPDK).\n\nConfigure all ports with intr_conf.lsc=1 if supported by the driver.\n\nRegister an LSC ethdev callback which only serves as a proxy to trigger\na libevent callback. That way, the link status information is checked\nand updated from the main lcore only. libevent needs to be initialized\nwith pthread support to allow other threads to trigger events.\n\nFor DPDK drivers that do not support link status change events, the link\nstatus and speed will be updated once per second via a libevent timer on\nthe same callback.\n\nSigned-off-by: Robin Jarry ","shortMessageHtmlLink":"port: use interrupt thread to monitor link status and speed"}},{"before":"322d0403a5883e2355b1f5bdb2bb7199271195c2","after":"a4c419f8d896a8ead93d65b006f7fd8cc0d36835","ref":"refs/heads/main","pushedAt":"2024-09-10T20:25:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rjarry","name":"Robin Jarry","path":"/rjarry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/472286?s=80&v=4"},"commit":{"message":"log: only enable full dpdk logging with grout -vvv\n\nWith one (-v), enable grout INFO logs. With two (-vv), enable grout\nDEBUG logs. With three (-vvv) enable all DPDK libs and drivers DEBUG\nlogs.\n\nSigned-off-by: Robin Jarry ","shortMessageHtmlLink":"log: only enable full dpdk logging with grout -vvv"}},{"before":"c7fc0325127347f564de283c44b69c0efa0506e3","after":"bd35590c7329d931265f711d92aa349e06a488ae","ref":"refs/heads/lsc","pushedAt":"2024-09-10T20:01:33.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"rjarry","name":"Robin Jarry","path":"/rjarry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/472286?s=80&v=4"},"commit":{"message":"port: use interrupt thread to monitor link status and speed\n\nThe link status behind eth ports may change at any moment. The only way\nto get reliable information about the link status and speed is to rely\non driver notifications via the link status check interrupt thread\n(enabled by default in DPDK).\n\nConfigure all ports with intr_conf.lsc=1 if supported by the driver.\n\nRegister an LSC ethdev callback which only serves as a proxy to trigger\na libevent callback. That way, the link status information is checked\nand updated from the main lcore only. libevent needs to be initialized\nwith pthread support to allow other threads to trigger events.\n\nFor DPDK drivers that do not support link status change events, the link\nstatus and speed will be updated once per second via a libevent timer on\nthe same callback.\n\nSigned-off-by: Robin Jarry ","shortMessageHtmlLink":"port: use interrupt thread to monitor link status and speed"}},{"before":"310fb46440d620d1b33e496bab7d8c328e27ef8b","after":"c7fc0325127347f564de283c44b69c0efa0506e3","ref":"refs/heads/lsc","pushedAt":"2024-09-10T19:53:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"rjarry","name":"Robin Jarry","path":"/rjarry","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/472286?s=80&v=4"},"commit":{"message":"port: use interrupt thread to monitor link status and speed\n\nThe link status behind eth ports may change at any moment. The only way\nto get reliable information about the link status and speed is to rely\non driver notifications via the link status check interrupt thread\n(enabled by default in DPDK).\n\nConfigure all ports with intr_conf.lsc=1 if supported by the driver.\n\nRegister an LSC ethdev callback which only serves as a proxy to trigger\na libevent callback. That way, the link status information is checked\nand updated from the main lcore only. libevent needs to be initialized\nwith pthread support to allow other threads to trigger events.\n\nFor DPDK drivers that do not support link status change events, the link\nstatus and speed will be updated once per second via a libevent timer on\nthe same callback.\n\nSigned-off-by: Robin Jarry ","shortMessageHtmlLink":"port: use interrupt thread to monitor link status and speed"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yM1QyMDowMTozOS4wMDAwMDBazwAAAAS-Y-s-","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xMFQxOTo1Mzo1OS4wMDAwMDBazwAAAASyd_JA"}},"title":"Activity ยท DPDK/grout"}