12 May, 2021

1 commit

  • Probably because the original file was pre-processed by some
    tool, both i40e.rst and iavf.rst files are using this character:

    - U+2013 ('–'): EN DASH

    meaning an hyphen when calling a command line application, which
    is obviously wrong. So, replace them by an hyphen, ensuring
    that it will be properly displayed as literals when building
    the documentation.

    Signed-off-by: Mauro Carvalho Chehab
    Link: https://lore.kernel.org/r/95eb2a48d0ca3528780ce0dfce64359977fa8cb3.1620744606.git.mchehab+huawei@kernel.org
    Signed-off-by: Jonathan Corbet

    Mauro Carvalho Chehab
     

29 Apr, 2021

1 commit

  • Daniel Borkmann says:

    ====================
    pull-request: bpf-next 2021-04-28

    The main changes are:

    1) Add link detach and following re-attach for trampolines, from Jiri Olsa.

    2) Use kernel's "binary printf" lib for formatted output BPF helpers (which
    avoids the needs for variadic argument handling), from Florent Revest.

    3) Fix verifier 64 to 32 bit min/max bound propagation, from Daniel Borkmann.

    4) Convert cpumap to use netif_receive_skb_list(), from Lorenzo Bianconi.

    5) Add generic batched-ops support to percpu array map, from Pedro Tammela.

    6) Various CO-RE relocation BPF selftests fixes, from Andrii Nakryiko.

    7) Misc doc rst fixes, from Hengqi Chen.

    * https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next:
    bpf, selftests: Update array map tests for per-cpu batched ops
    bpf: Add batched ops support for percpu array
    bpf: Implement formatted output helpers with bstr_printf
    seq_file: Add a seq_bprintf function
    bpf, docs: Fix literal block for example code
    bpf, cpumap: Bulk skb using netif_receive_skb_list
    bpf: Fix propagation of 32 bit unsigned bounds from 64 bit bounds
    bpf: Lock bpf_trace_printk's tmp buf before it is written to
    selftests/bpf: Fix core_reloc test runner
    selftests/bpf: Fix field existence CO-RE reloc tests
    selftests/bpf: Fix BPF_CORE_READ_BITFIELD() macro
    libbpf: Support BTF_KIND_FLOAT during type compatibility checks in CO-RE
    selftests/bpf: Add remaining ASSERT_xxx() variants
    selftests/bpf: Use ASSERT macros in lsm test
    selftests/bpf: Test that module can't be unloaded with attached trampoline
    selftests/bpf: Add re-attach test to lsm test
    selftests/bpf: Add re-attach test to fexit_test
    selftests/bpf: Add re-attach test to fentry_test
    bpf: Allow trampoline re-attach for tracing and lsm programs
    ====================

    Link: https://lore.kernel.org/r/20210427233740.22238-1-daniel@iogearbox.net
    Signed-off-by: Jakub Kicinski

    Jakub Kicinski
     

28 Apr, 2021

1 commit


27 Apr, 2021

1 commit


24 Apr, 2021

1 commit

  • Some parts of the documentation may lead the reader to think that the
    socket's own frames are always received when CAN_RAW_RECV_OWN_MSGS is
    enabled, but all frames are subject to filtering.

    As explained by Marc Kleine-Budde:

    On TX complete of a CAN frame it's pushed into the RX path of the
    networking stack, along with the information of the originating socket.

    Then the CAN frame is delivered into AF_CAN, where it is passed on to
    all registered receivers depending on filters. One receiver is the
    sending socket in CAN_RAW. Then in CAN_RAW the it is checked if the
    sending socket has RECV_OWN_MSGS enabled.

    Link: https://lore.kernel.org/r/20210420191212.42753-1-erik@flodin.me
    Signed-off-by: Erik Flodin
    Signed-off-by: Marc Kleine-Budde

    Erik Flodin
     

20 Apr, 2021

1 commit

  • ETHTOOL_MSG_MODULE_EEPROM_GET is missing from the list of messages.
    ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY is sadly a rather long name
    so we need to adjust column length.

    v2: use spaces (Andrew)

    Fixes: c781ff12a2f3 ("ethtool: Allow network drivers to dump arbitrary EEPROM data")
    Signed-off-by: Jakub Kicinski
    Signed-off-by: David S. Miller

    Jakub Kicinski
     

18 Apr, 2021

1 commit


17 Apr, 2021

2 commits


16 Apr, 2021

1 commit

  • Similarly to pause statistics add stats for FEC.

    The IEEE standard mandates two sets of counters:
    - 30.5.1.1.17 aFECCorrectedBlocks
    - 30.5.1.1.18 aFECUncorrectableBlocks
    where block is a block of bits FEC operates on.
    Each of these counters is defined per lane (PCS instance).

    Multiple vendors provide number of corrected _bits_ rather
    than/as well as blocks.

    This set adds the 2 standard-based block counters and a extra
    one for corrected bits.

    Counters are exposed to user space via netlink in new attributes.
    Each attribute carries an array of u64s, first element is
    the total count, and the following ones are a per-lane break down.

    Much like with pause stats the operation will not fail when driver
    does not implement the get_fec_stats callback (nor can the driver
    fail the operation by returning an error). If stats can't be
    reported the relevant attributes will be empty.

    Signed-off-by: Jakub Kicinski
    Signed-off-by: David S. Miller

    Jakub Kicinski
     

