1. 30 Mar, 2016 3 commits
    • Alexander Duyck's avatar
      ixgbe: Fix ATR so that it correctly handles IPv6 extension headers · e2873d43
      Alexander Duyck authored
      The ATR code was assuming that it would be able to use tcp_hdr for
      every TCP frame that came through.  However this isn't the case as it
      is possible for a frame to arrive that is TCP but sent through something
      like a raw socket.  As a result the driver was setting up bad filters in
      which tcp_hdr was really pointing to the network header so the data was
      all invalid.
      
      In order to correct this I have added a bit of parsing logic that will
      determine the TCP header location based off of the network header and
      either the offset in the case of the IPv4 header, or a walk through the
      IPv6 extension headers until it encounters the header that indicates
      IPPROTO_TCP.  In addition I have added checks to verify that the lowest
      protocol provided is recognized as IPv4 or IPv6 to help mitigate raw
      sockets using ETH_P_ALL from having ATR applied to them.
      Signed-off-by: default avatarAlexander Duyck <aduyck@mirantis.com>
      Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      e2873d43
    • Alexander Duyck's avatar
      ixgbe: Store VXLAN port number in network order · 9f12df90
      Alexander Duyck authored
      The VXLAN port number should be stored in network order instead of in host
      order as it is accessed from the hot-path in ATR.  This way we can avoid
      having to do any byte swaps in order to validate the port number.
      
      I moved the vxlan_port value into a hole in the read-mostly region of the
      adapter struct.  This way it should be in a warm cache-line instead of in
      some isolated region in memory when it needs to be accessed.
      
      In addition I went through and stripped a bunch of unneeded ifdef flags
      since having an extra variable present doesn't really hurt anything and
      makes the code easier to read.  I also went through and dropped the
      NETIF_F_RXCSUM flag which was being set in hw_encap_features but provides
      no value as the flag is not evaluated in the Rx path.
      Signed-off-by: default avatarAlexander Duyck <aduyck@mirantis.com>
      Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      9f12df90
    • Tushar Dave's avatar
      ixgbe: Fix for RAR0 not being set to default MAC addr · 56768045
      Tushar Dave authored
      commit c9f53e63 ("ixgbe: Refactor MAC address configuration code")
      introduced code that doesn't set HW register RAR0 to default mac address
      but FF:FF:FF:FF:FF:FF. Due to this, ixgbe HW discards all incoming packets
      that doesn't have destination mac address equals to FF:FF:FF:FF:FF:FF.
      
      This commit sets RAR0 correctly to default HW mac address.
      Signed-off-by: default avatarTushar Dave <tushar.n.dave@oracle.com>
      Tested-by: default avatarSowmini Varadhan <sowmini.varadhan@oracle.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      56768045
  2. 29 Mar, 2016 1 commit
    • Bjørn Mork's avatar
      qmi_wwan: add "D-Link DWM-221 B1" device id · e84810c7
      Bjørn Mork authored
      Thomas reports:
      "Windows:
      
      00 diagnostics
      01 modem
      02 at-port
      03 nmea
      04 nic
      
      Linux:
      
      T:  Bus=02 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#=  4 Spd=480 MxCh= 0
      D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
      P:  Vendor=2001 ProdID=7e19 Rev=02.32
      S:  Manufacturer=Mobile Connect
      S:  Product=Mobile Connect
      S:  SerialNumber=0123456789ABCDEF
      C:  #Ifs= 6 Cfg#= 1 Atr=a0 MxPwr=500mA
      I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
      I:  If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
      I:  If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
      I:  If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
      I:  If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan
      I:  If#= 5 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage"
      Reported-by: default avatarThomas Schäfer <tschaefer@t-online.de>
      Signed-off-by: default avatarBjørn Mork <bjorn@mork.no>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e84810c7
  3. 28 Mar, 2016 19 commits
  4. 25 Mar, 2016 5 commits
  5. 24 Mar, 2016 12 commits