Merge git://github.com/davem330/net
* git://github.com/davem330/net: (62 commits) ipv6: don't use inetpeer to store metrics for routes. can: ti_hecc: include linux/io.h IRDA: Fix global type conflicts in net/irda/irsysctl.c v2 net: Handle different key sizes between address families in flow cache net: Align AF-specific flowi structs to long ipv4: Fix fib_info->fib_metrics leak caif: fix a potential NULL dereference sctp: deal with multiple COOKIE_ECHO chunks ibmveth: Fix checksum offload failure handling ibmveth: Checksum offload is always disabled ibmveth: Fix issue with DMA mapping failure ibmveth: Fix DMA unmap error pch_gbe: support ML7831 IOH pch_gbe: added the process of FIFO over run error pch_gbe: fixed the issue which receives an unnecessary packet. sfc: Use 64-bit writes for TX push where possible Revert "sfc: Use write-combining to reduce TX latency" and follow-ups bnx2x: Fix ethtool advertisement bnx2x: Fix 578xx link LED bnx2x: Fix XMAC loopback test ...
This commit is contained in:
@@ -7,6 +7,7 @@
|
||||
#ifndef _NET_FLOW_H
|
||||
#define _NET_FLOW_H
|
||||
|
||||
#include <linux/socket.h>
|
||||
#include <linux/in6.h>
|
||||
#include <linux/atomic.h>
|
||||
|
||||
@@ -68,7 +69,7 @@ struct flowi4 {
|
||||
#define fl4_ipsec_spi uli.spi
|
||||
#define fl4_mh_type uli.mht.type
|
||||
#define fl4_gre_key uli.gre_key
|
||||
};
|
||||
} __attribute__((__aligned__(BITS_PER_LONG/8)));
|
||||
|
||||
static inline void flowi4_init_output(struct flowi4 *fl4, int oif,
|
||||
__u32 mark, __u8 tos, __u8 scope,
|
||||
@@ -112,7 +113,7 @@ struct flowi6 {
|
||||
#define fl6_ipsec_spi uli.spi
|
||||
#define fl6_mh_type uli.mht.type
|
||||
#define fl6_gre_key uli.gre_key
|
||||
};
|
||||
} __attribute__((__aligned__(BITS_PER_LONG/8)));
|
||||
|
||||
struct flowidn {
|
||||
struct flowi_common __fl_common;
|
||||
@@ -127,7 +128,7 @@ struct flowidn {
|
||||
union flowi_uli uli;
|
||||
#define fld_sport uli.ports.sport
|
||||
#define fld_dport uli.ports.dport
|
||||
};
|
||||
} __attribute__((__aligned__(BITS_PER_LONG/8)));
|
||||
|
||||
struct flowi {
|
||||
union {
|
||||
@@ -161,6 +162,24 @@ static inline struct flowi *flowidn_to_flowi(struct flowidn *fldn)
|
||||
return container_of(fldn, struct flowi, u.dn);
|
||||
}
|
||||
|
||||
typedef unsigned long flow_compare_t;
|
||||
|
||||
static inline size_t flow_key_size(u16 family)
|
||||
{
|
||||
switch (family) {
|
||||
case AF_INET:
|
||||
BUILD_BUG_ON(sizeof(struct flowi4) % sizeof(flow_compare_t));
|
||||
return sizeof(struct flowi4) / sizeof(flow_compare_t);
|
||||
case AF_INET6:
|
||||
BUILD_BUG_ON(sizeof(struct flowi6) % sizeof(flow_compare_t));
|
||||
return sizeof(struct flowi6) / sizeof(flow_compare_t);
|
||||
case AF_DECnet:
|
||||
BUILD_BUG_ON(sizeof(struct flowidn) % sizeof(flow_compare_t));
|
||||
return sizeof(struct flowidn) / sizeof(flow_compare_t);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
#define FLOW_DIR_IN 0
|
||||
#define FLOW_DIR_OUT 1
|
||||
#define FLOW_DIR_FWD 2
|
||||
|
||||
@@ -96,7 +96,8 @@ extern int sysctl_max_syn_backlog;
|
||||
*/
|
||||
struct listen_sock {
|
||||
u8 max_qlen_log;
|
||||
/* 3 bytes hole, try to use */
|
||||
u8 synflood_warned;
|
||||
/* 2 bytes hole, try to use */
|
||||
int qlen;
|
||||
int qlen_young;
|
||||
int clock_hand;
|
||||
|
||||
@@ -109,6 +109,7 @@ typedef enum {
|
||||
SCTP_CMD_SEND_MSG, /* Send the whole use message */
|
||||
SCTP_CMD_SEND_NEXT_ASCONF, /* Send the next ASCONF after ACK */
|
||||
SCTP_CMD_PURGE_ASCONF_QUEUE, /* Purge all asconf queues.*/
|
||||
SCTP_CMD_SET_ASOC, /* Restore association context */
|
||||
SCTP_CMD_LAST
|
||||
} sctp_verb_t;
|
||||
|
||||
|
||||
@@ -460,6 +460,9 @@ extern int tcp_write_wakeup(struct sock *);
|
||||
extern void tcp_send_fin(struct sock *sk);
|
||||
extern void tcp_send_active_reset(struct sock *sk, gfp_t priority);
|
||||
extern int tcp_send_synack(struct sock *);
|
||||
extern int tcp_syn_flood_action(struct sock *sk,
|
||||
const struct sk_buff *skb,
|
||||
const char *proto);
|
||||
extern void tcp_push_one(struct sock *, unsigned int mss_now);
|
||||
extern void tcp_send_ack(struct sock *sk);
|
||||
extern void tcp_send_delayed_ack(struct sock *sk);
|
||||
|
||||
@@ -39,6 +39,7 @@ extern int datagram_recv_ctl(struct sock *sk,
|
||||
struct sk_buff *skb);
|
||||
|
||||
extern int datagram_send_ctl(struct net *net,
|
||||
struct sock *sk,
|
||||
struct msghdr *msg,
|
||||
struct flowi6 *fl6,
|
||||
struct ipv6_txoptions *opt,
|
||||
|
||||
Reference in New Issue
Block a user