{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":378605573,"defaultBranch":"master","name":"DAF","ownerLogin":"RaduMantu","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-06-20T09:23:32.000Z","ownerAvatar":"https://github.com/avatars/u/3670865?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1624881798.7617779","currentOid":""},"activityList":{"items":[{"before":"9c9618fa5b827592430ac31e5cfebf2f28adf7ac","after":"530f080162bf1e87e7359fa5f0d05280aa025718","ref":"refs/heads/master","pushedAt":"2024-07-17T15:01:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"RaduMantu","name":"Radu Mantu","path":"/RaduMantu","primaryAvatarUrl":"https://github.com/avatars/u/3670865?s=80&v=4"},"commit":{"message":"Fixed bug where UDP hmac still contained an immutable field\n\nThis would have caused mismatch with xtables match module.","shortMessageHtmlLink":"Fixed bug where UDP hmac still contained an immutable field"}},{"before":"9692321eed7769e40f34a6d4f52633cdba56bca4","after":"9c9618fa5b827592430ac31e5cfebf2f28adf7ac","ref":"refs/heads/master","pushedAt":"2024-05-06T10:07:45.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RaduMantu","name":"Radu Mantu","path":"/RaduMantu","primaryAvatarUrl":"https://github.com/avatars/u/3670865?s=80&v=4"},"commit":{"message":"Removed stats generating build time option from makefile","shortMessageHtmlLink":"Removed stats generating build time option from makefile"}},{"before":"0fe1d1e37fc3fdb640ab44d5d48cf6de89c5c00e","after":"9692321eed7769e40f34a6d4f52633cdba56bca4","ref":"refs/heads/master","pushedAt":"2024-05-06T10:02:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"RaduMantu","name":"Radu Mantu","path":"/RaduMantu","primaryAvatarUrl":"https://github.com/avatars/u/3670865?s=80&v=4"},"commit":{"message":"Removed stats generating build time option from makefile","shortMessageHtmlLink":"Removed stats generating build time option from makefile"}},{"before":"685f3c65cc4f4bd0928f9bedd304f5742b6f7dc8","after":"0fe1d1e37fc3fdb640ab44d5d48cf6de89c5c00e","ref":"refs/heads/master","pushedAt":"2024-05-06T10:00:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"RaduMantu","name":"Radu Mantu","path":"/RaduMantu","primaryAvatarUrl":"https://github.com/avatars/u/3670865?s=80&v=4"},"commit":{"message":"Updated README\n\nInformation was severely outdated","shortMessageHtmlLink":"Updated README"}},{"before":"c49de5b687ff14b596308223ac76489babfd9886","after":"685f3c65cc4f4bd0928f9bedd304f5742b6f7dc8","ref":"refs/heads/master","pushedAt":"2024-03-08T13:22:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"RaduMantu","name":"Radu Mantu","path":"/RaduMantu","primaryAvatarUrl":"https://github.com/avatars/u/3670865?s=80&v=4"},"commit":{"message":"Updated experiment scripts to reflect transition to io_uring\n\nThe uniform prioritization switch & experiment are now gone since we no\nlonger use epoll hierarchical prioritization of NFQ events.\n\nWhen running app-fw, taskset now sets CPU affinity to cores 0 _and_ 1.\nThe kernel can decide for itself where to schedule the applicaiton main\nthread and the io_uring polling kthread.\n\nTODO: integrate the optimal batching argument selection experiment into\nthroughput_battery.sh; afterwards, modify the hardcoded values in the\nTCP throughput experiment (early results show that b=50, B=50 are not\noptimal after all)","shortMessageHtmlLink":"Updated experiment scripts to reflect transition to io_uring"}},{"before":"0f5b7b2279ef4b58f0d525dcd911d2d2004d311a","after":"c49de5b687ff14b596308223ac76489babfd9886","ref":"refs/heads/master","pushedAt":"2024-03-07T09:31:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"RaduMantu","name":"Radu Mantu","path":"/RaduMantu","primaryAvatarUrl":"https://github.com/avatars/u/3670865?s=80&v=4"},"commit":{"message":"Enabled io_uring single issuer internal optimization\n\nA modest improvement of ~60Mbps on the IBM server but an improvement\nnonetheless. Roll back this commit if you ever want to parallelize the\nfirewall process while splitting io_uring requests across multiple\nthreads.","shortMessageHtmlLink":"Enabled io_uring single issuer internal optimization"}},{"before":"5144760b9361e5905981d1067d3ee7ae54823174","after":"0f5b7b2279ef4b58f0d525dcd911d2d2004d311a","ref":"refs/heads/master","pushedAt":"2024-03-06T22:08:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"RaduMantu","name":"Radu Mantu","path":"/RaduMantu","primaryAvatarUrl":"https://github.com/avatars/u/3670865?s=80&v=4"},"commit":{"message":"Added support for packet prefetching from NFQ sockets\n\nStill need to programatically bind the kthread and main userspace task\nto separate CPUs. The number of prefetchable packets can be set between\n1 and 64. There seems to be some non-linear performance variance there.","shortMessageHtmlLink":"Added support for packet prefetching from NFQ sockets"}},{"before":"9f467450bb13354e037e90e2eea7ae2381e32e5c","after":"5144760b9361e5905981d1067d3ee7ae54823174","ref":"refs/heads/master","pushedAt":"2024-03-06T16:21:17.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RaduMantu","name":"Radu Mantu","path":"/RaduMantu","primaryAvatarUrl":"https://github.com/avatars/u/3670865?s=80&v=4"},"commit":{"message":"Replaced epoll-based main loop with io_uring w/ kthread polling\n\nPreviously, epoll() was a significant source of overhead. Now, every\nsignificant I/O operation is asynchronous and relatively few context\nswitches between protection rings are being performed.\n\nTODO 1: replace hardcoded ring settings with CLI arguments\nTODO 2: implement variable number of NFQ packet prefetching\nTODO 3: add support for setting main thread / kthread CPU affinity","shortMessageHtmlLink":"Replaced epoll-based main loop with io_uring w/ kthread polling"}},{"before":"0a38e89579a3b554400c61d2dacad789851cda58","after":"9f467450bb13354e037e90e2eea7ae2381e32e5c","ref":"refs/heads/master","pushedAt":"2024-03-06T16:18:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RaduMantu","name":"Radu Mantu","path":"/RaduMantu","primaryAvatarUrl":"https://github.com/avatars/u/3670865?s=80&v=4"},"commit":{"message":"Replaced epoll-based main loop with io_uring w/ kthread polling\n\nPreviously, epoll() was a significant source of overhead. Now, every\nsignificant I/O operation is asynchronous and relatively few context\nswitches between protection rings are being performed.\n\nTODO 1: replace hardcoded ring settings with CLI arguments\nTODO 2: implement variable number of NFQ packet prefetching\nTODO 3: add support for setting main thread / kthread CPU affinity","shortMessageHtmlLink":"Replaced epoll-based main loop with io_uring w/ kthread polling"}},{"before":"445d3ab31dcde132a1773c372502a603a7a25db9","after":"0a38e89579a3b554400c61d2dacad789851cda58","ref":"refs/heads/master","pushedAt":"2024-03-06T14:10:46.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RaduMantu","name":"Radu Mantu","path":"/RaduMantu","primaryAvatarUrl":"https://github.com/avatars/u/3670865?s=80&v=4"},"commit":{"message":"Replaced epoll-based main loop with io_uring w/ kthread polling\n\nPreviously, epoll() was a significant source of overhead. Now, every\nsignificant I/O operation is asynchronous and relatively few context\nswitches between protection rings are being performed.\n\nTODO 1: replace hardcoded ring settings with CLI arguments\nTODO 2: implement variable number of NFQ packet prefetching\nTODO 3: add support for setting main thread / kthread CPU affinity","shortMessageHtmlLink":"Replaced epoll-based main loop with io_uring w/ kthread polling"}},{"before":"7fefedee2ff348104a5cc1626275c75d9783f25a","after":"445d3ab31dcde132a1773c372502a603a7a25db9","ref":"refs/heads/master","pushedAt":"2024-03-06T14:09:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"RaduMantu","name":"Radu Mantu","path":"/RaduMantu","primaryAvatarUrl":"https://github.com/avatars/u/3670865?s=80&v=4"},"commit":{"message":"Replaced epoll-based main loop with io_uring w/ kthread polling\n\nPreviously, epoll() was a significant source of overhead. Now, every\nsignificant I/O operation is asynchronous and relatively few context\nswitches between protection rings are being performed.\n\nTODO 1: replace hardcoded ring settings with CLI arguments\nTODO 2: implement variable number of NFQ packet prefetching\nTODO 3: clean up code!","shortMessageHtmlLink":"Replaced epoll-based main loop with io_uring w/ kthread polling"}},{"before":"9903385464be53dbbbcda542e255a1de65b8abe2","after":"7fefedee2ff348104a5cc1626275c75d9783f25a","ref":"refs/heads/master","pushedAt":"2024-03-05T13:15:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"RaduMantu","name":"Radu Mantu","path":"/RaduMantu","primaryAvatarUrl":"https://github.com/avatars/u/3670865?s=80&v=4"},"commit":{"message":"Rverted some changes from the parallelization attempt\n\nThis cleanup is in preparation for replacing epoll() with io_uring. The\nparallelization will be done by the io_uring kthread for submission\nqueue polling / handling. Userspace will remain single-threaded for the\nsake of the author's sanity.","shortMessageHtmlLink":"Rverted some changes from the parallelization attempt"}},{"before":"ce8ba076c40822097d9d0596acac85083ae11e48","after":"9903385464be53dbbbcda542e255a1de65b8abe2","ref":"refs/heads/master","pushedAt":"2024-02-13T16:49:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"RaduMantu","name":"Radu Mantu","path":"/RaduMantu","primaryAvatarUrl":"https://github.com/avatars/u/3670865?s=80&v=4"},"commit":{"message":"Replaced gettimeofday() with RDTSC\n\nThe former VDSO call incurred an overhead due to the timestamp counter\nupdate lock. The coarse timer wouldn't have helped since it has 4ms\ngranularity and we need microsecond-level resolution.\n\nNote that we require an invariable frequency timer (Fn8000_0007:EDX_8=1)\nand the ability of using RDTSC from user space (CR4.TSD=0).\n\nMake sure to set the BASE_FREQ variable. You can get the base frequency\nfrom sysfs; just make sure that it's in Hz and not KHz:\n /sys/devices/system/cpu/cpu*/cpufreq/base_frequency\n\nIf this file is not exposed by the kernel, just run a simple program\nmeasuring the elapsed cycles for a sleep(1).\n\nNOTE: This implementation is _incorrect_ for older CPUs with variable\n frequency timers.\n\nTODO: Maybe replace the gettimeofday() implementation in the elapsed\n time measurement macros from util.h.","shortMessageHtmlLink":"Replaced gettimeofday() with RDTSC"}},{"before":"bb2617dc1365e2ef46aeb6241db2e8e74c3e158e","after":"ce8ba076c40822097d9d0596acac85083ae11e48","ref":"refs/heads/master","pushedAt":"2023-10-16T17:17:01.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"RaduMantu","name":"Radu Mantu","path":"/RaduMantu","primaryAvatarUrl":"https://github.com/avatars/u/3670865?s=80&v=4"},"commit":{"message":"Added snort3 SO IPS plugin for packet signature matching.\n\nSpecify the include path of the snort3 install directory when compiling.\nThen, point snort to the shared object via `--plugin-path`.","shortMessageHtmlLink":"Added snort3 SO IPS plugin for packet signature matching."}},{"before":"b1644d2d64ece4a8df0c16fd57622887088febbd","after":"bb2617dc1365e2ef46aeb6241db2e8e74c3e158e","ref":"refs/heads/master","pushedAt":"2023-10-03T11:52:26.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RaduMantu","name":"Radu Mantu","path":"/RaduMantu","primaryAvatarUrl":"https://github.com/avatars/u/3670865?s=80&v=4"},"commit":{"message":"Small changes in throughput battery test script\n\nRefactoring, changed log file name convention, now setting the TCP\nsocket buffer sizes automatically.","shortMessageHtmlLink":"Small changes in throughput battery test script"}},{"before":"4bb366d16525fcff9ee67fc33bac11695bc0623e","after":"b1644d2d64ece4a8df0c16fd57622887088febbd","ref":"refs/heads/master","pushedAt":"2023-10-03T11:39:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"RaduMantu","name":"Radu Mantu","path":"/RaduMantu","primaryAvatarUrl":"https://github.com/avatars/u/3670865?s=80&v=4"},"commit":{"message":"Small changes in throughput battery test script\n\nRefactoring, changed log file name convention, now setting the TCP\nsocket buffer sizes automatically.","shortMessageHtmlLink":"Small changes in throughput battery test script"}},{"before":"618a495f9c31decf7b67ecdd6559f33a9cc8890c","after":"4bb366d16525fcff9ee67fc33bac11695bc0623e","ref":"refs/heads/master","pushedAt":"2023-10-02T15:05:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"RaduMantu","name":"Radu Mantu","path":"/RaduMantu","primaryAvatarUrl":"https://github.com/avatars/u/3670865?s=80&v=4"},"commit":{"message":"Now dynamically adjusting NFQ's packet buffer size\n\nWhenever reading a packet from the NFQ buffer fails with ENOBUFS, we\ndouble the current buffer size. This new size is also doubled by the\nkernel for \"bookkeeping reasons\" (see man.7 socket). Since the\nlibnfnl API forces the new value when invoking setsockopt(), it may\nend up exceeding the system limit in `net.core.rmem_max`, though this\nis _very_ unlikely. Nonetheless, we also implement a user-specified\nlimit, defaulting to 256MB (again, doubled by the kernel).","shortMessageHtmlLink":"Now dynamically adjusting NFQ's packet buffer size"}},{"before":"01f6deec315933ffb657912c47b680775d36d042","after":"618a495f9c31decf7b67ecdd6559f33a9cc8890c","ref":"refs/heads/master","pushedAt":"2023-10-02T11:56:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"RaduMantu","name":"Radu Mantu","path":"/RaduMantu","primaryAvatarUrl":"https://github.com/avatars/u/3670865?s=80&v=4"},"commit":{"message":"Now programmatically setting niceness to -20 (min value in u/s)","shortMessageHtmlLink":"Now programmatically setting niceness to -20 (min value in u/s)"}},{"before":"69214b86f4d1001fd14e50beed64c7a155ada9a6","after":"01f6deec315933ffb657912c47b680775d36d042","ref":"refs/heads/master","pushedAt":"2023-09-29T14:07:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RaduMantu","name":"Radu Mantu","path":"/RaduMantu","primaryAvatarUrl":"https://github.com/avatars/u/3670865?s=80&v=4"},"commit":{"message":"Implemented verdict batching on the INPUT chain as well\n\nRight now, both chains use the same limits in terms of buffered packets\nor elapsed time since first buffered packet was processed. Consider\nsplitting these up (e.g.: 50 buffered TCP packets on OUTPUT but only 1\non INPUT, that being the ACK).","shortMessageHtmlLink":"Implemented verdict batching on the INPUT chain as well"}},{"before":"01f6deec315933ffb657912c47b680775d36d042","after":"69214b86f4d1001fd14e50beed64c7a155ada9a6","ref":"refs/heads/master","pushedAt":"2023-09-29T14:00:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"RaduMantu","name":"Radu Mantu","path":"/RaduMantu","primaryAvatarUrl":"https://github.com/avatars/u/3670865?s=80&v=4"},"commit":{"message":"Added separate verdict batch max size / timeout values for chains\n\nThe epoll timeout is the minimum timeout value between the two.","shortMessageHtmlLink":"Added separate verdict batch max size / timeout values for chains"}},{"before":"986b181f17d98c009532a9ed24e32590e7e9db77","after":"01f6deec315933ffb657912c47b680775d36d042","ref":"refs/heads/master","pushedAt":"2023-09-29T13:25:11.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"RaduMantu","name":"Radu Mantu","path":"/RaduMantu","primaryAvatarUrl":"https://github.com/avatars/u/3670865?s=80&v=4"},"commit":{"message":"Implemented verdict batching on the INPUT chain as well\n\nRight now, both chains use the same limits in terms of buffered packets\nor elapsed time since first buffered packet was processed. Consider\nsplitting these up (e.g.: 50 buffered TCP packets on OUTPUT but only 1\non INPUT, that being the ACK).","shortMessageHtmlLink":"Implemented verdict batching on the INPUT chain as well"}},{"before":"d096cf2b3df730bfa8e1551417831f0a0f8b0bba","after":"986b181f17d98c009532a9ed24e32590e7e9db77","ref":"refs/heads/master","pushedAt":"2023-09-27T10:29:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"RaduMantu","name":"Radu Mantu","path":"/RaduMantu","primaryAvatarUrl":"https://github.com/avatars/u/3670865?s=80&v=4"},"commit":{"message":"Added verdict batching option in throughput measurement script\n\nThroughput batteries for TCP and UDP also contain a new test benefiting\nfrom this option.","shortMessageHtmlLink":"Added verdict batching option in throughput measurement script"}},{"before":"b0448443ad8048a890b97a68180cb7ee00181cab","after":"d096cf2b3df730bfa8e1551417831f0a0f8b0bba","ref":"refs/heads/master","pushedAt":"2023-09-27T09:58:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"RaduMantu","name":"Radu Mantu","path":"/RaduMantu","primaryAvatarUrl":"https://github.com/avatars/u/3670865?s=80&v=4"},"commit":{"message":"Added verdict batching option\n\nRight now, works only on the OUTPUT chain. Will implement it on the\nINPUT chain at some point.\n\nPlay around with the '-b' and '-B' flags until you get some satisfying\nresults.\n\nOn egress, we automatically communicate the batched verdict if a\nTCP SYN or PSH is encountered. Otherwise, things get nasty.","shortMessageHtmlLink":"Added verdict batching option"}},{"before":"438ad110e770cdabfc6a20c38a803bb7845c5659","after":"b0448443ad8048a890b97a68180cb7ee00181cab","ref":"refs/heads/master","pushedAt":"2023-09-25T15:50:12.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"RaduMantu","name":"Radu Mantu","path":"/RaduMantu","primaryAvatarUrl":"https://github.com/avatars/u/3670865?s=80&v=4"},"commit":{"message":"Added socket buffer variation battery test (WiP)\n\nThis test varies the maximum net.core r/w socket buffer sizes between\n8MB and 32MB (with 1MB incremet) and performs strictly _one_ test for\nthe fully optimized firewall configuration, on MTUs ranging from 1k to\n9k (with 1k increment).\n\nThis verison is currently used only to get some preliminary data.","shortMessageHtmlLink":"Added socket buffer variation battery test (WiP)"}},{"before":"07459f14dc7d8a2892ef6c3bd5af919214f54388","after":"438ad110e770cdabfc6a20c38a803bb7845c5659","ref":"refs/heads/master","pushedAt":"2023-09-25T13:05:05.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"RaduMantu","name":"Radu Mantu","path":"/RaduMantu","primaryAvatarUrl":"https://github.com/avatars/u/3670865?s=80&v=4"},"commit":{"message":"Added test type selection to throughout test battery script","shortMessageHtmlLink":"Added test type selection to throughout test battery script"}},{"before":"1111efb41a1b8fcd2983ba5396b407fe63d03392","after":"07459f14dc7d8a2892ef6c3bd5af919214f54388","ref":"refs/heads/master","pushedAt":"2023-09-25T12:32:55.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"RaduMantu","name":"Radu Mantu","path":"/RaduMantu","primaryAvatarUrl":"https://github.com/avatars/u/3670865?s=80&v=4"},"commit":{"message":"Added build-time option to prevent using RB trees\n\nThis offers a significant performance increase at the cost of matching\naggregate hashes.","shortMessageHtmlLink":"Added build-time option to prevent using RB trees"}},{"before":"db0869f8d7d5bbd3623ce168c60fee10149d6637","after":"1111efb41a1b8fcd2983ba5396b407fe63d03392","ref":"refs/heads/master","pushedAt":"2023-09-19T13:03:53.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RaduMantu","name":"Radu Mantu","path":"/RaduMantu","primaryAvatarUrl":"https://github.com/avatars/u/3670865?s=80&v=4"},"commit":{"message":"Added pwru output parsing script for packet procesising CFG analysis\n\nThis script takes pwru output (with relative timestamps) and generates a\nset of Control Flow Graphs with average elapsed times for node\ntransitions. When the piped output terminates (via a Ctrl+C, for\nexample), the script will dump all unique paths to stdout.\n\nUse this to find the origin of the packet processing delays, depending\non MTU (i.e.: spikes after 6k MTU).","shortMessageHtmlLink":"Added pwru output parsing script for packet procesising CFG analysis"}},{"before":"ba4841f3e5c2808e171440b1a8a7aaa23590be03","after":"db0869f8d7d5bbd3623ce168c60fee10149d6637","ref":"refs/heads/master","pushedAt":"2023-09-19T12:59:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"RaduMantu","name":"Radu Mantu","path":"/RaduMantu","primaryAvatarUrl":"https://github.com/avatars/u/3670865?s=80&v=4"},"commit":{"message":"Added pwru output parsing script for packet procesising CFG analysis\n\nThis script takes pwru output (with relative timestamps) and generates a\nset of Control Flow Graphs with average elapsed times for node\ntransitions. When the piped output terminates (via a Ctrl+C, for\nexample), the script will dump all unique paths to stdout.\n\nUse this to find the origin of the packet processing delays, depending\non MTU (i.e.: spikes after 6k MTU).","shortMessageHtmlLink":"Added pwru output parsing script for packet procesising CFG analysis"}},{"before":"a7682f0107e6d87503dead75be8f57da49b59cce","after":"ba4841f3e5c2808e171440b1a8a7aaa23590be03","ref":"refs/heads/master","pushedAt":"2023-09-11T13:08:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"RaduMantu","name":"Radu Mantu","path":"/RaduMantu","primaryAvatarUrl":"https://github.com/avatars/u/3670865?s=80&v=4"},"commit":{"message":"MSS set for iperf3 must now be at lest 88 for it to work","shortMessageHtmlLink":"MSS set for iperf3 must now be at lest 88 for it to work"}},{"before":"276f4a1b41ff3a67b8367c2d66503bf9c434340f","after":"a7682f0107e6d87503dead75be8f57da49b59cce","ref":"refs/heads/master","pushedAt":"2023-09-11T12:54:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"RaduMantu","name":"Radu Mantu","path":"/RaduMantu","primaryAvatarUrl":"https://github.com/avatars/u/3670865?s=80&v=4"},"commit":{"message":"Added possibility to set iperf3 MSS in experiment script\n\nNeeded for tests involving packet signing. Modified packet carries 36\nextra bytes as IP options, which exceeds the MTU and can lead to\nfragmentation (best case) or packet loss (worst case).","shortMessageHtmlLink":"Added possibility to set iperf3 MSS in experiment script"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNy0xN1QxNTowMTo0OS4wMDAwMDBazwAAAASB-ag7","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNy0xN1QxNTowMTo0OS4wMDAwMDBazwAAAASB-ag7","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wOS0xMVQxMjo1NDozNy4wMDAwMDBazwAAAAN92xM_"}},"title":"Activity ยท RaduMantu/DAF"}