1. 30 Jul, 2022 11 commits
    • Edward Cree's avatar
      sfc: insert default MAE rules to connect VFs to representors · 67ab160e
      Edward Cree authored
      Default rules are low-priority switching rules which the hardware uses
       in the absence of higher-priority rules.  Each representor requires a
       corresponding rule matching traffic from its representee VF and
       delivering to the PF (where a check on INGRESS_MPORT in
       __ef100_rx_packet() will direct it to the representor).  No rule is
       required in the reverse direction, because representor TX uses a TX
       override descriptor to bypass the MAE and deliver directly to the VF.
      Since inserting any rule into the MAE disables the firmware's own
       default rules, also insert a pair of rules to connect the PF to the
       physical network port and vice-versa.
      Signed-off-by: default avatarEdward Cree <ecree.xilinx@gmail.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      67ab160e
    • Edward Cree's avatar
      sfc: receive packets from EF100 VFs into representors · f50e8fcd
      Edward Cree authored
      If the source m-port of a packet in __ef100_rx_packet() is a VF,
       hand off the packet to the corresponding representor with
       efx_ef100_rep_rx_packet().
      Signed-off-by: default avatarEdward Cree <ecree.xilinx@gmail.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      f50e8fcd
    • Edward Cree's avatar
      sfc: check ef100 RX packets are from the wire · 08d0b16e
      Edward Cree authored
      If not, for now drop them and warn.  A subsequent patch will look up
       the source m-port to try and find a representor to deliver them to.
      Signed-off-by: default avatarEdward Cree <ecree.xilinx@gmail.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      08d0b16e
    • Edward Cree's avatar
      sfc: determine wire m-port at EF100 PF probe time · 6f6838aa
      Edward Cree authored
      Traffic delivered to the (MAE admin) PF could be from either the wire
       or a VF.  The INGRESS_MPORT field of the RX prefix distinguishes these;
       base_mport is the value this field will have for traffic from the wire
       (which should be delivered to the PF's netdevice, not a representor).
      Signed-off-by: default avatarEdward Cree <ecree.xilinx@gmail.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      6f6838aa
    • Edward Cree's avatar
      sfc: ef100 representor RX top half · 9fe00c80
      Edward Cree authored
      Representor RX uses a NAPI context driven by a 'fake interrupt': when
       the parent PF receives a packet destined for the representor, it adds
       it to an SKB list (efv->rx_list), and schedules NAPI if the 'fake
       interrupt' is primed.  The NAPI poll then pulls packets off this list
       and feeds them to the stack with netif_receive_skb_list().
      This scheme allows us to decouple representor RX from the parent PF's
       RX fast-path.
      This patch implements the 'top half', which builds an SKB, copies data
       into it from the RX buffer (which can then be released), adds it to
       the queue and fires the 'fake interrupt' if necessary.
      Signed-off-by: default avatarEdward Cree <ecree.xilinx@gmail.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      9fe00c80
    • Edward Cree's avatar
      sfc: ef100 representor RX NAPI poll · 69bb5fa7
      Edward Cree authored
      This patch adds the 'bottom half' napi->poll routine for representor RX.
      See the next patch (with the top half) for an explanation of the 'fake
       interrupt' scheme used to drive this NAPI context.
      Signed-off-by: default avatarEdward Cree <ecree.xilinx@gmail.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      69bb5fa7
    • Edward Cree's avatar
      sfc: plumb ef100 representor stats · a95115c4
      Edward Cree authored
      Implement .ndo_get_stats64() method to read values out of struct
       efx_rep_sw_stats.
      Signed-off-by: default avatarEdward Cree <ecree.xilinx@gmail.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      a95115c4
    • Dan Carpenter's avatar
      net: marvell: prestera: uninitialized variable bug · 71930846
      Dan Carpenter authored
      The "ret" variable needs to be initialized at the start.
      
      Fixes: 52323ef7 ("net: marvell: prestera: add phylink support")
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Link: https://lore.kernel.org/r/YuKeBBuGtsmd7QdT@kiliSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      71930846
    • Yu Zhe's avatar
      dn_route: replace "jiffies-now>0" with "jiffies!=now" · 0f14a835
      Yu Zhe authored
      Use "jiffies != now" to replace "jiffies - now > 0" to make
      code more readable. We want to put a limit on how long the
      loop can run for before rescheduling.
      Signed-off-by: default avatarYu Zhe <yuzhe@nfschina.com>
      Link: https://lore.kernel.org/r/20220729061712.22666-1-yuzhe@nfschina.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      0f14a835
    • Jakub Kicinski's avatar
      Merge tag 'wireless-next-2022-07-29' of... · ff4970b1
      Jakub Kicinski authored
      Merge tag 'wireless-next-2022-07-29' of git://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next
      
      Kalle Valo says:
      
      ====================
      wireless-next patches for v5.20
      
      Fourth set of patches for v5.20, last few patches before the merge
      window. Only driver changes this time, mostly just fixes and cleanup.
      
      Major changes:
      
      brcmfmac
       - support brcm,ccode-map-trivial DT property
      
      wcn36xx
       - add debugfs file to show firmware feature strings
      
      * tag 'wireless-next-2022-07-29' of git://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next: (36 commits)
        wifi: rtw88: check the return value of alloc_workqueue()
        wifi: rtw89: 8852a: adjust IMR for SER L1
        wifi: rtw89: 8852a: update RF radio A/B R56
        wifi: wcn36xx: Add debugfs entry to read firmware feature strings
        wifi: wcn36xx: Move capability bitmap to string translation function to firmware.c
        wifi: wcn36xx: Move firmware feature bit storage to dedicated firmware.c file
        wifi: wcn36xx: Rename clunky firmware feature bit enum
        wifi: brcmfmac: prevent double-free on hardware-reset
        wifi: brcmfmac: support brcm,ccode-map-trivial DT property
        dt-bindings: bcm4329-fmac: add optional brcm,ccode-map-trivial
        wifi: brcmfmac: Replace default (not configured) MAC with a random MAC
        wifi: brcmfmac: Add brcmf_c_set_cur_etheraddr() helper
        wifi: brcmfmac: Remove #ifdef guards for PM related functions
        wifi: brcmfmac: use strreplace() in brcmf_of_probe()
        wifi: plfxlc: Use eth_zero_addr() to assign zero address
        wifi: wilc1000: use existing iftype variable to store the interface type
        wifi: wilc1000: add 'isinit' flag for SDIO bus similar to SPI
        wifi: wilc1000: cancel the connect operation during interface down
        wifi: wilc1000: get correct length of string WID from received config packet
        wifi: wilc1000: set station_info flag only when signal value is valid
        ...
      ====================
      
      Link: https://lore.kernel.org/r/20220729192832.A5011C433D6@smtp.kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      ff4970b1
    • Jakub Kicinski's avatar
      Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next · 5fc7c588
      Jakub Kicinski authored
      Andrii Nakryiko says:
      
      ====================
       bpf-next 2022-07-29
      
      We've added 22 non-merge commits during the last 4 day(s) which contain
      a total of 27 files changed, 763 insertions(+), 120 deletions(-).
      
      The main changes are:
      
      1) Fixes to allow setting any source IP with bpf_skb_set_tunnel_key() helper,
         from Paul Chaignon.
      
      2) Fix for bpf_xdp_pointer() helper when doing sanity checking, from Joanne Koong.
      
      3) Fix for XDP frame length calculation, from Lorenzo Bianconi.
      
      4) Libbpf BPF_KSYSCALL docs improvements and fixes to selftests to accommodate
         s390x quirks with socketcall(), from Ilya Leoshkevich.
      
      5) Allow/denylist and CI configs additions to selftests/bpf to improve BPF CI,
         from Daniel Müller.
      
      6) BPF trampoline + ftrace follow up fixes, from Song Liu and Xu Kuohai.
      
      7) Fix allocation warnings in netdevsim, from Jakub Kicinski.
      
      8) bpf_obj_get_opts() libbpf API allowing to provide file flags, from Joe Burton.
      
      9) vsnprintf usage fix in bpf_snprintf_btf(), from Fedor Tokarev.
      
      10) Various small fixes and clean ups, from Daniel Müller, Rongguang Wei,
          Jörn-Thorben Hinz, Yang Li.
      
      * https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next: (22 commits)
        bpf: Remove unneeded semicolon
        libbpf: Add bpf_obj_get_opts()
        netdevsim: Avoid allocation warnings triggered from user space
        bpf: Fix NULL pointer dereference when registering bpf trampoline
        bpf: Fix test_progs -j error with fentry/fexit tests
        selftests/bpf: Bump internal send_signal/send_signal_tracepoint timeout
        bpftool: Don't try to return value from void function in skeleton
        bpftool: Replace sizeof(arr)/sizeof(arr[0]) with ARRAY_SIZE macro
        bpf: btf: Fix vsnprintf return value check
        libbpf: Support PPC in arch_specific_syscall_pfx
        selftests/bpf: Adjust vmtest.sh to use local kernel configuration
        selftests/bpf: Copy over libbpf configs
        selftests/bpf: Sort configuration
        selftests/bpf: Attach to socketcall() in test_probe_user
        libbpf: Extend BPF_KSYSCALL documentation
        bpf, devmap: Compute proper xdp_frame len redirecting frames
        bpf: Fix bpf_xdp_pointer return pointer
        selftests/bpf: Don't assign outer source IP to host
        bpf: Set flow flag to allow any source IP in bpf_tunnel_key
        geneve: Use ip_tunnel_key flow flags in route lookups
        ...
      ====================
      
      Link: https://lore.kernel.org/r/20220729230948.1313527-1-andrii@kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      5fc7c588
  2. 29 Jul, 2022 29 commits