15 Apr, 2021

2 commits

  • Let's have all seg6 sysctl at the same place.

    Fixes: a6dc6670cd7e ("ipv6: sr: Add documentation for seg_flowlabel sysctl")
    Signed-off-by: Nicolas Dichtel
    Signed-off-by: David S. Miller

    Nicolas Dichtel
     
  • Currently each packet inserted in eswitch is tagged with a internal
    metadata to indicate source vport. Metadata tagging is not always
    needed. Metadata insertion is needed for multi-port RoCE, failover
    between representors and stacked devices. In many other cases,
    metadata enablement is not needed.

    Metadata insertion slows down the packet processing rate of the E-switch
    when it is in switchdev mode.

    Below table show performance gain with metadata disabled for VXLAN
    offload rules in both SMFS and DMFS steering mode on ConnectX-5 device.

    ----------------------------------------------
    | steering | metadata | pkt size | rx pps |
    | mode | | | (million) |
    ----------------------------------------------
    | smfs | disabled | 128Bytes | 42 |
    ----------------------------------------------
    | smfs | enabled | 128Bytes | 36 |
    ----------------------------------------------
    | dmfs | disabled | 128Bytes | 42 |
    ----------------------------------------------
    | dmfs | enabled | 128Bytes | 36 |
    ----------------------------------------------

    Hence, allow user to disable metadata using driver specific devlink
    parameter. Metadata setting of the eswitch is applicable only for the
    switchdev mode.

    Example to show and disable metadata before changing eswitch mode:
    $ devlink dev param show pci/0000:06:00.0 name esw_port_metadata
    pci/0000:06:00.0:
    name esw_port_metadata type driver-specific
    values:
    cmode runtime value true

    $ devlink dev param set pci/0000:06:00.0 \
    name esw_port_metadata value false cmode runtime

    $ devlink dev eswitch set pci/0000:06:00.0 mode switchdev

    Signed-off-by: Parav Pandit
    Reviewed-by: Roi Dayan
    Reviewed-by: Vu Pham
    Signed-off-by: Saeed Mahameed
    ---
    changelog:
    v1->v2:
    - added performance numbers in commit log
    - updated commit log and documentation for switchdev mode
    - added explicit note on when user can disable metadata in
    documentation

    Parav Pandit
     

12 Apr, 2021

1 commit

  • Define get_module_eeprom_by_page() ethtool callback and implement
    netlink infrastructure.

    get_module_eeprom_by_page() allows network drivers to dump a part of
    module's EEPROM specified by page and bank numbers along with offset and
    length. It is effectively a netlink replacement for get_module_info()
    and get_module_eeprom() pair, which is needed due to emergence of
    complex non-linear EEPROM layouts.

    Signed-off-by: Vladyslav Tarasiuk
    Signed-off-by: David S. Miller

    Vladyslav Tarasiuk
     

10 Apr, 2021

1 commit

  • Conflicts:

    MAINTAINERS
    - keep Chandrasekar
    drivers/net/ethernet/mellanox/mlx5/core/en_main.c
    - simple fix + trust the code re-added to param.c in -next is fine
    include/linux/bpf.h
    - trivial
    include/linux/ethtool.h
    - trivial, fix kdoc while at it
    include/linux/skmsg.h
    - move to relevant place in tcp.c, comment re-wrapped
    net/core/skmsg.c
    - add the sk = sk // sk = NULL around calls
    net/tipc/crypto.c
    - trivial

    Signed-off-by: Jakub Kicinski

    Jakub Kicinski
     

07 Apr, 2021

2 commits


06 Apr, 2021

1 commit

  • X.25 Layer 3 (the Packet Layer) expects layer 2 to provide a reliable
    datalink service such that no packets are reordered or dropped. And
    X.25 Layer 2 (the LAPB layer) is indeed designed to provide such service.

    However, this reliability is not preserved when a driver calls "netif_rx"
    to deliver the received packets to layer 3, because "netif_rx" will put
    the packets into per-CPU queues before they are delivered to layer 3.
    If there are multiple CPUs, the order of the packets may not be preserved.
    The per-CPU queues may also drop packets if there are too many.

    Therefore, we should not call "netif_rx" to let it queue the packets.
    Instead, we should use our own queue that won't reorder or drop packets.

    This patch changes all X.25 drivers to use their own queues instead of
    calling "netif_rx". The patch also documents this requirement in the
    "x25-iface" documentation.

    Cc: Martin Schiller
    Signed-off-by: Xie He
    Signed-off-by: David S. Miller

    Xie He
     

02 Apr, 2021

