1. 02 8月, 2013 14 次提交
  2. 01 8月, 2013 18 次提交
    • H
      ipv6: fib6_rules should return exact return value · 46b3a421
      Hannes Frederic Sowa 提交于
      With the addition of the suppress operation
      (7764a45a ("fib_rules: add .suppress
      operation") we rely on accurate error reporting of the fib_rules.actions.
      
      fib6_rule_action always returned -EAGAIN in case we could not find a
      matching route and 0 if a rule was matched. This also included a match
      for blackhole or prohibited rule actions which could get suppressed by
      the new logic.
      
      So adapt fib6_rule_action to always return the correct error code as
      its counterpart fib4_rule_action does. This also fixes a possiblity of
      nullptr-deref where we don't find a table, thus rt == NULL. Because
      the condition rt != ip6_null_entry still holdes it seems we could later
      get a nullptr bug on dereference rt->dst.
      
      v2:
      a) Fixed a brain fart in the commit msg (the rule => a table, etc). No
         changes to the patch.
      
      Cc: Stefan Tomanek <stefan.tomanek@wertarbyte.de>
      Cc: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
      Signed-off-by: NHannes Frederic Sowa <hannes@stressinduktion.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      46b3a421
    • J
      cls_cgroup.h netprio_cgroup.h: Remove extern from function prototypes · 37830721
      Joe Perches 提交于
      There are a mix of function prototypes with and without extern
      in the kernel sources.  Standardize on not using extern for
      function prototypes.
      
      Function prototypes don't need to be written with extern.
      extern is assumed by the compiler.  Its use is as unnecessary as
      using auto to declare automatic/local variables in a block.
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      37830721
    • J
      checksum: Remove extern from function prototypes · 4fc70747
      Joe Perches 提交于
      There are a mix of function prototypes with and without extern
      in the kernel sources.  Standardize on not using extern for
      function prototypes.
      
      Function prototypes don't need to be written with extern.
      extern is assumed by the compiler.  Its use is as unnecessary as
      using auto to declare automatic/local variables in a block.
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4fc70747
    • J
      cfg80211.h/mac80211.h: Remove extern from function prototypes · 10dd9b7c
      Joe Perches 提交于
      There are a mix of function prototypes with and without extern
      in the kernel sources.  Standardize on not using extern for
      function prototypes.
      
      Function prototypes don't need to be written with extern.
      extern is assumed by the compiler.  Its use is as unnecessary as
      using auto to declare automatic/local variables in a block.
      
      Reflow modified prototypes to 80 columns.
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      10dd9b7c
    • J
      ax25.h: Remove extern from function prototypes · c1d8f804
      Joe Perches 提交于
      There are a mix of function prototypes with and without extern
      in the kernel sources.  Standardize on not using extern for
      function prototypes.
      
      Function prototypes don't need to be written with extern.
      extern is assumed by the compiler.  Its use is as unnecessary as
      using auto to declare automatic/local variables in a block.
      
      Reflow modified prototypes to 80 columns.
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c1d8f804
    • J
      arp/neighbour.h: Remove extern from function prototypes · 90972b22
      Joe Perches 提交于
      There are a mix of function prototypes with and without extern
      in the kernel sources.  Standardize on not using extern for
      function prototypes.
      
      Function prototypes don't need to be written with extern.
      extern is assumed by the compiler.  Its use is as unnecessary as
      using auto to declare automatic/local variables in a block.
      
      Reflow modified prototypes to 80 columns.
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      90972b22
    • J
      af_rxrpc.h: Remove extern from function prototypes · cd2cf63a
      Joe Perches 提交于
      There are a mix of function prototypes with and without extern
      in the kernel sources.  Standardize on not using extern for
      function prototypes.
      
      Function prototypes don't need to be written with extern.
      extern is assumed by the compiler.  Its use is as unnecessary as
      using auto to declare automatic/local variables in a block.
      
      Reflow modified prototypes to 80 columns.
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cd2cf63a
    • J
      af_unix.h: Remove extern from function prototypes · b60a8280
      Joe Perches 提交于
      There are a mix of function prototypes with and without extern
      in the kernel sources.  Standardize on not using extern for
      function prototypes.
      
      Function prototypes don't need to be written with extern.
      extern is assumed by the compiler.  Its use is as unnecessary as
      using auto to declare automatic/local variables in a block.
      
      Reflow modified prototypes to 80 columns.
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b60a8280
    • J
      addrconf.h: Remove extern function prototypes · e8e54d3c
      Joe Perches 提交于
      There are a mix of function prototypes with and without extern
      in the kernel sources.  Standardize on not using extern for
      function prototypes.
      
      Function prototypes don't need to be written with extern.
      extern is assumed by the compiler.  Its use is as unnecessary as
      using auto to declare automatic/local variables in a block.
      
      Reflow modified prototypes to 80 columns.
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e8e54d3c
    • P
      Documentation: add networking/netdev-FAQ.txt · 49dfe762
      Paul Gortmaker 提交于
      A collection of expectations and operational details about how
      networking development takes place in the context of the netdev
      mailing list.
      
      The content is meant to capture specific items that are unique
      to netdev workflow, and not re-document generic linux expectations
      that are already captured elsewhere.
      
      This was originally proposed[1] as a regular posting mailing list
      FAQ, but it probably is more universally accessible here in tree.
      
      [1] https://lwn.net/Articles/559211/Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      49dfe762
    • S
      fib_rules: add .suppress operation · 7764a45a
      Stefan Tomanek 提交于
      This change adds a new operation to the fib_rules_ops struct; it allows the
      suppression of routing decisions if certain criteria are not met by its
      results.
      
      The first implemented constraint is a minimum prefix length added to the
      structures of routing rules. If a rule is added with a minimum prefix length
      >0, only routes meeting this threshold will be considered. Any other (more
      general) routing table entries will be ignored.
      
      When configuring a system with multiple network uplinks and default routes, it
      is often convinient to reference the main routing table multiple times - but
      omitting the default route. Using this patch and a modified "ip" utility, this
      can be achieved by using the following command sequence:
      
        $ ip route add table secuplink default via 10.42.23.1
      
        $ ip rule add pref 100            table main prefixlength 1
        $ ip rule add pref 150 fwmark 0xA table secuplink
      
      With this setup, packets marked 0xA will be processed by the additional routing
      table "secuplink", but only if no suitable route in the main routing table can
      be found. By using a minimal prefixlength of 1, the default route (/0) of the
      table "main" is hidden to packets processed by rule 100; packets traveling to
      destinations with more specific routing entries are processed as usual.
      Signed-off-by: NStefan Tomanek <stefan.tomanek@wertarbyte.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7764a45a
    • J
      net: Remove extern from include/net/ scheduling prototypes · 5c15257f
      Joe Perches 提交于
      There are a mix of function prototypes with and without extern
      in the kernel sources.  Standardize on not using extern for
      function prototypes.
      
      Function prototypes don't need to be written with extern.
      extern is assumed by the compiler.  Its use is as unnecessary as
      using auto to declare automatic/local variables in a block.
      
      Reflow modified prototypes to 80 columns.
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5c15257f
    • E
      net: skb_orphan() changes · c34a7612
      Eric Dumazet 提交于
      It is illegal to set skb->sk without corresponding destructor.
      
      Its therefore safe for skb_orphan() to not clear skb->sk if
      skb->destructor is not set.
      
      Also avoid clearing skb->destructor if already NULL.
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c34a7612
    • E
      netem: Introduce skb_orphan_partial() helper · f2f872f9
      Eric Dumazet 提交于
      Commit 547669d4 ("tcp: xps: fix reordering issues") added
      unexpected reorders in case netem is used in a MQ setup for high
      performance test bed.
      
      ETH=eth0
      tc qd del dev $ETH root 2>/dev/null
      tc qd add dev $ETH root handle 1: mq
      for i in `seq 1 32`
      do
       tc qd add dev $ETH parent 1:$i netem delay 100ms
      done
      
      As all tcp packets are orphaned by netem, TCP stack believes it can
      set skb->ooo_okay on all packets.
      
      In order to allow producers to send more packets, we want to
      keep sk_wmem_alloc from reaching sk_sndbuf limit.
      
      We can do that by accounting one byte per skb in netem queues,
      so that TCP stack is not fooled too much.
      
      Tested:
      
      With above MQ/netem setup, scaling number of concurrent flows gives
      linear results and no reorders/retransmits
      
      lpq83:~# for n in 1 10 20 30 40 50 60 70 80 90 100
       do echo -n "n:$n " ; ./super_netperf $n -H 10.7.7.84; done
      n:1 198.46
      n:10 2002.69
      n:20 4000.98
      n:30 6006.35
      n:40 8020.93
      n:50 10032.3
      n:60 12081.9
      n:70 13971.3
      n:80 16009.7
      n:90 17117.3
      n:100 17425.5
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f2f872f9
    • F
      net: split rt_genid for ipv4 and ipv6 · ca4c3fc2
      fan.du 提交于
      Current net name space has only one genid for both IPv4 and IPv6, it has below
      drawbacks:
      
      - Add/delete an IPv4 address will invalidate all IPv6 routing table entries.
      - Insert/remove XFRM policy will also invalidate both IPv4/IPv6 routing table
        entries even when the policy is only applied for one address family.
      
      Thus, this patch attempt to split one genid for two to cater for IPv4 and IPv6
      separately in a fine granularity.
      Signed-off-by: NFan Du <fan.du@windriver.com>
      Acked-by: NHannes Frederic Sowa <hannes@stressinduktion.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ca4c3fc2
    • L
      sh_eth: r8a7790: Handle the RFE (Receive FIFO overflow Error) interrupt · ba361cb3
      Laurent Pinchart 提交于
      The RFE interrupt is enabled for the r8a7790 but isn't handled,
      resulting in the interrupts core noticing unhandled interrupts, and
      eventually disabling the ethernet IRQ.
      
      Fix it by adding RFE to the bitmask of error interrupts to be handled
      for r8a7790.
      Signed-off-by: NLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
      Signed-off-by: NSimon Horman <horms+renesas@verge.net.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ba361cb3
    • D
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next · 5e24f74b
      David S. Miller 提交于
      Jeff Kirsher says:
      
      ====================
      This series contains updates to ixgbe and pci.
      
      The first patch for ixgbe from Greg Rose is the second submission.  The
      first submission of "ixgbe: Retain VLAN filtering in promiscuous + VT
      mode" had a typo, which Joe Perches pointed out and is fixed in this
      submission.
      
      Alex updates the ixgbe driver to use the generic helper pci_vfs_assigned
      instead of the driver specific function ixgbe_vfs_are_assigned.
      
      Don Skidmore provides 4 patches for ixgbe, the first being a fix for
      flow control ethtool reporting.  Originally ixgbe_device_supports_autoneg_fc()
      was expected to be called by only copper devices, which lead to false
      information being displayed via ethtool.  Two other patches add support
      for fixed fiber for SFP+ devices and the addition of a quad-port x520
      adapter.  The last patch simply bumps the driver version.
      
      Emil Tantilov provides 3 fixes for ixgbe, two of which resolve
      semaphore lock issues.  The third fix resolves several issues in the
      previous implementation of the SFF data dumps of SFP+ modules.
      
      The remaining ixgbe and pci patches are from Jacob Keller.  The pci
      patches exposes bus speed, link speed and bus width so that drivers
      can take advantage of this information.  In addition, adds a pci function
      which obtains minimum link width and speed.  Jacob also provides the
      ixgbe patch to incorporate the pci function. He provides a patch that
      fixes a lockdep issue created due to ixgbe_ptp_stop always running
      cancel_work_sync even if the work item had not been created properly with
      INIT_WORK. This issue was found and reported by Stephen Hemminger.
      
      -v2-
      * fix patch 3 to be a bool function based on David Miller's feedback
      * fix patch 4 debug message based on David Miller's feedback
      * fix patch 8 moved the extern declarations to pci.h based on Bjorn
        Helgaas's feedback
      * fix patch 11 update the error message to include encoding loss based
      * fix patch 8/9/10 title based on Bjorn's feedback
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5e24f74b
    • D
      tcp: Remove unused tcpct declarations and comments · c0155b2d
      Dmitry Popov 提交于
      Remove declaration, 4 defines and confusing comment that are no longer used
      since 1a2c6181 ("tcp: Remove TCPCT").
      Signed-off-by: NDmitry Popov <dp@highloadlab.com>
      Acked-by: NChristoph Paasch <christoph.paasch@uclouvain.be>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c0155b2d
  3. 31 7月, 2013 8 次提交