1. 19 Apr, 2020 21 commits
  2. 18 Apr, 2020 7 commits
    • Vladimir Oltean's avatar
      enetc: permit configuration of rx-vlan-filter with ethtool · 7070eea5
      Vladimir Oltean authored
      Each ENETC station interface (SI) has a VLAN filter list and a port
      flag (PSIPVMR) by which it can be put in "VLAN promiscuous" mode, which
      enables the reception of VLAN-tagged traffic even if it is not in the
      VLAN filtering list.
      
      Currently the handling of this setting works like this: the port starts
      off as VLAN promiscuous, then it switches to enabling VLAN filtering as
      soon as the first VLAN is installed in its filter via
      .ndo_vlan_rx_add_vid. In practice that does not work out very well,
      because more often than not, the first VLAN to be installed is out of
      the control of the user: the 8021q module, if loaded, adds its rule for
      802.1p (VID 0) traffic upon bringing the interface up.
      
      What the user is currently seeing in ethtool is this:
      ethtool -k eno2
      rx-vlan-filter: on [fixed]
      
      which doesn't match the intention of the code, but the practical reality
      of having the 8021q module install its VID which has the side-effect of
      turning on VLAN filtering in this driver. All in all, a slightly
      confusing experience.
      
      So instead of letting this driver switch the VLAN filtering state by
      itself, just wire it up with the rx-vlan-filter feature from ethtool,
      and let it be user-configurable just through that knob, except for one
      case, see below.
      
      In promiscuous mode, it is more intuitive that all traffic is received,
      including VLAN tagged traffic. It appears that it is necessary to set
      the flag in PSIPVMR for that to be the case, so VLAN promiscuous mode is
      also temporarily enabled. On exit from promiscuous mode, the setting
      made by ethtool is restored.
      Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
      Reviewed-by: default avatarClaudiu Manoil <claudiu.manoil@nxp.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7070eea5
    • Vladimir Oltean's avatar
      net: mscc: ocelot: deal with problematic MAC_ETYPE VCAP IS2 rules · 89f9ffd3
      Vladimir Oltean authored
      By default, the VCAP IS2 will produce a single match for each frame, on
      the most specific classification.
      
      Example: a ping packet (ICMP over IPv4 over Ethernet) sent from an IP
      address of 10.0.0.1 and a MAC address of 96:18:82:00:04:01 will match
      this rule:
      
      tc filter add dev swp0 ingress protocol ipv4 \
      	flower skip_sw src_ip 10.0.0.1 action drop
      
      but not this one:
      
      tc filter add dev swp0 ingress \
      	flower skip_sw src_mac 96:18:82:00:04:01 action drop
      
      Currently the driver does not really warn the user in any way about
      this, and the behavior is rather strange anyway.
      
      The current patch is a workaround to force matches on MAC_ETYPE keys
      (DMAC and SMAC) for all packets irrespective of higher layer protocol.
      The setting is made at the port level.
      
      Of course this breaks all other non-src_mac and non-dst_mac matches, so
      rule exclusivity checks have been added to the driver, in order to never
      have rules of both types on any ingress port.
      
      The bits that discard higher-level protocol information are set only
      once a MAC_ETYPE rule is added to a filter block, and only for the ports
      that are bound to that filter block. Then all further non-MAC_ETYPE
      rules added to that filter block should be denied by the ports bound to
      it.
      Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      89f9ffd3
    • David S. Miller's avatar
      Merge branch '1GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue · f89370d4
      David S. Miller authored
      Jeff Kirsher says:
      
      ====================
      1GbE Intel Wired LAN Driver Updates 2020-04-17
      
      This series contains updates to e1000e and igc only.
      
      Sasha adds partial generic segmentation offload (GSO partial) support to
      the igc driver.  Also added support for translating taprio schedules
      into i225 cycles in igc.  Did clean up of dead code or unused defines in
      the igc driver.  Refactored the code to avoid forward declarations where
      possible.  Enables the NETIF_F_HW_TC flag for igc by default.
      
      Vinicius adds support for ETF offloading using the similar approach that
      taprio offload used.
      
      Kees Cook fixes a clang warning in the e1000e driver by moving the
      declared variable either into the switch case that uses the variable or
      lift them up into the main function body, to help the compiler.
      
      Andre fixed some register overwriting when dumping registers via ethtool
      for igc driver.  Also fixed support for ethtool Network Flow
      Classification (NFC) queue redirection by adding the missing code needed
      to enable the queue selection feature from Receive Address High (RAH)
      register.  Cleans up code to remove the code bits designed to support
      tc-flower filters, since this client part does not support it.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f89370d4
    • Florian Fainelli's avatar
      net: phy: broadcom: Add support for BCM53125 internal PHYs · 123aff2a
      Florian Fainelli authored
      BCM53125 has internal Gigabit PHYs which support interrupts as well as
      statistics, make it possible to configure both of those features with a
      PHY driver entry.
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      123aff2a
    • Florian Fainelli's avatar
      net: phy: mdio-bcm-iproc: Do not show kernel pointer · c6f5f242
      Florian Fainelli authored
      Displaying the virtual address at which the MDIO base register address
      has been mapped is not useful and is not visible with pointer hashing in
      place, replace the message with something indicating successful
      registration instead.
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c6f5f242
    • Florian Fainelli's avatar
      net: dsa: b53: per-port interrupts are optional · 007fc3c0
      Florian Fainelli authored
      Make use of platform_get_irq_byname_optional() to avoid printing
      messages on the kernel console that interrupts cannot be found.
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      007fc3c0
    • David Bauer's avatar
      net: phy: at803x: add support for AR8032 PHY · 5800091a
      David Bauer authored
      This adds support for the Qualcomm Atheros AR8032 Fast Ethernet PHY.
      
      It shares many similarities with the already supported AR8030 PHY but
      additionally supports MII connection to the MAC.
      Signed-off-by: default avatarDavid Bauer <mail@david-bauer.net>
      Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5800091a
  3. 17 Apr, 2020 12 commits