diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-09-05 17:54:29 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-09-05 17:54:29 -0400 |
commit | cc998ff8811530be521f6b316f37ab7676a07938 (patch) | |
tree | a054b3bf4b2ef406bf756a6cfc9be2f9115f17ae /include/net/dst.h | |
parent | 57d730924d5cc2c3e280af16a9306587c3a511db (diff) | |
parent | 0d40f75bdab241868c0eb6f97aef9f8b3a66f7b3 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
Pull networking changes from David Miller:
"Noteworthy changes this time around:
1) Multicast rejoin support for team driver, from Jiri Pirko.
2) Centralize and simplify TCP RTT measurement handling in order to
reduce the impact of bad RTO seeding from SYN/ACKs. Also, when
both timestamps and local RTT measurements are available prefer
the later because there are broken middleware devices which
scramble the timestamp.
From Yuchung Cheng.
3) Add TCP_NOTSENT_LOWAT socket option to limit the amount of kernel
memory consumed to queue up unsend user data. From Eric Dumazet.
4) Add a "physical port ID" abstraction for network devices, from
Jiri Pirko.
5) Add a "suppress" operation to influence fib_rules lookups, from
Stefan Tomanek.
6) Add a networking development FAQ, from Paul Gortmaker.
7) Extend the information provided by tcp_probe and add ipv6 support,
from Daniel Borkmann.
8) Use RCU locking more extensively in openvswitch data paths, from
Pravin B Shelar.
9) Add SCTP support to openvswitch, from Joe Stringer.
10) Add EF10 chip support to SFC driver, from Ben Hutchings.
11) Add new SYNPROXY netfilter target, from Patrick McHardy.
12) Compute a rate approximation for sending in TCP sockets, and use
this to more intelligently coalesce TSO frames. Furthermore, add
a new packet scheduler which takes advantage of this estimate when
available. From Eric Dumazet.
13) Allow AF_PACKET fanouts with random selection, from Daniel
Borkmann.
14) Add ipv6 support to vxlan driver, from Cong Wang"
Resolved conflicts as per discussion.
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1218 commits)
openvswitch: Fix alignment of struct sw_flow_key.
netfilter: Fix build errors with xt_socket.c
tcp: Add missing braces to do_tcp_setsockopt
caif: Add missing braces to multiline if in cfctrl_linkup_request
bnx2x: Add missing braces in bnx2x:bnx2x_link_initialize
vxlan: Fix kernel panic on device delete.
net: mvneta: implement ->ndo_do_ioctl() to support PHY ioctls
net: mvneta: properly disable HW PHY polling and ensure adjust_link() works
icplus: Use netif_running to determine device state
ethernet/arc/arc_emac: Fix huge delays in large file copies
tuntap: orphan frags before trying to set tx timestamp
tuntap: purge socket error queue on detach
qlcnic: use standard NAPI weights
ipv6:introduce function to find route for redirect
bnx2x: VF RSS support - VF side
bnx2x: VF RSS support - PF side
vxlan: Notify drivers for listening UDP port changes
net: usbnet: update addr_assign_type if appropriate
driver/net: enic: update enic maintainers and driver
driver/net: enic: Exposing symbols for Cisco's low latency driver
...
Diffstat (limited to 'include/net/dst.h')
-rw-r--r-- | include/net/dst.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/include/net/dst.h b/include/net/dst.h index 1f8fd109e225..3bc4865f8267 100644 --- a/include/net/dst.h +++ b/include/net/dst.h | |||
@@ -311,11 +311,13 @@ static inline void skb_dst_force(struct sk_buff *skb) | |||
311 | * __skb_tunnel_rx - prepare skb for rx reinsert | 311 | * __skb_tunnel_rx - prepare skb for rx reinsert |
312 | * @skb: buffer | 312 | * @skb: buffer |
313 | * @dev: tunnel device | 313 | * @dev: tunnel device |
314 | * @net: netns for packet i/o | ||
314 | * | 315 | * |
315 | * After decapsulation, packet is going to re-enter (netif_rx()) our stack, | 316 | * After decapsulation, packet is going to re-enter (netif_rx()) our stack, |
316 | * so make some cleanups. (no accounting done) | 317 | * so make some cleanups. (no accounting done) |
317 | */ | 318 | */ |
318 | static inline void __skb_tunnel_rx(struct sk_buff *skb, struct net_device *dev) | 319 | static inline void __skb_tunnel_rx(struct sk_buff *skb, struct net_device *dev, |
320 | struct net *net) | ||
319 | { | 321 | { |
320 | skb->dev = dev; | 322 | skb->dev = dev; |
321 | 323 | ||
@@ -327,8 +329,7 @@ static inline void __skb_tunnel_rx(struct sk_buff *skb, struct net_device *dev) | |||
327 | if (!skb->l4_rxhash) | 329 | if (!skb->l4_rxhash) |
328 | skb->rxhash = 0; | 330 | skb->rxhash = 0; |
329 | skb_set_queue_mapping(skb, 0); | 331 | skb_set_queue_mapping(skb, 0); |
330 | skb_dst_drop(skb); | 332 | skb_scrub_packet(skb, !net_eq(net, dev_net(dev))); |
331 | nf_reset(skb); | ||
332 | } | 333 | } |
333 | 334 | ||
334 | /** | 335 | /** |
@@ -340,12 +341,13 @@ static inline void __skb_tunnel_rx(struct sk_buff *skb, struct net_device *dev) | |||
340 | * so make some cleanups, and perform accounting. | 341 | * so make some cleanups, and perform accounting. |
341 | * Note: this accounting is not SMP safe. | 342 | * Note: this accounting is not SMP safe. |
342 | */ | 343 | */ |
343 | static inline void skb_tunnel_rx(struct sk_buff *skb, struct net_device *dev) | 344 | static inline void skb_tunnel_rx(struct sk_buff *skb, struct net_device *dev, |
345 | struct net *net) | ||
344 | { | 346 | { |
345 | /* TODO : stats should be SMP safe */ | 347 | /* TODO : stats should be SMP safe */ |
346 | dev->stats.rx_packets++; | 348 | dev->stats.rx_packets++; |
347 | dev->stats.rx_bytes += skb->len; | 349 | dev->stats.rx_bytes += skb->len; |
348 | __skb_tunnel_rx(skb, dev); | 350 | __skb_tunnel_rx(skb, dev, net); |
349 | } | 351 | } |
350 | 352 | ||
351 | /* Children define the path of the packet through the | 353 | /* Children define the path of the packet through the |