1. 19 Apr, 2013 6 commits
    • Patrick McHardy's avatar
      net: vlan: add 802.1ad support · 8ad227ff
      Patrick McHardy authored
      Add support for 802.1ad VLAN devices. This mainly consists of checking for
      ETH_P_8021AD in addition to ETH_P_8021Q in a couple of places and check
      offloading capabilities based on the used protocol.
      
      Configuration is done using "ip link":
      
      # ip link add link eth0 eth0.1000 \
      	type vlan proto 802.1ad id 1000
      # ip link add link eth0.1000 eth0.1000.1000 \
      	type vlan proto 802.1q id 1000
      
      52:54:00:12:34:56 > 92:b1:54:28:e4:8c, ethertype 802.1Q (0x8100), length 106: vlan 1000, p 0, ethertype 802.1Q, vlan 1000, p 0, ethertype IPv4, (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 84)
          20.1.0.2 > 20.1.0.1: ICMP echo request, id 3003, seq 8, length 64
      92:b1:54:28:e4:8c > 52:54:00:12:34:56, ethertype 802.1Q-QinQ (0x88a8), length 106: vlan 1000, p 0, ethertype 802.1Q, vlan 1000, p 0, ethertype IPv4, (tos 0x0, ttl 64, id 47944, offset 0, flags [none], proto ICMP (1), length 84)
          20.1.0.1 > 20.1.0.2: ICMP echo reply, id 3003, seq 8, length 64
      Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8ad227ff
    • Patrick McHardy's avatar
      net: vlan: add protocol argument to packet tagging functions · 86a9bad3
      Patrick McHardy authored
      Add a protocol argument to the VLAN packet tagging functions. In case of HW
      tagging, we need that protocol available in the ndo_start_xmit functions,
      so it is stored in a new field in the skb. The new field fits into a hole
      (on 64 bit) and doesn't increase the sks's size.
      Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      86a9bad3
    • Patrick McHardy's avatar
      net: vlan: prepare for 802.1ad support · 1fd9b1fc
      Patrick McHardy authored
      Make the encapsulation protocol value a property of VLAN devices and change
      the device lookup functions to take the protocol value into account.
      Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1fd9b1fc
    • Patrick McHardy's avatar
      net: vlan: prepare for 802.1ad VLAN filtering offload · 80d5c368
      Patrick McHardy authored
      Change the rx_{add,kill}_vid callbacks to take a protocol argument in
      preparation of 802.1ad support. The protocol argument used so far is
      always htons(ETH_P_8021Q).
      Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      80d5c368
    • Patrick McHardy's avatar
      net: vlan: rename NETIF_F_HW_VLAN_* feature flags to NETIF_F_HW_VLAN_CTAG_* · f646968f
      Patrick McHardy authored
      Rename the hardware VLAN acceleration features to include "CTAG" to indicate
      that they only support CTAGs. Follow up patches will introduce 802.1ad
      server provider tagging (STAGs) and require the distinction for hardware not
      supporting acclerating both.
      Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f646968f
    • David S. Miller's avatar
      Merge branch 'intel' · c2962897
      David S. Miller authored
      Jeff Kirsher says:
      
      ====================
      This series contains updates to ixgbe and igb.
      
      The ixgbe changes contains 2 patches from the community, one which is a
      fix from akepner to fix a issue where netif_running() in shutdown was
      not done under rtnl_lock.  The other community fix from Joe Perches
      cleans up #ifdef CONFIG_DEBUG_FS which is no longer necessary.  The
      last ixgbe patch, from Jacob Keller, adds support for WoL on 82559
      SFP+ LOM.
      
      The remaining patches are against igb, 10 of which were previously
      submitted in a pull request where changes were requested.
      
      The following igb patches:
       igb: Support for 100base-fx SFP
       igb: Support to read and export SFF-8472/8079 data
      are v2 based on feedback from Dan Carpenter and Ben Hutchings in
      the previous pull request.
      
      The largest set of changes are in my patch to cleanup code comments
      and whitespace to align the igb driver with the networking style of
      code comments.  While cleaning up the code comments, fixed several
      other whitespace/checkpatch.pl code formatting issues.
      
      Other notable igb patches are EEE capable devices query the PHY to
      determine what the link partner is advertising, added support for
      i354 devices and added support for spoofchk config.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c2962897
  2. 18 Apr, 2013 27 commits
  3. 17 Apr, 2013 7 commits
    • David S. Miller's avatar
      Merge branch 'tipc-ipoib' · 2551c405
      David S. Miller authored
      Patrick McHardy says:
      
      ====================
      The following patchset adds support for running TIPC over InfiniBand.
      The patchset consists of three parts (+ a minor fix for the ethernet media
      type):
      
      - Preparation: removal of an the unused str2addr callback and move of the
        bcast_addr from struct tipc_media to struct tipc_bearer. This is necessary
        because InfiniBand doesn't have a fixed broadcast address like ethernet,
        so it needs to be initialized with the device's broadcast address when
        the bearer is enabled
      
      - Introduction of a TIPC InfiniBand media type. A new media type is needed
        to deal with the different address sizes
      
      - Support for ETH_P_TIPC in IPoIB
      
      Since the last posting I've addressed all feedback I received and rebased
      to the current net-next tree.
      
      I consider these patches ready for merging. Since they mainly affect TIPC
      code, I'd propose to have them either go through the TIPC tree or through
      Dave directly (not sure how TIPC patches are managed).
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2551c405
    • Patrick McHardy's avatar
      IPoIB: add support for TIPC protocol · dc850b0e
      Patrick McHardy authored
      Support TIPC in the IPoIB driver. Since IPoIB now keeps track of its own
      neighbour entries and doesn't require the packet to have a dst_entry
      anymore, the only necessary changes are to:
      
      - not drop multicast TIPC packets because of the unknown ethernet type
      - handle unicast TIPC packets similar to IPv4/IPv6 unicast packets
      
      in ipoib_start_xmit().
      
      An alternative would be to remove all ethertype limitations since they're
      not necessary anymore, all TIPC needs to know about is ARP and RARP since
      it wants to always perform "path find", even if a path is already known.
      Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      dc850b0e
    • Patrick McHardy's avatar
      tipc: add InfiniBand media type · a29a194a
      Patrick McHardy authored
      Add InfiniBand media type based on the ethernet media type.
      
      The only real difference is that in case of InfiniBand, we need the entire
      20 bytes of space reserved for media addresses, so the TIPC media type ID is
      not explicitly stored in the packet payload.
      
      Sample output of tipc-config:
      
      # tipc-config -v -addr -netid -nt=all -p -m -b -n -ls
      
      node address: <10.1.4>
      current network id: 4711
      Type       Lower      Upper      Port Identity              Publication Scope
      0          167776257  167776257  <10.1.1:1855512577>        1855512578  cluster
                 167776260  167776260  <10.1.4:1216454657>        1216454658  zone
      1          1          1          <10.1.4:1216479235>        1216479236  node
      Ports:
      1216479235: bound to {1,1}
      1216454657: bound to {0,167776260}
      Media:
      eth
      ib
      Bearers:
      ib:ib0
      Nodes known:
      <10.1.1>: up
      Link <broadcast-link>
        Window:20 packets
        RX packets:0 fragments:0/0 bundles:0/0
        TX packets:0 fragments:0/0 bundles:0/0
        RX naks:0 defs:0 dups:0
        TX naks:0 acks:0 dups:0
        Congestion bearer:0 link:0  Send queue max:0 avg:0
      
      Link <10.1.4:ib0-10.1.1:ib0>
        ACTIVE  MTU:2044  Priority:10  Tolerance:1500 ms  Window:50 packets
        RX packets:80 fragments:0/0 bundles:0/0
        TX packets:40 fragments:0/0 bundles:0/0
        TX profile sample:22 packets  average:54 octets
        0-64:100% -256:0% -1024:0% -4096:0% -16384:0% -32768:0% -66000:0%
        RX states:410 probes:213 naks:0 defs:0 dups:0
        TX states:410 probes:197 naks:0 acks:0 dups:0
        Congestion bearer:0 link:0  Send queue max:1 avg:0
      Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a29a194a
    • Patrick McHardy's avatar
      tipc: set skb->protocol in eth_media packet transmission · 76f5c6f3
      Patrick McHardy authored
      The skb->protocol field is used by packet classifiers and for AF_PACKET
      cooked format, TIPC needs to set it properly.
      
      Fixes packet classification and ethertype of 0x0000 in cooked captures:
      
      Out 20:c9:d0:43:12:d9 ethertype Unknown (0x0000), length 56:
      	0x0000:  5b50 0028 0000 30d4 0100 1000 0100 1001  [P.(..0.........
      	0x0010:  0000 03e8 0000 0001 20c9 d043 12d9 0000  ...........C....
      	0x0020:  0000 0000 0000 0000                      ........
      Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      76f5c6f3
    • Patrick McHardy's avatar
      tipc: move bcast_addr from struct tipc_media to struct tipc_bearer · 8aeb89f2
      Patrick McHardy authored
      Some network protocols, like InfiniBand, don't have a fixed broadcast
      address but one that depends on the configuration. Move the bcast_addr
      to struct tipc_bearer and initialize it with the broadcast address of
      the network device when the bearer is enabled.
      Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8aeb89f2
    • Patrick McHardy's avatar
      ccc4ba2e
    • Bjørn Mork's avatar
      net: cdc_ether: silence sparse __CHECK_ENDIAN__ warning · a6bda459
      Bjørn Mork authored
      Remove warning introduced by commit 418fc57a ("usbnet: cdc-ether: apply
      usbnet_link_change"):
      
         CHECK   .../drivers/net/usb/cdc_ether.c
       .../drivers/net/usb/cdc_ether.c:409:46: warning: incorrect type in argument 2 (different base types)
       .../drivers/net/usb/cdc_ether.c:409:46:    expected bool [unsigned] [usertype] <noident>
       .../drivers/net/usb/cdc_ether.c:409:46:    got restricted __le16 [usertype] wValue
      
      Cc: Ming Lei <ming.lei@canonical.com>
      Signed-off-by: default avatarBjørn Mork <bjorn@mork.no>
      Acked-by: default avatarMing Lei <ming.lei@canonical.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a6bda459