1. 15 Jul, 2014 3 commits
  2. 14 Jul, 2014 17 commits
  3. 11 Jul, 2014 13 commits
    • Himangi Saraogi's avatar
      ipv6: Use BUG_ON · e3f0b86b
      Himangi Saraogi authored
      The semantic patch that makes this transformation is as follows:
      
      // <smpl>
      @@ expression e; @@
      -if (e) BUG();
      +BUG_ON(e);
      // </smpl>
      Signed-off-by: default avatarHimangi Saraogi <himangi774@gmail.com>
      Acked-by: default avatarJulia Lawall <julia.lawall@lip6.fr>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e3f0b86b
    • Himangi Saraogi's avatar
      net: ipv6: Use BUG_ON · 8242fc33
      Himangi Saraogi authored
      The semantic patch that makes the transformation is as follows:
      
      // <smpl>
      @@ expression e; @@
      -if (e) BUG();
      +BUG_ON(e);
      // </smpl>
      Signed-off-by: default avatarHimangi Saraogi <himangi774@gmail.com>
      Acked-by: default avatarJulia Lawall <julia.lawall@lip6.fr>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8242fc33
    • Jiri Pirko's avatar
      ipv6: addrconf: implement address generation modes · bc91b0f0
      Jiri Pirko authored
      This patch introduces a possibility for userspace to set various (so far
      two) modes of generating addresses. This is useful for example for
      NetworkManager because it can set the mode to NONE and take care of link
      local addresses itself. That allow it to have the interface up,
      monitoring carrier but still don't have any addresses on it.
      
      One more use-case by Dan Williams:
      <quote>
      WWAN devices often have their LL address provided by the firmware of the
      device, which sometimes refuses to respond to incorrect LL addresses
      when doing DHCPv6 or IPv6 ND.  The kernel cannot generate the correct LL
      address for two reasons:
      
      1) WWAN pseudo-ethernet interfaces often construct a fake MAC address,
      or read a meaningless MAC address from the firmware.  Thus the EUI64 and
      the IPv6LL address the kernel assigns will be wrong.  The real LL
      address is often retrieved from the firmware with AT or proprietary
      commands.
      
      2) WWAN PPP interfaces receive their LL address from IPV6CP, not from
      kernel assignments.  Only after IPV6CP has completed do we know the LL
      address of the PPP interface and its peer.  But the kernel has already
      assigned an incorrect LL address to the interface.
      
      So being able to suppress the kernel LL address generation and assign
      the one retrieved from the firmware is less complicated and more robust.
      </quote>
      Signed-off-by: default avatarJiri Pirko <jiri@resnulli.us>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bc91b0f0
    • Arvid Brodin's avatar
      net/hsr: Remove left-over never-true conditional code. · 279f64b7
      Arvid Brodin authored
      MacAddressB is an array (unsigned char MacAddressB[ETH_ALEN]) and is allocated
      as a part of *node_dst (which is a struct hsr_node). So the condition is always
      false.
      
      Detected by Dan Carpenter.
      Signed-off-by: default avatarArvid Brodin <arvid.brodin@alten.se>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      279f64b7
    • David S. Miller's avatar
      Merge branch 'r8169_tso_ipv6' · 19278cab
      David S. Miller authored
      Hayes Wang says:
      
      ====================
      r8169: support IPv6
      
      The RTL8168C and the later chips support the hardware checksum
      for IPv6. Adjust some code and add the relative code.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      19278cab
    • hayeswang's avatar
      r8169: support IPv6 · e974604b
      hayeswang authored
      Support the IPv6 hw checksum for RTL8111C and later chips. Note
      that the hw has the limitation for the transport offset. The
      checksum must be calculated by sw, when the transport offset is
      out of the range which the hw accepts.
      Signed-off-by: default avatarHayes Wang <hayeswang@realtek.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e974604b
    • hayeswang's avatar
      r8169: use Giant Send · bdfa4ed6
      hayeswang authored
      Replace large send with giant send for TSO for RTL8111C and later ICs.
      The large send setting of the RTL8111DP is different from the other
      chips. However, the giant send setting is the same for all the chips
      which support it. Use the giant send to synchronize the settings.
      Signed-off-by: default avatarHayes Wang <hayeswang@realtek.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bdfa4ed6
    • hayeswang's avatar
      r8169: split rtl8169_tso_csum · 5888d3fc
      hayeswang authored
      According to the txd_version, split rtl8169_tso_csum() into
      rtl8169_tso_csum_v1() and rtl8169_tso_csum_v2().
      Signed-off-by: default avatarHayes Wang <hayeswang@realtek.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5888d3fc
    • Li RongQing's avatar
    • Stefan Sørensen's avatar
      dp83640: Adjust ptp event timestamps · a0077a9f
      Stefan Sørensen authored
        Event timestamp values should be adjusted by 3*reference clock period +
        11 ns = 35 ns to compensate for input path and synchronization delays.
      
      So subtract 35ns from event timestamps.
      Signed-off-by: default avatarStefan Sørensen <stefan.sorensen@spectralink.com>
      Acked-by: default avatarRichard Cochran <richardcochran@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a0077a9f
    • John W. Linville's avatar
      Merge branch 'master' of... · 95d01a66
      John W. Linville authored
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem
      95d01a66
    • David S. Miller's avatar
      Merge branch 'mvebu' · 5e6438db
      David S. Miller authored
      Ezequiel Garcia says:
      
      ====================
      Network driver for Armada 375 SoC
      
      This is the fourth round of the Armada 375 network support patchset. I've
      tried to address all the feedback provided for last version and I hope the
      driver looks better now.
      
      If there's nothing else to fix, we'd like to merge this for v3.17. The first
      patch should go through the network tree, and the other patches through
      the mvebu tree.
      
      Thanks a lot for all the great review, and feel free to comment some more!
      
      Changes from v3:
      
        * Further optimization of the MTU, MAC and ring parameter change to make
          it smoothier.
      
        * Lots of cleanups in the parser configuration code, most of them addressing
          the feedback from Francois. This include fixing: missing curly braces,
          excessive parenthesis, excessive scope, and making several functions
          more readable.
      
        * Removed the Rx/Tx queue number module parameter. There's no reason to
          use any other than the default hardware-defined value.
      
      Changes from v2:
      
        * Reworked mvpp2_prs_tcam_first_free() as suggested by Joe and Francois,
          to have a single loop instead of two.
      
        * Replaced mvpp2_cpu_interrupts_enable/disable(pp, cpu) with one function
          that enables/disable interrupts on all the CPUs at once.
      
        * Factor out Tx descriptor DMA unmap + descriptor put sequence to have
          more readable code, as suggested by Francois.
      
        * Remove redundant netif_running() checks in the ingress and egress path,
          as suggested by Francois.
      
        * Reworked ring parameter, MTU and MAC address setting to produce a
          more gentle modification of the parameter, and have a fallback in the
          event of a failure.
      
        * Fixed a percpu memory leak on error path, also noted by Francois.
      
        * Removed the usage of the legacy net_device irq field, requested by
          Francois.
      
        * Removed the unneeded multiple Tx port support. It was hardcoded to a single
          Tx port in the previous version so we decided to drop it and simplify the
          code.
      
        * Optimize the on_each_cpu() calls to clear the sent counters and the
          TX_DONE pkts coalescing setting. on_each_cpu is expensive so it's better
          to minize the calls to it.
      
      Changes from v1:
      
        * Marcin Wojtas is the author of the driver, so I fixed authorship
          for patch 1/3:
          "ethernet: Add new driver for Marvell Armada 375 network unit"
      
      This patchset adds a new network driver to support the network controller
      in Armada 375 SoC.
      
      The network interfaces share a common hardware unit called Packet Processor,
      which contains a common register space and per-port register spaces.
      
      The new network unit has different RXQ and TXQ management. The ports
      associate so-called per-port "logical queues" which are mapped to "physical
      queues". The latter are shared among the ports.
      
      Fo the egress part, the mapping for each port is predefined by hardware.
      The egress path incorporates so-called aggregation queues (one per CPU),
      from where the data is passed to the physical queues and then via prefetch
      buffer to the TxDMA.
      
      The ingress path has a Parser and Classifier (PnC) and a Buffer Manager (BM)
      whose usage is obligatory. We are only implementing a simple configuration
      for the Parser and Classifier, yet the code is considerably large.
      
      This network unit has other optional features like xPON, WoL, Hardware
      Forwarding, and more. This initial commit doesn't provide support for these.
      
      The mvpp2 network driver has been written by Marcin Wojtas and then reviewed
      and cleaned up by Ezequiel Garcia.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5e6438db
    • Marcin Wojtas's avatar
      ethernet: Add new driver for Marvell Armada 375 network unit · 3f518509
      Marcin Wojtas authored
      This commit adds a new network driver for the network controller in Marvell
      Armada 375 SoC.
      
      Given the controller is very different from the ones in the other Marvell
      SoCs that use the mv643xx_eth (Kirkwood, Orion, Discovery) and mvneta
      (Armada 370/38x/XP) drivers, a new driver is needed.
      Signed-off-by: default avatarMarcin Wojtas <mw@semihalf.com>
      [Ezequiel: coding style cleanup]
      Signed-off-by: default avatarEzequiel Garcia <ezequiel.garcia@free-electrons.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3f518509
  4. 10 Jul, 2014 7 commits
    • Li RongQing's avatar
      ipv6: fix the check when handle RA · b6428817
      Li RongQing authored
      d9333196(ipv6:  Allow accepting RA from local IP addresses.) made the wrong
      check, whether or not to accept RA with source-addr found on local machine, when
      accept_ra_from_local is 0.
      
      Fixes: d9333196(ipv6:  Allow accepting RA from local IP addresses.)
      Cc: Ben Greear <greearb@candelatech.com>
      Cc: Hannes Frederic Sowa <hannes@redhat.com>
      Signed-off-by: default avatarLi RongQing <roy.qing.li@gmail.com>
      Acked-by: default avatarHannes Frederic Sowa <hannes@stressinduktion.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b6428817
    • Varka Bhadram's avatar
      net: cpmac: fix in debug messages · ff32045e
      Varka Bhadram authored
      This patch fix the debug message format. This patch changes to the
      commit f160a2d0: net: cpmac: dynamic debug fixes
      
      When we use pr_debug()/netdev_dbg() new lines are inserting in b/w
      the values. The format when i use the printk()
      
      These formats used in skb dump and reg dump. This functions
      called from the entire code. So this will be enabled all the lines.
      Signed-off-by: default avatarVarka Bhadram <varkab@cdac.in>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ff32045e
    • John W. Linville's avatar
    • John W. Linville's avatar
    • David S. Miller's avatar
      Merge branch 'bridge-fdb-dump-filter' · 51b5bd19
      David S. Miller authored
      Jamal Hadi Salim says:
      
      ====================
      bridge: fdb dumping takes a filter device
      
      v7:
      Vxlan driver was not updated with new API. Found by DaveM
      
      v6:
      Missed checkpatch > 80 chars lines found by Varka Bhadram
      
      v5:
       Embarassing qlnic compile failure found by DaveM
      
      v4:
       Request from DaveM to use proper comment tagging and remove if-stmnt braces
      
      V3:
       Suggestion from Eric D. to use for_each_netdev
       Suggestion from Stephen H. to reduce level of indentation
      
      V2:
      Suggestions from Vlad
       Get rid of rcu read lock since rtnl_lock is being held
       simplify for readability
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      51b5bd19
    • Jamal Hadi Salim's avatar
      bridge: netlink dump interface at par with brctl · 5e6d2435
      Jamal Hadi Salim authored
      Actually better than brctl showmacs because we can filter by bridge
      port in the kernel.
      The current bridge netlink interface doesnt scale when you have many
      bridges each with large fdbs or even bridges with many bridge ports
      
      And now for the science non-fiction novel you have all been
      waiting for..
      
      //lets see what bridge ports we have
      root@moja-1:/configs/may30-iprt/bridge# ./bridge link show
      8: eth1 state DOWN : <BROADCAST,MULTICAST> mtu 1500 master br0 state
      disabled priority 32 cost 19
      17: sw1-p1 state DOWN : <BROADCAST,NOARP> mtu 1500 master br0 state
      disabled priority 32 cost 100
      
      // show all..
      root@moja-1:/configs/may30-iprt/bridge# ./bridge fdb show
      33:33:00:00:00:01 dev bond0 self permanent
      33:33:00:00:00:01 dev dummy0 self permanent
      33:33:00:00:00:01 dev ifb0 self permanent
      33:33:00:00:00:01 dev ifb1 self permanent
      33:33:00:00:00:01 dev eth0 self permanent
      01:00:5e:00:00:01 dev eth0 self permanent
      33:33:ff:22:01:01 dev eth0 self permanent
      02:00:00:12:01:02 dev eth1 vlan 0 master br0 permanent
      00:17:42:8a:b4:05 dev eth1 vlan 0 master br0 permanent
      00:17:42:8a:b4:07 dev eth1 self permanent
      33:33:00:00:00:01 dev eth1 self permanent
      33:33:00:00:00:01 dev gretap0 self permanent
      da:ac:46:27:d9:53 dev sw1-p1 vlan 0 master br0 permanent
      33:33:00:00:00:01 dev sw1-p1 self permanent
      
      //filter by bridge
      root@moja-1:/configs/may30-iprt/bridge# ./bridge fdb show br br0
      02:00:00:12:01:02 dev eth1 vlan 0 master br0 permanent
      00:17:42:8a:b4:05 dev eth1 vlan 0 master br0 permanent
      00:17:42:8a:b4:07 dev eth1 self permanent
      33:33:00:00:00:01 dev eth1 self permanent
      da:ac:46:27:d9:53 dev sw1-p1 vlan 0 master br0 permanent
      33:33:00:00:00:01 dev sw1-p1 self permanent
      
      // bridge sw1 has no ports attached..
      root@moja-1:/configs/may30-iprt/bridge# ./bridge fdb show br sw1
      
      //filter by port
      root@moja-1:/configs/may30-iprt/bridge# ./bridge fdb show brport eth1
      02:00:00:12:01:02 vlan 0 master br0 permanent
      00:17:42:8a:b4:05 vlan 0 master br0 permanent
      00:17:42:8a:b4:07 self permanent
      33:33:00:00:00:01 self permanent
      
      // filter by port + bridge
      root@moja-1:/configs/may30-iprt/bridge# ./bridge fdb show br br0 brport
      sw1-p1
      da:ac:46:27:d9:53 vlan 0 master br0 permanent
      33:33:00:00:00:01 self permanent
      
      // for shits and giggles (as they say in New Brunswick), lets
      // change the mac that br0 uses
      // Note: a magical fdb entry with no brport is added ...
      root@moja-1:/configs/may30-iprt/bridge# ip link set dev br0 address
      02:00:00:12:01:04
      
      // lets see if we can see the unicorn ..
      root@moja-1:/configs/may30-iprt/bridge# ./bridge fdb show
      33:33:00:00:00:01 dev bond0 self permanent
      33:33:00:00:00:01 dev dummy0 self permanent
      33:33:00:00:00:01 dev ifb0 self permanent
      33:33:00:00:00:01 dev ifb1 self permanent
      33:33:00:00:00:01 dev eth0 self permanent
      01:00:5e:00:00:01 dev eth0 self permanent
      33:33:ff:22:01:01 dev eth0 self permanent
      02:00:00:12:01:02 dev eth1 vlan 0 master br0 permanent
      00:17:42:8a:b4:05 dev eth1 vlan 0 master br0 permanent
      00:17:42:8a:b4:07 dev eth1 self permanent
      33:33:00:00:00:01 dev eth1 self permanent
      33:33:00:00:00:01 dev gretap0 self permanent
      02:00:00:12:01:04 dev br0 vlan 0 master br0 permanent <=== there it is
      da:ac:46:27:d9:53 dev sw1-p1 vlan 0 master br0 permanent
      33:33:00:00:00:01 dev sw1-p1 self permanent
      
      //can we see it if we filter by bridge?
      root@moja-1:/configs/may30-iprt/bridge# ./bridge fdb show br br0
      02:00:00:12:01:02 dev eth1 vlan 0 master br0 permanent
      00:17:42:8a:b4:05 dev eth1 vlan 0 master br0 permanent
      00:17:42:8a:b4:07 dev eth1 self permanent
      33:33:00:00:00:01 dev eth1 self permanent
      02:00:00:12:01:04 dev br0 vlan 0 master br0 permanent <=== there it is
      da:ac:46:27:d9:53 dev sw1-p1 vlan 0 master br0 permanent
      33:33:00:00:00:01 dev sw1-p1 self permanent
      Signed-off-by: default avatarJamal Hadi Salim <jhs@mojatatu.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5e6d2435
    • Jamal Hadi Salim's avatar
      bridge: fdb dumping takes a filter device · 5d5eacb3
      Jamal Hadi Salim authored
      Dumping a bridge fdb dumps every fdb entry
      held. With this change we are going to filter
      on selected bridge port.
      Signed-off-by: default avatarJamal Hadi Salim <jhs@mojatatu.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5d5eacb3