mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-15 22:31:47 -04:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (56 commits) netns: Fix crash by making igmp per namespace bnx2x: Version update bnx2x: Checkpatch compliance bnx2x: Spelling mistakes bnx2x: Minor code improvements bnx2x: Driver info bnx2x: 1G LED does not turn off bnx2x: 8073 PHY changes bnx2x: Change GPIO for any port bnx2x: Pause settings bnx2x: Link order with external PHY bnx2x: No LRO without Rx checksum bnx2x: Wrong structure size bnx2x: WoL capability bnx2x: Clearing MAC addresses filters bnx2x: Delay in while loops bnx2x: PBA Table Page Alignment Workaround bnx2x: Self-test false positive bnx2x: Memory allocation bnx2x: HW attention lock ...
This commit is contained in:
@@ -901,7 +901,7 @@ extern unsigned char *__pskb_pull_tail(struct sk_buff *skb, int delta);
|
||||
static inline unsigned char *__pskb_pull(struct sk_buff *skb, unsigned int len)
|
||||
{
|
||||
if (len > skb_headlen(skb) &&
|
||||
!__pskb_pull_tail(skb, len-skb_headlen(skb)))
|
||||
!__pskb_pull_tail(skb, len - skb_headlen(skb)))
|
||||
return NULL;
|
||||
skb->len -= len;
|
||||
return skb->data += len;
|
||||
@@ -918,7 +918,7 @@ static inline int pskb_may_pull(struct sk_buff *skb, unsigned int len)
|
||||
return 1;
|
||||
if (unlikely(len > skb->len))
|
||||
return 0;
|
||||
return __pskb_pull_tail(skb, len-skb_headlen(skb)) != NULL;
|
||||
return __pskb_pull_tail(skb, len - skb_headlen(skb)) != NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1321,7 +1321,7 @@ static inline int skb_padto(struct sk_buff *skb, unsigned int len)
|
||||
unsigned int size = skb->len;
|
||||
if (likely(size >= len))
|
||||
return 0;
|
||||
return skb_pad(skb, len-size);
|
||||
return skb_pad(skb, len - size);
|
||||
}
|
||||
|
||||
static inline int skb_add_data(struct sk_buff *skb,
|
||||
|
||||
@@ -38,11 +38,6 @@ struct route_info {
|
||||
#define RT6_LOOKUP_F_SRCPREF_COA 0x00000020
|
||||
|
||||
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
extern struct rt6_info *ip6_prohibit_entry;
|
||||
extern struct rt6_info *ip6_blk_hole_entry;
|
||||
#endif
|
||||
|
||||
extern void ip6_route_input(struct sk_buff *skb);
|
||||
|
||||
extern struct dst_entry * ip6_route_output(struct net *net,
|
||||
@@ -118,7 +113,6 @@ extern int rt6_dump_route(struct rt6_info *rt, void *p_arg);
|
||||
extern void rt6_ifdown(struct net *net, struct net_device *dev);
|
||||
extern void rt6_mtu_change(struct net_device *dev, unsigned mtu);
|
||||
|
||||
extern rwlock_t rt6_lock;
|
||||
|
||||
/*
|
||||
* Store a destination cache entry in a socket
|
||||
|
||||
@@ -140,8 +140,24 @@ struct ip_vs_seq {
|
||||
|
||||
|
||||
/*
|
||||
* IPVS statistics object
|
||||
* IPVS statistics objects
|
||||
*/
|
||||
struct ip_vs_estimator {
|
||||
struct list_head list;
|
||||
|
||||
u64 last_inbytes;
|
||||
u64 last_outbytes;
|
||||
u32 last_conns;
|
||||
u32 last_inpkts;
|
||||
u32 last_outpkts;
|
||||
|
||||
u32 cps;
|
||||
u32 inpps;
|
||||
u32 outpps;
|
||||
u32 inbps;
|
||||
u32 outbps;
|
||||
};
|
||||
|
||||
struct ip_vs_stats
|
||||
{
|
||||
__u32 conns; /* connections scheduled */
|
||||
@@ -156,7 +172,15 @@ struct ip_vs_stats
|
||||
__u32 inbps; /* current in byte rate */
|
||||
__u32 outbps; /* current out byte rate */
|
||||
|
||||
/*
|
||||
* Don't add anything before the lock, because we use memcpy() to copy
|
||||
* the members before the lock to struct ip_vs_stats_user in
|
||||
* ip_vs_ctl.c.
|
||||
*/
|
||||
|
||||
spinlock_t lock; /* spin lock */
|
||||
|
||||
struct ip_vs_estimator est; /* estimator */
|
||||
};
|
||||
|
||||
struct dst_entry;
|
||||
@@ -440,7 +464,7 @@ struct ip_vs_app
|
||||
*/
|
||||
extern const char *ip_vs_proto_name(unsigned proto);
|
||||
extern void ip_vs_init_hash_table(struct list_head *table, int rows);
|
||||
#define IP_VS_INIT_HASH_TABLE(t) ip_vs_init_hash_table(t, sizeof(t)/sizeof(t[0]))
|
||||
#define IP_VS_INIT_HASH_TABLE(t) ip_vs_init_hash_table((t), ARRAY_SIZE((t)))
|
||||
|
||||
#define IP_VS_APP_TYPE_FTP 1
|
||||
|
||||
@@ -620,7 +644,7 @@ extern int sysctl_ip_vs_expire_quiescent_template;
|
||||
extern int sysctl_ip_vs_sync_threshold[2];
|
||||
extern int sysctl_ip_vs_nat_icmp_send;
|
||||
extern struct ip_vs_stats ip_vs_stats;
|
||||
extern struct ctl_path net_vs_ctl_path[];
|
||||
extern const struct ctl_path net_vs_ctl_path[];
|
||||
|
||||
extern struct ip_vs_service *
|
||||
ip_vs_service_get(__u32 fwmark, __u16 protocol, __be32 vaddr, __be16 vport);
|
||||
@@ -659,7 +683,7 @@ extern void ip_vs_sync_conn(struct ip_vs_conn *cp);
|
||||
/*
|
||||
* IPVS rate estimator prototypes (from ip_vs_est.c)
|
||||
*/
|
||||
extern int ip_vs_new_estimator(struct ip_vs_stats *stats);
|
||||
extern void ip_vs_new_estimator(struct ip_vs_stats *stats);
|
||||
extern void ip_vs_kill_estimator(struct ip_vs_stats *stats);
|
||||
extern void ip_vs_zero_estimator(struct ip_vs_stats *stats);
|
||||
|
||||
|
||||
@@ -89,7 +89,10 @@ extern void __qdisc_run(struct Qdisc *q);
|
||||
|
||||
static inline void qdisc_run(struct Qdisc *q)
|
||||
{
|
||||
if (!test_and_set_bit(__QDISC_STATE_RUNNING, &q->state))
|
||||
struct netdev_queue *txq = q->dev_queue;
|
||||
|
||||
if (!netif_tx_queue_stopped(txq) &&
|
||||
!test_and_set_bit(__QDISC_STATE_RUNNING, &q->state))
|
||||
__qdisc_run(q);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user