<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in Kconfig</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>04e65df9 - netlink: spec: add shaper YAML spec</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/net/Kconfig#04e65df9</link>
        <description>netlink: spec: add shaper YAML specDefine the user-space visible interface to query, configure and deletenetwork shapers via yaml definition.Add dummy implementations for the relevant NL callbacks.set() and delete() operations touch a single shaper creating/updating ordeleting it.The group() operation creates a shaper&apos;s group, nesting multiple inputshapers under the specified output shaper.Reviewed-by: Jiri Pirko &lt;jiri@nvidia.com&gt;Signed-off-by: Paolo Abeni &lt;pabeni@redhat.com&gt;Link: https://patch.msgid.link/7a33a1ff370bdbcd0cd3f909575c912cd56f41da.1728460186.git.pabeni@redhat.comSigned-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;

            List of files:
            /linux-6.15/net/Kconfig</description>
        <pubDate>Wed, 09 Oct 2024 08:09:48 +0000</pubDate>
        <dc:creator>Paolo Abeni &lt;pabeni@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>26d74602 - memory-provider: disable building dmabuf mp on !CONFIG_PAGE_POOL</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/net/Kconfig#26d74602</link>
        <description>memory-provider: disable building dmabuf mp on !CONFIG_PAGE_POOLWhen CONFIG_TRACEPOINTS=y but CONFIG_PAGE_POOL=n, we end up with thisbuild failure that is reported by the 0-day bot:ld: vmlinux.o: in function `mp_dmabuf_devmem_alloc_netmems&apos;:&gt;&gt; (.text+0xc37286): undefined reference to `__tracepoint_page_pool_state_hold&apos;&gt;&gt; ld: (.text+0xc3729a): undefined reference to `__SCT__tp_func_page_pool_state_hold&apos;&gt;&gt; ld: vmlinux.o:(__jump_table+0x10c48): undefined reference to `__tracepoint_page_pool_state_hold&apos;&gt;&gt; ld: vmlinux.o:(.static_call_sites+0xb824): undefined reference to `__SCK__tp_func_page_pool_state_hold&apos;The root cause is that in this configuration, traces are enabled but thepage_pool specific trace_page_pool_state_hold is not registered.There is no reason to build the dmabuf memory provider whenCONFIG_PAGE_POOL is not present, as it&apos;s really a provider to thepage_pool.In fact the whole NET_DEVMEM is RX path-only at the moment, so we canmake the entire config dependent on the PAGE_POOL.Note that this may need to be revisited after/while devmem TX isadded,  as devmem TX likely does not need CONFIG_PAGE_POOL. For now thisbuild fix is sufficient.Reported-by: kernel test robot &lt;lkp@intel.com&gt;Closes: https://lore.kernel.org/oe-kbuild-all/202409131239.ysHQh4Tv-lkp@intel.com/Signed-off-by: Mina Almasry &lt;almasrymina@google.com&gt;Reviewed-by: Simon Horman &lt;horms@kernel.org&gt;Tested-by: Simon Horman &lt;horms@kernel.org&gt; # build-testedLink: https://patch.msgid.link/20240913060746.2574191-1-almasrymina@google.comSigned-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;

            List of files:
            /linux-6.15/net/Kconfig</description>
        <pubDate>Fri, 13 Sep 2024 06:07:45 +0000</pubDate>
        <dc:creator>Mina Almasry &lt;almasrymina@google.com&gt;</dc:creator>
    </item>
<item>
        <title>170aafe3 - netdev: support binding dma-buf to netdevice</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/net/Kconfig#170aafe3</link>
        <description>netdev: support binding dma-buf to netdeviceAdd a netdev_dmabuf_binding struct which represents thedma-buf-to-netdevice binding. The netlink API will bind the dma-buf torx queues on the netdevice. On the binding, the dma_buf_attach&amp; dma_buf_map_attachment will occur. The entries in the sg_table frommapping will be inserted into a genpool to make it readyfor allocation.The chunks in the genpool are owned by a dmabuf_chunk_owner struct whichholds the dma-buf offset of the base of the chunk and the dma_addr ofthe chunk. Both are needed to use allocations that come from this chunk.We create a new type that represents an allocation from the genpool:net_iov. We setup the net_iov allocation size in thegenpool to PAGE_SIZE for simplicity: to match the PAGE_SIZE normallyallocated by the page pool and given to the drivers.The user can unbind the dmabuf from the netdevice by closing the netlinksocket that established the binding. We do this so that the binding isautomatically unbound even if the userspace process crashes.The binding and unbinding leaves an indicator in struct netdev_rx_queuethat the given queue is bound, and the binding is actuated by resettingthe rx queue using the queue API.The netdev_dmabuf_binding struct is refcounted, and releases itsresources only when all the refs are released.Signed-off-by: Willem de Bruijn &lt;willemb@google.com&gt;Signed-off-by: Kaiyuan Zhang &lt;kaiyuanz@google.com&gt;Signed-off-by: Mina Almasry &lt;almasrymina@google.com&gt;Reviewed-by: Pavel Begunkov &lt;asml.silence@gmail.com&gt; # excluding netlinkAcked-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;Reviewed-by: Jakub Kicinski &lt;kuba@kernel.org&gt;Link: https://patch.msgid.link/20240910171458.219195-4-almasrymina@google.comSigned-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;

            List of files:
            /linux-6.15/net/Kconfig</description>
        <pubDate>Tue, 10 Sep 2024 17:14:47 +0000</pubDate>
        <dc:creator>Mina Almasry &lt;almasrymina@google.com&gt;</dc:creator>
    </item>
<item>
        <title>f750dfe8 - ethtool: provide customized dim profile management</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/net/Kconfig#f750dfe8</link>
        <description>ethtool: provide customized dim profile managementThe NetDIM library, currently leveraged by an array of NICs, deliversexcellent acceleration benefits. Nevertheless, NICs vary significantlyin their dim profile list prerequisites.Specifically, virtio-net backends may present diverse sw or hw deviceimplementation, making a one-size-fits-all parameter list impractical.On Alibaba Cloud, the virtio DPU&apos;s performance under the default DIMprofile falls short of expectations, partly due to a mismatch inparameter configuration.I also noticed that ice/idpf/ena and other NICs have customizedprofilelist or placed some restrictions on dim capabilities.Motivated by this, I tried adding new params for &quot;ethtool -C&quot; that providesa per-device control to modify and access a device&apos;s interrupt parameters.Usage========The target NIC is named ethx.Assume that ethx only declares support for rx profile setting(with DIM_PROFILE_RX flag set in profile_flags) and supports modificationof usec and pkt fields.1. Query the currently customized list of the device$ ethtool -c ethx...rx-profile:{.usec =   1, .pkts = 256, .comps = n/a,},{.usec =   8, .pkts = 256, .comps = n/a,},{.usec =  64, .pkts = 256, .comps = n/a,},{.usec = 128, .pkts = 256, .comps = n/a,},{.usec = 256, .pkts = 256, .comps = n/a,}tx-profile:   n/a2. Tune$ ethtool -C ethx rx-profile 1,1,n_2,n,n_3,3,n_4,4,n_n,5,n&quot;n&quot; means do not modify this field.$ ethtool -c ethx...rx-profile:{.usec =   1, .pkts =   1, .comps = n/a,},{.usec =   2, .pkts = 256, .comps = n/a,},{.usec =   3, .pkts =   3, .comps = n/a,},{.usec =   4, .pkts =   4, .comps = n/a,},{.usec = 256, .pkts =   5, .comps = n/a,}tx-profile:   n/a3. HintIf the device does not support some type of customized dim profiles,the corresponding &quot;n/a&quot; will display.If the &quot;n/a&quot; field is being modified, -EOPNOTSUPP will be reported.Signed-off-by: Heng Qi &lt;hengqi@linux.alibaba.com&gt;Reviewed-by: Simon Horman &lt;horms@kernel.org&gt;Link: https://patch.msgid.link/20240621101353.107425-4-hengqi@linux.alibaba.comSigned-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;

            List of files:
            /linux-6.15/net/Kconfig</description>
        <pubDate>Fri, 21 Jun 2024 10:13:51 +0000</pubDate>
        <dc:creator>Heng Qi &lt;hengqi@linux.alibaba.com&gt;</dc:creator>
    </item>
<item>
        <title>9b6a30fe - net: allow rps/rfs related configs to be switched</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/net/Kconfig#9b6a30fe</link>
        <description>net: allow rps/rfs related configs to be switchedAfter John Sperbeck reported a compile error if the CONFIG_RFS_ACCELis off, I found that I cannot easily enable/disable the configbecause of lack of the prompt when using &apos;make menuconfig&apos;. Therefore,I decided to change rps/rfc related configs altogether.Signed-off-by: Jason Xing &lt;kernelxing@tencent.com&gt;Link: https://lore.kernel.org/r/20240605022932.33703-1-kerneljasonxing@gmail.comSigned-off-by: Paolo Abeni &lt;pabeni@redhat.com&gt;

            List of files:
            /linux-6.15/net/Kconfig</description>
        <pubDate>Wed, 05 Jun 2024 02:29:32 +0000</pubDate>
        <dc:creator>Jason Xing &lt;kernelxing@tencent.com&gt;</dc:creator>
    </item>
<item>
        <title>768cf841 - net: add IEEE 802.1q specific helpers</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/net/Kconfig#768cf841</link>
        <description>net: add IEEE 802.1q specific helpersIEEE 802.1q specification provides recommendation and examples which canbe used as good default values for different drivers.This patch implements mapping examples documented in IEEE 802.1Q-2022 inAnnex I &quot;I.3 Traffic type to traffic class mapping&quot; and IETF DSCP namingand mapping DSCP to Traffic Type inspired by RFC8325.This helpers will be used in followup patches for dsa/microchip DCBimplementation.Signed-off-by: Oleksij Rempel &lt;o.rempel@pengutronix.de&gt;Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;

            List of files:
            /linux-6.15/net/Kconfig</description>
        <pubDate>Fri, 03 May 2024 13:13:42 +0000</pubDate>
        <dc:creator>Oleksij Rempel &lt;o.rempel@pengutronix.de&gt;</dc:creator>
    </item>
<item>
        <title>9f06f87f - net: skbuff: generalize the skb-&gt;decrypted bit</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/net/Kconfig#9f06f87f</link>
        <description>net: skbuff: generalize the skb-&gt;decrypted bitThe -&gt;decrypted bit can be reused for other crypto protocols.Remove the direct dependency on TLS, add helpers to clean upthe ifdefs leaking out everywhere.Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;Reviewed-by: David Ahern &lt;dsahern@kernel.org&gt;Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;

            List of files:
            /linux-6.15/net/Kconfig</description>
        <pubDate>Wed, 03 Apr 2024 20:21:39 +0000</pubDate>
        <dc:creator>Jakub Kicinski &lt;kuba@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>ea7f3cfa - net: bql: allow the config to be disabled</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/net/Kconfig#ea7f3cfa</link>
        <description>net: bql: allow the config to be disabledIt is impossible to disable BQL individually today, since there is noprompt for the Kconfig entry, so, the BQL is always enabled if SYSFS isenabled.Create a prompt entry for BQL, so, it could be enabled or disabled atbuild time independently of SYSFS.Signed-off-by: Breno Leitao &lt;leitao@debian.org&gt;Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;

            List of files:
            /linux-6.15/net/Kconfig</description>
        <pubDate>Thu, 15 Feb 2024 17:05:07 +0000</pubDate>
        <dc:creator>Breno Leitao &lt;leitao@debian.org&gt;</dc:creator>
    </item>
<item>
        <title>98e20e5e - bpfilter: remove bpfilter</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/net/Kconfig#98e20e5e</link>
        <description>bpfilter: remove bpfilterbpfilter was supposed to convert iptables filtering rules intoBPF programs on the fly, from the kernel, through a usermodehelper. The base code for the UMH was introduced in 2018, andcouple of attempts (2, 3) tried to introduce the BPF programgenerate features but were abandoned.bpfilter now sits in a kernel tree unused and unusable, occasionallycausing confusion amongst Linux users (4, 5).As bpfilter is now developed in a dedicated repository on GitHub (6),it was suggested a couple of times this year (LSFMM/BPF 2023,LPC 2023) to remove the deprecated kernel part of the project. Thisis the purpose of this patch.[1]: https://lore.kernel.org/lkml/20180522022230.2492505-1-ast@kernel.org/[2]: https://lore.kernel.org/bpf/20210829183608.2297877-1-me@ubique.spb.ru/#t[3]: https://lore.kernel.org/lkml/20221224000402.476079-1-qde@naccy.de/[4]: https://dxuuu.xyz/bpfilter.html[5]: https://github.com/linuxkit/linuxkit/pull/3904[6]: https://github.com/facebook/bpfilterSigned-off-by: Quentin Deslandes &lt;qde@naccy.de&gt;Link: https://lore.kernel.org/r/20231226130745.465988-1-qde@naccy.deSigned-off-by: Alexei Starovoitov &lt;ast@kernel.org&gt;

            List of files:
            /linux-6.15/net/Kconfig</description>
        <pubDate>Tue, 26 Dec 2023 13:07:42 +0000</pubDate>
        <dc:creator>Quentin Deslandes &lt;qde@naccy.de&gt;</dc:creator>
    </item>
<item>
        <title>b3098d32 - net: add skb_segment kunit test</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/net/Kconfig#b3098d32</link>
        <description>net: add skb_segment kunit testAdd unit testing for skb segment. This function is exercised by manydifferent code paths, such as GSO_PARTIAL or GSO_BY_FRAGS, linear(with or without head_frag), frags or frag_list skbs, etc.It is infeasible to manually run tests that cover all code paths whenmaking changes. The long and complex function also makes it hard toestablish through analysis alone that a patch has no unintendedside-effects.Add code coverage through kunit regression testing. Introduce kunitinfrastructure for tests under net/core, and add this first test.This first skb_segment test exercises a simple case: a linear skb.Follow-on patches will parametrize the test and add more variants.Tested: Built and ran the test with    make ARCH=um mrproper    ./tools/testing/kunit/kunit.py run \        --kconfig_add CONFIG_NET=y \        --kconfig_add CONFIG_DEBUG_KERNEL=y \        --kconfig_add CONFIG_DEBUG_INFO=y \        --kconfig_add=CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y \        net_core_gsoSigned-off-by: Willem de Bruijn &lt;willemb@google.com&gt;Reviewed-by: Florian Westphal &lt;fw@strlen.de&gt;Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;

            List of files:
            /linux-6.15/net/Kconfig</description>
        <pubDate>Mon, 09 Oct 2023 14:41:51 +0000</pubDate>
        <dc:creator>Willem de Bruijn &lt;willemb@google.com&gt;</dc:creator>
    </item>
<item>
        <title>1dab4713 - appletalk: remove ipddp driver</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/net/Kconfig#1dab4713</link>
        <description>appletalk: remove ipddp driverAfter the cops driver is removed, ipddp is now the onlyCONFIG_DEV_APPLETALK but as far as I can tell, this also has no usersand can be removed, making appletalk support purely based on ethertalk,using ethernet hardware.Link: https://lore.kernel.org/netdev/e490dd0c-a65d-4acf-89c6-c06cb48ec880@app.fastmail.com/Link: https://lore.kernel.org/netdev/9cac4fbd-9557-b0b8-54fa-93f0290a6fb8@schmorgal.com/Cc: Doug Brown &lt;doug@schmorgal.com&gt;Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;Acked-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;Link: https://lore.kernel.org/r/20231009141139.1766345-1-arnd@kernel.orgSigned-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;

            List of files:
            /linux-6.15/net/Kconfig</description>
        <pubDate>Mon, 09 Oct 2023 14:10:28 +0000</pubDate>
        <dc:creator>Arnd Bergmann &lt;arnd@arndb.de&gt;</dc:creator>
    </item>
<item>
        <title>e420bed0 - bpf: Add fd-based tcx multi-prog infra with link support</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/net/Kconfig#e420bed0</link>
        <description>bpf: Add fd-based tcx multi-prog infra with link supportThis work refactors and adds a lightweight extension (&quot;tcx&quot;) to the tc BPFingress and egress data path side for allowing BPF program management basedon fds via bpf() syscall through the newly added generic multi-prog API.The main goal behind this work which we also presented at LPC [0] last yearand a recent update at LSF/MM/BPF this year [3] is to support long-awaitedBPF link functionality for tc BPF programs, which allows for a model of safeownership and program detachment.Given the rise in tc BPF users in cloud native environments, this becomesnecessary to avoid hard to debug incidents either through stale leftoverprograms or 3rd party applications accidentally stepping on each others toes.As a recap, a BPF link represents the attachment of a BPF program to a BPFhook point. The BPF link holds a single reference to keep BPF program alive.Moreover, hook points do not reference a BPF link, only the application&apos;sfd or pinning does. A BPF link holds meta-data specific to attachment andimplements operations for link creation, (atomic) BPF program update,detachment and introspection. The motivation for BPF links for tc BPF programsis multi-fold, for example:  - From Meta: &quot;It&apos;s especially important for applications that are deployed    fleet-wide and that don&apos;t &quot;control&quot; hosts they are deployed to. If such    application crashes and no one notices and does anything about that, BPF    program will keep running draining resources or even just, say, dropping    packets. We at FB had outages due to such permanent BPF attachment    semantics. With fd-based BPF link we are getting a framework, which allows    safe, auto-detachable behavior by default, unless application explicitly    opts in by pinning the BPF link.&quot; [1]  - From Cilium-side the tc BPF programs we attach to host-facing veth devices    and phys devices build the core datapath for Kubernetes Pods, and they    implement forwarding, load-balancing, policy, EDT-management, etc, within    BPF. Currently there is no concept of &apos;safe&apos; ownership, e.g. we&apos;ve recently    experienced hard-to-debug issues in a user&apos;s staging environment where    another Kubernetes application using tc BPF attached to the same prio/handle    of cls_bpf, accidentally wiping all Cilium-based BPF programs from underneath    it. The goal is to establish a clear/safe ownership model via links which    cannot accidentally be overridden. [0,2]BPF links for tc can co-exist with non-link attachments, and the semantics arein line also with XDP links: BPF links cannot replace other BPF links, BPFlinks cannot replace non-BPF links, non-BPF links cannot replace BPF links andlastly only non-BPF links can replace non-BPF links. In case of Cilium, thiswould solve mentioned issue of safe ownership model as 3rd party applicationswould not be able to accidentally wipe Cilium programs, even if they are notBPF link aware.Earlier attempts [4] have tried to integrate BPF links into core tc machineryto solve cls_bpf, which has been intrusive to the generic tc kernel API withextensions only specific to cls_bpf and suboptimal/complex since cls_bpf couldbe wiped from the qdisc also. Locking a tc BPF program in place this way, isgetting into layering hacks given the two object models are vastly different.We instead implemented the tcx (tc &apos;express&apos;) layer which is an fd-based tc BPFattach API, so that the BPF link implementation blends in naturally similar toother link types which are fd-based and without the need for changing core tcinternal APIs. BPF programs for tc can then be successively migrated from classiccls_bpf to the new tc BPF link without needing to change the program&apos;s sourcecode, just the BPF loader mechanics for attaching is sufficient.For the current tc framework, there is no change in behavior with this changeand neither does this change touch on tc core kernel APIs. The gist of thispatch is that the ingress and egress hook have a lightweight, qdisc-lessextension for BPF to attach its tc BPF programs, in other words, a minimalentry point for tc BPF. The name tcx has been suggested from discussion ofearlier revisions of this work as a good fit, and to more easily differ betweenthe classic cls_bpf attachment and the fd-based one.For the ingress and egress tcx points, the device holds a cache-friendly arraywith program pointers which is separated from control plane (slow-path) data.Earlier versions of this work used priority to determine ordering and expressionof dependencies similar as with classic tc, but it was challenged that forsomething more future-proof a better user experience is required. Hence thisresulted in the design and development of the generic attach/detach/query APIfor multi-progs. See prior patch with its discussion on the API design. tcx isthe first user and later we plan to integrate also others, for example, onecandidate is multi-prog support for XDP which would benefit and have the same&apos;look and feel&apos; from API perspective.The goal with tcx is to have maximum compatibility to existing tc BPF programs,so they don&apos;t need to be rewritten specifically. Compatibility to call intoclassic tcf_classify() is also provided in order to allow successive migrationor both to cleanly co-exist where needed given its all one logical tc layer andthe tcx plus classic tc cls/act build one logical overall processing pipeline.tcx supports the simplified return codes TCX_NEXT which is non-terminating (goto next program) and terminating ones with TCX_PASS, TCX_DROP, TCX_REDIRECT.The fd-based API is behind a static key, so that when unused the code is alsonot entered. The struct tcx_entry&apos;s program array is currently static, butcould be made dynamic if necessary at a point in future. The a/b pair swapdesign has been chosen so that for detachment there are no allocations whichotherwise could fail.The work has been tested with tc-testing selftest suite which all passes, aswell as the tc BPF tests from the BPF CI, and also with Cilium&apos;s L4LB.Thanks also to Nikolay Aleksandrov and Martin Lau for in-depth early reviewsof this work.  [0] https://lpc.events/event/16/contributions/1353/  [1] https://lore.kernel.org/bpf/CAEf4BzbokCJN33Nw_kg82sO=xppXnKWEncGTWCTB9vGCmLB6pw@mail.gmail.com  [2] https://colocatedeventseu2023.sched.com/event/1Jo6O/tales-from-an-ebpf-programs-murder-mystery-hemanth-malla-guillaume-fournier-datadog  [3] http://vger.kernel.org/bpfconf2023_material/tcx_meta_netdev_borkmann.pdf  [4] https://lore.kernel.org/bpf/20210604063116.234316-1-memxor@gmail.comSigned-off-by: Daniel Borkmann &lt;daniel@iogearbox.net&gt;Acked-by: Jakub Kicinski &lt;kuba@kernel.org&gt;Link: https://lore.kernel.org/r/20230719140858.13224-3-daniel@iogearbox.netSigned-off-by: Alexei Starovoitov &lt;ast@kernel.org&gt;

            List of files:
            /linux-6.15/net/Kconfig</description>
        <pubDate>Wed, 19 Jul 2023 14:08:52 +0000</pubDate>
        <dc:creator>Daniel Borkmann &lt;daniel@iogearbox.net&gt;</dc:creator>
    </item>
<item>
        <title>c857946a - net/core: Enable socket busy polling on -RT</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/net/Kconfig#c857946a</link>
        <description>net/core: Enable socket busy polling on -RTBusy polling is currently not allowed on PREEMPT_RT, because it disablespreemption while invoking the NAPI callback. It is not possible to acquiresleeping locks with disabled preemption. For details see commit20ab39d13e2e (&quot;net/core: disable NET_RX_BUSY_POLL on PREEMPT_RT&quot;).However, strict cyclic and/or low latency network applications may prefer busypolling e.g., using AF_XDP instead of interrupt driven communication.The preempt_disable() is used in order to prevent the poll_owner and NAPI ownerto be preempted while owning the resource to ensure progress. Netpoll performsbusy polling in order to acquire the lock. NAPI is locked by setting theNAPIF_STATE_SCHED flag. There is no busy polling if the flag is set and the&quot;owner&quot; is preempted. Worst case is that the task owning NAPI gets preempted andNAPI processing stalls.  This is can be prevented by properly prioritising thetasks within the system.Allow RX_BUSY_POLL on PREEMPT_RT if NETPOLL is disabled. Don&apos;t disablepreemption on PREEMPT_RT within the busy poll loop.Tested on x86 hardware with v6.1-RT and v6.3-RT on Intel i225 (igc) withAF_XDP/ZC sockets configured to run in busy polling mode.Suggested-by: Sebastian Andrzej Siewior &lt;bigeasy@linutronix.de&gt;Signed-off-by: Kurt Kanzenbach &lt;kurt@linutronix.de&gt;Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;

            List of files:
            /linux-6.15/net/Kconfig</description>
        <pubDate>Tue, 23 May 2023 11:15:18 +0000</pubDate>
        <dc:creator>Kurt Kanzenbach &lt;kurt@linutronix.de&gt;</dc:creator>
    </item>
<item>
        <title>88232ec1 - net/handshake: Add Kunit tests for the handshake consumer API</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/net/Kconfig#88232ec1</link>
        <description>net/handshake: Add Kunit tests for the handshake consumer APIThese verify the API contracts and help exercise lifetime rules forconsumer sockets and handshake_req structures.One way to run these tests:./tools/testing/kunit/kunit.py run --kunitconfig ./net/handshake/.kunitconfigSigned-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;

            List of files:
            /linux-6.15/net/Kconfig</description>
        <pubDate>Mon, 17 Apr 2023 14:32:39 +0000</pubDate>
        <dc:creator>Chuck Lever &lt;chuck.lever@oracle.com&gt;</dc:creator>
    </item>
<item>
        <title>3b3009ea - net/handshake: Create a NETLINK service for handling handshake requests</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/net/Kconfig#3b3009ea</link>
        <description>net/handshake: Create a NETLINK service for handling handshake requestsWhen a kernel consumer needs a transport layer security session, itfirst needs a handshake to negotiate and establish a session. Thisnegotiation can be done in user space via one of the severalexisting library implementations, or it can be done in the kernel.No in-kernel handshake implementations yet exist. In their absence,we add a netlink service that can:a. Notify a user space daemon that a handshake is needed.b. Once notified, the daemon calls the kernel back via this   netlink service to get the handshake parameters, including an   open socket on which to establish the session.c. Once the handshake is complete, the daemon reports the   session status and other information via a second netlink   operation. This operation marks that it is safe for the   kernel to use the open socket and the security session   established there.The notification service uses a multicast group. Each handshakemechanism (eg, tlshd) adopts its own group number so that thehandshake services are completely independent of one another. Thekernel can then tell via netlink_has_listeners() whether a handshakeservice is active and prepared to handle a handshake request.A new netlink operation, ACCEPT, acts like accept(2) in that itinstantiates a file descriptor in the user space daemon&apos;s fd table.If this operation is successful, the reply carries the fd number,which can be treated as an open and ready file descriptor.While user space is performing the handshake, the kernel keeps itsmuddy paws off the open socket. A second new netlink operation,DONE, indicates that the user space daemon is finished with thesocket and it is safe for the kernel to use again. The operationalso indicates whether a session was established successfully.Signed-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;

            List of files:
            /linux-6.15/net/Kconfig</description>
        <pubDate>Mon, 17 Apr 2023 14:32:26 +0000</pubDate>
        <dc:creator>Chuck Lever &lt;chuck.lever@oracle.com&gt;</dc:creator>
    </item>
<item>
        <title>3948b059 - net: introduce a config option to tweak MAX_SKB_FRAGS</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/net/Kconfig#3948b059</link>
        <description>net: introduce a config option to tweak MAX_SKB_FRAGSCurrently, MAX_SKB_FRAGS value is 17.For standard tcp sendmsg() traffic, no big deal because tcp_sendmsg()attempts order-3 allocations, stuffing 32768 bytes per frag.But with zero copy, we use order-0 pages.For BIG TCP to show its full potential, we add a config optionto be able to fit up to 45 segments per skb.This is also needed for BIG TCP rx zerocopy, as zerocopy currentlydoes not support skbs with frag list.We have used MAX_SKB_FRAGS=45 value for years at Google beforewe deployed 4K MTU, with no adverse effect, other thana recent issue in mlx4, fixed in commit 26782aad00cc(&quot;net/mlx4: MLX4_TX_BOUNCE_BUFFER_SIZE depends on MAX_SKB_FRAGS&quot;)Back then, goal was to be able to receive full size (64KB) GROpackets without the frag_list overhead.Note that /proc/sys/net/core/max_skb_frags can also be used to limitthe number of fragments TCP can use in tx packets.By default we keep the old/legacy value of 17 until we getmore coverage for the updated values.Sizes of struct skb_shared_info on 64bit archesMAX_SKB_FRAGS | sizeof(struct skb_shared_info):==============================================         17     320         21     320+64  = 384         25     320+128 = 448         29     320+192 = 512         33     320+256 = 576         37     320+320 = 640         41     320+384 = 704         45     320+448 = 768This inflation might cause problems for drivers assuming they could packboth the incoming packet (for MTU=1500) and skb_shared_info in half a page,using build_skb().v3: fix build error when CONFIG_NET=nv2: fix two build errors assuming MAX_SKB_FRAGS was &quot;unsigned long&quot;Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;Reviewed-by: Nikolay Aleksandrov &lt;razor@blackwall.org&gt;Reviewed-by: Jason Xing &lt;kerneljasonxing@gmail.com&gt;Link: https://lore.kernel.org/r/20230323162842.1935061-1-eric.dumazet@gmail.comSigned-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;

            List of files:
            /linux-6.15/net/Kconfig</description>
        <pubDate>Thu, 23 Mar 2023 16:28:42 +0000</pubDate>
        <dc:creator>Eric Dumazet &lt;edumazet@google.com&gt;</dc:creator>
    </item>
<item>
        <title>1202cdd6 - Remove DECnet support from kernel</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/net/Kconfig#1202cdd6</link>
        <description>Remove DECnet support from kernelDECnet is an obsolete network protocol that receives more attentionfrom kernel janitors than users. It belongs in computer protocolhistory museum not in Linux kernel.It has been &quot;Orphaned&quot; in kernel since 2010. The iproute2 supportfor DECnet was dropped in 5.0 release. The documentation link onSourceforge says it is abandoned there as well.Leave the UAPI alone to keep userspace programs compiling.This means that there is still an empty neighbour tablefor AF_DECNET.The table of /proc/sys/net entries was updated to matchcurrent directories and reformatted to be alphabetical.Signed-off-by: Stephen Hemminger &lt;stephen@networkplumber.org&gt;Acked-by: David Ahern &lt;dsahern@kernel.org&gt;Acked-by: Nikolay Aleksandrov &lt;razor@blackwall.org&gt;Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;

            List of files:
            /linux-6.15/net/Kconfig</description>
        <pubDate>Thu, 18 Aug 2022 00:43:21 +0000</pubDate>
        <dc:creator>Stephen Hemminger &lt;stephen@networkplumber.org&gt;</dc:creator>
    </item>
<item>
        <title>8610037e - page_pool: Add allocation stats</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/net/Kconfig#8610037e</link>
        <description>page_pool: Add allocation statsAdd per-pool statistics counters for the allocation path of a page pool.These stats are incremented in softirq context, so no locking or per-cpuvariables are needed.This code is disabled by default and a kernel config option is provided forusers who wish to enable them.The statistics added are:	- fast: successful fast path allocations	- slow: slow path order-0 allocations	- slow_high_order: slow path high order allocations	- empty: ptr ring is empty, so a slow path allocation was forced.	- refill: an allocation which triggered a refill of the cache	- waive: pages obtained from the ptr ring that cannot be added to	  the cache due to a NUMA mismatch.Signed-off-by: Joe Damato &lt;jdamato@fastly.com&gt;Acked-by: Jesper Dangaard Brouer &lt;brouer@redhat.com&gt;Reviewed-by: Ilias Apalodimas &lt;ilias.apalodimas@linaro.org&gt;Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;

            List of files:
            /linux-6.15/net/Kconfig</description>
        <pubDate>Wed, 02 Mar 2022 07:55:47 +0000</pubDate>
        <dc:creator>Joe Damato &lt;jdamato@fastly.com&gt;</dc:creator>
    </item>
<item>
        <title>2c193f2c - net: kunit: add a test for dev_addr_lists</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/net/Kconfig#2c193f2c</link>
        <description>net: kunit: add a test for dev_addr_listsAdd a KUnit test for the dev_addr API.Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;

            List of files:
            /linux-6.15/net/Kconfig</description>
        <pubDate>Fri, 19 Nov 2021 14:21:55 +0000</pubDate>
        <dc:creator>Jakub Kicinski &lt;kuba@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>20ab39d1 - net/core: disable NET_RX_BUSY_POLL on PREEMPT_RT</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/net/Kconfig#20ab39d1</link>
        <description>net/core: disable NET_RX_BUSY_POLL on PREEMPT_RTnapi_busy_loop() disables preemption and performs a NAPI poll. We can&apos;t acquiresleeping locks with disabled preemption which would be required while__napi_poll() invokes the callback of the driver.A threaded interrupt performing the NAPI-poll can be preempted on PREEMPT_RT.A RT thread on another CPU may observe NAPIF_STATE_SCHED bit set and busy-spinuntil it is cleared or its spin time runs out. Given it is the task with thehighest priority it will never observe the NEED_RESCHED bit set.In this case the time is better spent by simply sleeping.The NET_RX_BUSY_POLL is disabled by default (the system wide sysctls forpoll/read are set to zero). Disabling NET_RX_BUSY_POLL on PREEMPT_RT to avoidwrong locking context in case it is used.Signed-off-by: Sebastian Andrzej Siewior &lt;bigeasy@linutronix.de&gt;Link: https://lore.kernel.org/r/20211001145841.2308454-1-bigeasy@linutronix.deSigned-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;

            List of files:
            /linux-6.15/net/Kconfig</description>
        <pubDate>Fri, 01 Oct 2021 14:58:41 +0000</pubDate>
        <dc:creator>Sebastian Andrzej Siewior &lt;bigeasy@linutronix.de&gt;</dc:creator>
    </item>
</channel>
</rss>