1 commit

  • If there is overlapp between ip_local_port_range and ip_local_reserved_ports with a huge reserved block, it will affect probability of selecting ephemeral ports, see file net/ipv4/inet_hashtables.c:723

    int __inet_hash_connect(
    ...
    for (i = 0; i < remaining; i += 2, port += 2) {
    if (unlikely(port >= high))
    port -= remaining;
    if (inet_is_local_reserved_port(net, port))
    continue;

    E.g. if there is reserved block of 10000 ports, two ports right after this block will be 5000 more likely selected than others.
    If this was intended, we can/should add note into documentation as proposed in this commit, otherwise we should think about different solution. One option could be mapping table of continuous port ranges. Second option could be letting user to modify step (port+=2) in above loop, e.g. using new sysctl parameter.

    Signed-off-by: Otto Hollmann
    Signed-off-by: David S. Miller

    Otto Hollmann
     

01 Apr, 2021

1 commit

  • Add FEC API to netlink.

    This is not a 1-to-1 conversion.

    FEC settings already depend on link modes to tell user which
    modes are supported. Take this further an use link modes for
    manual configuration. Old struct ethtool_fecparam is still
    used to talk to the drivers, so we need to translate back
    and forth. We can revisit the internal API if number of FEC
    encodings starts to grow.

    Enforce only one active FEC bit (by using a bit position
    rather than another mask).

    Signed-off-by: Jakub Kicinski
    Signed-off-by: David S. Miller

    Jakub Kicinski
     

31 Mar, 2021

1 commit


30 Mar, 2021

1 commit


26 Mar, 2021

2 commits


25 Mar, 2021

1 commit

  • This patch updates the flowtable documentation to describe recent
    enhancements:

    - Offload action is available after the first packets go through the
    classic forwarding path.
    - IPv4 and IPv6 are supported. Only TCP and UDP layer 4 are supported at
    this stage.
    - Tuple has been augmented to track VLAN id and PPPoE session id.
    - Bridge and IP forwarding integration, including bridge VLAN filtering
    support.
    - Hardware offload support.
    - Describe the [OFFLOAD] and [HW_OFFLOAD] tags in the conntrack table
    listing.
    - Replace 'flow offload' by 'flow add' in example rulesets (preferred
    syntax).
    - Describe existing cache limitations.

    Signed-off-by: Pablo Neira Ayuso
    Signed-off-by: David S. Miller

    Pablo Neira Ayuso
     

21 Mar, 2021

1 commit


18 Mar, 2021

5 commits

  • Since commit 9d5ef190e561 ("net: dsa: automatically bring up DSA master
    when opening user port"), DSA manages the administrative status of the
    host port automatically. Update the configuration steps to reflect this.

    Signed-off-by: Vladimir Oltean
    Signed-off-by: David S. Miller

    Vladimir Oltean
     
  • "make htmldocs" complains:
    configuration.rst:165: WARNING: duplicate label networking/dsa/configuration:single port, other instance in (...)
    configuration.rst:212: WARNING: duplicate label networking/dsa/configuration:bridge, other instance in (...)
    configuration.rst:252: WARNING: duplicate label networking/dsa/configuration:gateway, other instance in (...)

    And for good reason, because the "single port", "bridge" and "gateway"
    use cases are replicated twice, once for normal taggers and twice for
    DSA_TAG_PROTO_NONE. So when trying to reference these sections via a
    hyperlink such as:

    https://www.kernel.org/doc/html/latest/networking/dsa/configuration.html#single-port

    it will always reference the first occurrence, and never the second one.

    This change makes the "single port", "bridge" and "gateway"
    configuration examples consistent with the formatting used in the
    "Configuration showcases" subsection.

    Signed-off-by: Vladimir Oltean
    Signed-off-by: David S. Miller

    Vladimir Oltean
     
  • "make htmldocs" produces these warnings:
    Documentation/networking/dsa/dsa.rst:468: WARNING: Unexpected indentation.
    Documentation/networking/dsa/dsa.rst:477: WARNING: Block quote ends without a blank line; unexpected unindent.

    Fixes: 8411abbcad8e ("Documentation: networking: dsa: mention integration with devlink")
    Reported-by: Stephen Rothwell
    Signed-off-by: Vladimir Oltean
    Signed-off-by: David S. Miller

    Vladimir Oltean
     
  • Even though this is clear from the context, it is nice to actually be
    grammatically correct.

    Fixes: 0f22ad45f47c ("Documentation: networking: switchdev: clarify device driver behavior")
    Reported-by: Ido Schimmel
    Signed-off-by: Vladimir Oltean
    Signed-off-by: David S. Miller

    Vladimir Oltean
     
  • It looks like "make htmldocs" produces this warning:
    Documentation/networking/switchdev.rst:482: WARNING: Unexpected indentation.

    Fixes: 0f22ad45f47c ("Documentation: networking: switchdev: clarify device driver behavior")
    Reported-by: Stephen Rothwell
    Signed-off-by: Vladimir Oltean
    Signed-off-by: David S. Miller

    Vladimir Oltean
     

17 Mar, 2021

10 commits