27 Nov, 2011
8 commits
-
Conflicts:
net/ipv4/inet_diag.c -
commit 88491d8103498a6166f70d5999902fec70924314 ("drivers/net: Kconfig
& Makefile cleanup") changed the type of these options to bool, but
they select code that could (and still can) be built as modules.Signed-off-by: Ben Hutchings
Signed-off-by: David S. Miller -
The pmtu informations on the inetpeer are visible for output and
input routes. On packet forwarding, we might propagate a learned
pmtu to the sender. As we update the pmtu informations of the
inetpeer on demand, the original sender of the forwarded packets
might never notice when the pmtu to that inetpeer increases.
So use the mtu of the outgoing device on packet forwarding instead
of the pmtu to the final destination.Signed-off-by: Steffen Klassert
Signed-off-by: David S. Miller -
Signed-off-by: Steffen Klassert
Signed-off-by: David S. Miller -
We move all mtu handling from dst_mtu() down to the protocol
layer. So each protocol can implement the mtu handling in
a different manner.Signed-off-by: Steffen Klassert
Signed-off-by: David S. Miller -
We plan to invoke the dst_opt->default_mtu() method unconditioally
from dst_mtu(). So rename the method to dst_opt->mtu() to match
the name with the new meaning.Signed-off-by: Steffen Klassert
Signed-off-by: David S. Miller -
As it is, we return null as the default mtu of blackhole routes.
This may lead to a propagation of a bogus pmtu if the default_mtu
method of a blackhole route is invoked. So return dst->dev->mtu
as the default mtu instead.Signed-off-by: Steffen Klassert
Signed-off-by: David S. Miller
26 Nov, 2011
1 commit
-
Skip entries from foreign network namespaces.
Signed-off-by: Jorge Boncompte [DTI2]
Signed-off-by: David S. Miller
25 Nov, 2011
1 commit
-
This was copy and pasted from the IPv4 code. We're calling the
ip4 version of that function and map4 is NULL.Signed-off-by: Dan Carpenter
Signed-off-by: David S. Miller
24 Nov, 2011
13 commits
-
Fix below build error:
CC drivers/net/ethernet/marvell/mv643xx_eth.o
drivers/net/ethernet/marvell/mv643xx_eth.c: In function 'mv643xx_eth_get_drvinfo':
drivers/net/ethernet/marvell/mv643xx_eth.c:1505: error: 'info' undeclared (first use in this function)
drivers/net/ethernet/marvell/mv643xx_eth.c:1505: error: (Each undeclared identifier is reported only once
drivers/net/ethernet/marvell/mv643xx_eth.c:1505: error: for each function it appears in.)
make[4]: *** [drivers/net/ethernet/marvell/mv643xx_eth.o] Error 1Signed-off-by: Axel Lin
Signed-off-by: David S. Miller -
We can not update iph->daddr in ip_options_rcv_srr(), It is too early.
When some exception ocurred later (eg. in ip_forward() when goto
sr_failed) we need the ip header be identical to the original one as
ICMP need it.Add a field 'nexthop' in struct ip_options to save nexthop of LSRR
or SSRR option.Signed-off-by: Li Wei
Signed-off-by: David S. Miller -
Use round_jiffies_relative to align the ehea workqueue and avoid
extra wakeups.Signed-off-by: Anton Blanchard
Signed-off-by: David S. Miller -
Now that we enable multiqueue by default the ehea driver is using
quite a lot of memory for its buffer pools. With 4 queues we
consume 64MB in the jumbo packet ring, 16MB in the medium packet
ring and 16MB in the tiny packet ring.We should only fill the jumbo ring once the MTU is increased but
for now halve it's size so it consumes 32MB. Also reduce the tiny
packet ring, with 4 queues we had 16k entries which is overkill.Signed-off-by: Anton Blanchard
Signed-off-by: David S. Miller -
When transmiting a fragmented skb, qlge fills a descriptor with the
fragment addresses, after DMA-mapping them. If there are more than eight
fragments, it will use the eighth descriptor as a pointer to an external
list. After mapping this external list, called OAL to a structure
containing more descriptors, it fills it with the extra fragments.However, considering that systems with pages larger than 8KiB would have
less than 8 fragments, which was true before commit a715dea3c8e, it
defined a macro for the OAL size as 0 in those cases.Now, if a skb with more than 8 fragments (counting skb->data as one
fragment), this would start overwriting the list of addresses already
mapped and would make the driver fail to properly unmap the right
addresses on architectures with pages larger than 8KiB.Besides that, the list of mappings was one size too small, since it must
have a mapping for the maxinum number of skb fragments plus one for
skb->data and another for the OAL. So, even on architectures with page
sizes 4KiB and 8KiB, a skb with the maximum number of fragments would
make the driver overwrite its counter for the number of mappings, which,
again, would make it fail to unmap the mapped DMA addresses.Signed-off-by: Thadeu Lima de Souza Cascardo
Signed-off-by: David S. Miller -
Fix port identify test on 5461x PHY by driving LEDs through MDIO.
Signed-off-by: Yaniv Rosner
Signed-off-by: Eilon Greenstein
Signed-off-by: David S. Miller -
rcu_assign_pointer(ptr, NULL) can be safely replaced by
RCU_INIT_POINTER(ptr, NULL)(old rcu_assign_pointer() macro was testing the NULL value and could
omit the smp_wmb(), but this had to be removed because of compiler
warnings)Signed-off-by: Eric Dumazet
Signed-off-by: David S. Miller -
When add sources to interface failure, need to roll back the sfcount[MODE]
to before state. We need to match it corresponding.Acked-by: David L Stevens
Acked-by: Eric Dumazet
Signed-off-by: Jun Zhao
Signed-off-by: David S. Miller -
Since linux 2.6.26 (commit c6aefafb7ec6 : Add IPv6 support to TCP SYN
cookies), we can drop a SYN packet reusing a TIME_WAIT socket.(As a matter of fact we fail to send the SYNACK answer)
As the client resends its SYN packet after a one second timeout, we
accept it, because first packet removed the TIME_WAIT socket before
being dropped.This probably explains why nobody ever noticed or complained.
Reported-by: Jesse Young
Signed-off-by: Eric Dumazet
Signed-off-by: David S. Miller -
Reported issues when using dev_kfree_skb() on UP systems and
systems with low numbers of cores. dev_kfree_skb_irq() will
properly save IRQ state before freeing the skb.Tested on 3.1.1 and 3.2_rc2
Example of reproducible trace of kernel 3.1.1
------------[ cut here ]------------
WARNING: at kernel/softirq.c:159 local_bh_enable+0x32/0x79()
...
Pid: 0, comm: swapper Not tainted 3.1.1-gentoo #1
Call Trace:
[] warn_slowpath_common+0x65/0x7a
[] ? local_bh_enable+0x32/0x79
[] warn_slowpath_null+0xf/0x13
[] local_bh_enable+0x32/0x79
[] destroy_conntrack+0x7c/0x9b
[] nf_conntrack_destroy+0x1f/0x26
[] skb_release_head_state+0x74/0x83
[] __kfree_skb+0xb/0x6b
[] consume_skb+0x24/0x26
[] b44_poll+0xaa/0x449
[] net_rx_action+0x3f/0xea
[] __do_softirq+0x5f/0xd5
[] ? local_bh_enable+0x79/0x79
[] ? irq_exit+0x34/0x8d
[] ? do_IRQ+0x74/0x87
[] ? common_interrupt+0x29/0x30
[] ? default_idle+0x29/0x3e
[] ? cpu_idle+0x2f/0x5d
[] ? rest_init+0x79/0x7b
[] ? start_kernel+0x297/0x29c
[] ? i386_start_kernel+0xb0/0xb7
---[ end trace 583f33bb1aa207a9 ]---Signed-off-by: Xander Hover
Signed-off-by: David S. Miller -
Distributions are using this in their default scripts, so don't hide
them behind the advanced setting.Reported-by: Linus Torvalds
Signed-off-by: David S. Miller -
I broke the build with the addition of netprio_cgroups if CONFIG_CGROUPS=n.
This patch corrects it by moving the offending struct into an ifdef
CONFIG_CGROUPS block. Also clean up a few needless defines and inline functions
that don't get called if CONFIG_CGROUPS isn't defined while Im at it.Signed-off-by: Neil Horman
Signed-off-by: David S. Miller -
commit 72a3effaf633bc ([NET]: Size listen hash tables using backlog
hint) added a bug allowing inet6_synq_hash() to return an out of bound
array index, because of u16 overflow.Bug can happen if system admins set net.core.somaxconn &
net.ipv4.tcp_max_syn_backlog sysctls to values greater than 65536Signed-off-by: Eric Dumazet
Signed-off-by: David S. Miller
23 Nov, 2011
17 commits
-
Release skb when transmit rate limit _not_ allow
Signed-off-by: Li Wei
Signed-off-by: David S. Miller -
…wireless into for-davem
-
Given we dont use anymore the struct net_device *dev argument, and this
interface brings litle benefit, remove netdev_{alloc|free}_page(), to
debloat include/linux/skbuff.h a bit.(Some drivers used a mix of these interfaces and alloc_pages())
When allocating a page given to device for DMA transfer (device to
memory), it makes sense to use a cold one (__GFP_COLD)Signed-off-by: Eric Dumazet
CC: Jeff Kirsher
CC: Dimitris Michailidis
Signed-off-by: David S. Miller -
Per discussion with Ben Hutchings and David Miller, go through and
remove assignments of "N/A" to fw_version in various drivers'
.get_drvinfo routines. While there clean-up some use of bare
constants and such.Signed-off-by: Rick Jones
Signed-off-by: David S. Miller -
C assignment can handle struct in6_addr copying.
Signed-off-by: Alexey Dobriyan
Signed-off-by: David S. Miller -
This reverts commit 4ba7d9997869d25bd223dea7536fc1ce9fab3b3b.
The original patch was a misguided attempt to improve performance on
some hardware that is apparently prone to spurious interrupt generation.Signed-off-by: John W. Linville
-
Signed-off-by: Stephen Hemminger
Signed-off-by: David S. Miller -
This reverts commit 23085d5796561625db4143a671f1de081f66ef08.
The original patch was a misguided attempt to improve performance on
some hardware that is apparently prone to spurious interrupt generation.Signed-off-by: John W. Linville
-
when skb_shift, we want to shift paged data from skb to tgt frag area.
Original comments revert the shift orderSigned-off-by: Feng King
Signed-off-by: David S. Miller -
Now that the vcc backends do the right thing with respect the receive
queue on registration, allow MSK_PEEK for atm sockets.This allows a userspace program to inspect the packets and decide what
backend to use to handle them.Signed-off-by: Jorge Boncompte [DTI2]
Signed-off-by: David S. Miller -
This function moves the implementation found in the clip and br2684
modules to common code, correctly unlinks the skb from the queue
before pushing it and makes pppoatm use it.Signed-off-by: Jorge Boncompte [DTI2]
Signed-off-by: David S. Miller -
This will allow further cleanup.
Signed-off-by: Jorge Boncompte [DTI2]
Signed-off-by: David S. Miller -
I don't see the point on substracting the skb len from the netdev
stats.Signed-off-by: Jorge Boncompte [DTI2]
Signed-off-by: David S. Miller -
This snippet has caused several bugs in the past, and I don't see the
point on substracting the skb len from netdev stats.Signed-off-by: Jorge Boncompte [DTI2]
Signed-off-by: David S. Miller -
Signed-off-by: Maciej Żenczykowski
Signed-off-by: David S. Miller -
This patch adds MDI-X state reporting.
Signed-off-by: Matt Carlson
Signed-off-by: David S. Miller -
Future devices may or may not be capable of supporting larger rx
producer rings. This patch changes the code so that this flag is set on
an ASIC rev to ASIC rev basis. Also, this patch changes a place where
the LRG_PROD_RING_CAP flag was not controlling how the rx standard
producer ring size was set.Signed-off-by: Matt Carlson
Signed-off-by: David S. Miller