Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (45 commits) [IPV4]: Restore multipath routing after rt_next changes. [XFRM] IPV6: Fix outbound RO transformation which is broken by IPsec tunnel patch. [NET]: Reorder fields of struct dst_entry [DECNET]: Convert decnet route to use the new dst_entry 'next' pointer [IPV6]: Convert ipv6 route to use the new dst_entry 'next' pointer [IPV4]: Convert ipv4 route to use the new dst_entry 'next' pointer [NET]: Introduce union in struct dst_entry to hold 'next' pointer [DECNET]: fix misannotation of linkinfo_dn [DECNET]: FRA_{DST,SRC} are le16 for decnet [UDP]: UDP can use sk_hash to speedup lookups [NET]: Fix whitespace errors. [NET] XFRM: Fix whitespace errors. [NET] X25: Fix whitespace errors. [NET] WANROUTER: Fix whitespace errors. [NET] UNIX: Fix whitespace errors. [NET] TIPC: Fix whitespace errors. [NET] SUNRPC: Fix whitespace errors. [NET] SCTP: Fix whitespace errors. [NET] SCHED: Fix whitespace errors. [NET] RXRPC: Fix whitespace errors. ...
This commit is contained in:
@ -343,7 +343,7 @@ struct neighbour *neigh_lookup(struct neigh_table *tbl, const void *pkey,
|
||||
struct neighbour *n;
|
||||
int key_len = tbl->key_len;
|
||||
u32 hash_val = tbl->hash(pkey, dev);
|
||||
|
||||
|
||||
NEIGH_CACHE_STAT_INC(tbl, lookups);
|
||||
|
||||
read_lock_bh(&tbl->lock);
|
||||
@ -685,9 +685,9 @@ next_elt:
|
||||
np = &n->next;
|
||||
}
|
||||
|
||||
/* Cycle through all hash buckets every base_reachable_time/2 ticks.
|
||||
* ARP entry timeouts range from 1/2 base_reachable_time to 3/2
|
||||
* base_reachable_time.
|
||||
/* Cycle through all hash buckets every base_reachable_time/2 ticks.
|
||||
* ARP entry timeouts range from 1/2 base_reachable_time to 3/2
|
||||
* base_reachable_time.
|
||||
*/
|
||||
expire = tbl->parms.base_reachable_time >> 1;
|
||||
expire /= (tbl->hash_mask + 1);
|
||||
@ -742,7 +742,7 @@ static void neigh_timer_handler(unsigned long arg)
|
||||
}
|
||||
|
||||
if (state & NUD_REACHABLE) {
|
||||
if (time_before_eq(now,
|
||||
if (time_before_eq(now,
|
||||
neigh->confirmed + neigh->parms->reachable_time)) {
|
||||
NEIGH_PRINTK2("neigh %p is still alive.\n", neigh);
|
||||
next = neigh->confirmed + neigh->parms->reachable_time;
|
||||
@ -761,7 +761,7 @@ static void neigh_timer_handler(unsigned long arg)
|
||||
notify = 1;
|
||||
}
|
||||
} else if (state & NUD_DELAY) {
|
||||
if (time_before_eq(now,
|
||||
if (time_before_eq(now,
|
||||
neigh->confirmed + neigh->parms->delay_probe_time)) {
|
||||
NEIGH_PRINTK2("neigh %p is now reachable.\n", neigh);
|
||||
neigh->nud_state = NUD_REACHABLE;
|
||||
@ -847,7 +847,7 @@ int __neigh_event_send(struct neighbour *neigh, struct sk_buff *skb)
|
||||
goto out_unlock_bh;
|
||||
|
||||
now = jiffies;
|
||||
|
||||
|
||||
if (!(neigh->nud_state & (NUD_STALE | NUD_INCOMPLETE))) {
|
||||
if (neigh->parms->mcast_probes + neigh->parms->app_probes) {
|
||||
atomic_set(&neigh->probes, neigh->parms->ucast_probes);
|
||||
@ -915,13 +915,13 @@ static void neigh_update_hhs(struct neighbour *neigh)
|
||||
NEIGH_UPDATE_F_OVERRIDE allows to override existing lladdr,
|
||||
if it is different.
|
||||
NEIGH_UPDATE_F_WEAK_OVERRIDE will suspect existing "connected"
|
||||
lladdr instead of overriding it
|
||||
lladdr instead of overriding it
|
||||
if it is different.
|
||||
It also allows to retain current state
|
||||
if lladdr is unchanged.
|
||||
NEIGH_UPDATE_F_ADMIN means that the change is administrative.
|
||||
|
||||
NEIGH_UPDATE_F_OVERRIDE_ISROUTER allows to override existing
|
||||
NEIGH_UPDATE_F_OVERRIDE_ISROUTER allows to override existing
|
||||
NTF_ROUTER flag.
|
||||
NEIGH_UPDATE_F_ISROUTER indicates if the neighbour is known as
|
||||
a router.
|
||||
@ -944,7 +944,7 @@ int neigh_update(struct neighbour *neigh, const u8 *lladdr, u8 new,
|
||||
old = neigh->nud_state;
|
||||
err = -EPERM;
|
||||
|
||||
if (!(flags & NEIGH_UPDATE_F_ADMIN) &&
|
||||
if (!(flags & NEIGH_UPDATE_F_ADMIN) &&
|
||||
(old & (NUD_NOARP | NUD_PERMANENT)))
|
||||
goto out;
|
||||
|
||||
@ -968,7 +968,7 @@ int neigh_update(struct neighbour *neigh, const u8 *lladdr, u8 new,
|
||||
- compare new & old
|
||||
- if they are different, check override flag
|
||||
*/
|
||||
if ((old & NUD_VALID) &&
|
||||
if ((old & NUD_VALID) &&
|
||||
!memcmp(lladdr, neigh->ha, dev->addr_len))
|
||||
lladdr = neigh->ha;
|
||||
} else {
|
||||
@ -1012,8 +1012,8 @@ int neigh_update(struct neighbour *neigh, const u8 *lladdr, u8 new,
|
||||
neigh_del_timer(neigh);
|
||||
if (new & NUD_IN_TIMER) {
|
||||
neigh_hold(neigh);
|
||||
neigh_add_timer(neigh, (jiffies +
|
||||
((new & NUD_REACHABLE) ?
|
||||
neigh_add_timer(neigh, (jiffies +
|
||||
((new & NUD_REACHABLE) ?
|
||||
neigh->parms->reachable_time :
|
||||
0)));
|
||||
}
|
||||
@ -1075,7 +1075,7 @@ struct neighbour *neigh_event_ns(struct neigh_table *tbl,
|
||||
struct neighbour *neigh = __neigh_lookup(tbl, saddr, dev,
|
||||
lladdr || !dev->addr_len);
|
||||
if (neigh)
|
||||
neigh_update(neigh, lladdr, NUD_STALE,
|
||||
neigh_update(neigh, lladdr, NUD_STALE,
|
||||
NEIGH_UPDATE_F_OVERRIDE);
|
||||
return neigh;
|
||||
}
|
||||
@ -1127,7 +1127,7 @@ int neigh_compat_output(struct sk_buff *skb)
|
||||
|
||||
if (dev->hard_header &&
|
||||
dev->hard_header(skb, dev, ntohs(skb->protocol), NULL, NULL,
|
||||
skb->len) < 0 &&
|
||||
skb->len) < 0 &&
|
||||
dev->rebuild_header(skb))
|
||||
return 0;
|
||||
|
||||
@ -1347,10 +1347,10 @@ void neigh_table_init_no_netlink(struct neigh_table *tbl)
|
||||
tbl->stats = alloc_percpu(struct neigh_statistics);
|
||||
if (!tbl->stats)
|
||||
panic("cannot create neighbour cache statistics");
|
||||
|
||||
|
||||
#ifdef CONFIG_PROC_FS
|
||||
tbl->pde = create_proc_entry(tbl->id, 0, proc_net_stat);
|
||||
if (!tbl->pde)
|
||||
if (!tbl->pde)
|
||||
panic("cannot create neighbour proc dir entry");
|
||||
tbl->pde->proc_fops = &neigh_stat_seq_fops;
|
||||
tbl->pde->data = tbl;
|
||||
@ -1565,7 +1565,7 @@ int neigh_add(struct sk_buff *skb, struct nlmsghdr *nlh, void *arg)
|
||||
err = -ENOENT;
|
||||
goto out_dev_put;
|
||||
}
|
||||
|
||||
|
||||
neigh = __neigh_lookup_errno(tbl, dst, dev);
|
||||
if (IS_ERR(neigh)) {
|
||||
err = PTR_ERR(neigh);
|
||||
@ -1742,12 +1742,12 @@ errout:
|
||||
nlmsg_cancel(skb, nlh);
|
||||
return -EMSGSIZE;
|
||||
}
|
||||
|
||||
|
||||
static inline struct neigh_parms *lookup_neigh_params(struct neigh_table *tbl,
|
||||
int ifindex)
|
||||
{
|
||||
struct neigh_parms *p;
|
||||
|
||||
|
||||
for (p = &tbl->parms; p; p = p->next)
|
||||
if ((p->dev && p->dev->ifindex == ifindex) ||
|
||||
(!p->dev && !ifindex))
|
||||
@ -1813,7 +1813,7 @@ int neightbl_set(struct sk_buff *skb, struct nlmsghdr *nlh, void *arg)
|
||||
goto errout_locked;
|
||||
}
|
||||
|
||||
/*
|
||||
/*
|
||||
* We acquire tbl->lock to be nice to the periodic timers and
|
||||
* make sure they always see a consistent set of values.
|
||||
*/
|
||||
@ -2321,7 +2321,7 @@ static void *neigh_stat_seq_start(struct seq_file *seq, loff_t *pos)
|
||||
|
||||
if (*pos == 0)
|
||||
return SEQ_START_TOKEN;
|
||||
|
||||
|
||||
for (cpu = *pos-1; cpu < NR_CPUS; ++cpu) {
|
||||
if (!cpu_possible(cpu))
|
||||
continue;
|
||||
@ -2629,7 +2629,7 @@ static struct neigh_sysctl_table {
|
||||
};
|
||||
|
||||
int neigh_sysctl_register(struct net_device *dev, struct neigh_parms *p,
|
||||
int p_id, int pdev_id, char *p_name,
|
||||
int p_id, int pdev_id, char *p_name,
|
||||
proc_handler *handler, ctl_handler *strategy)
|
||||
{
|
||||
struct neigh_sysctl_table *t = kmemdup(&neigh_sysctl_template,
|
||||
@ -2661,7 +2661,7 @@ int neigh_sysctl_register(struct net_device *dev, struct neigh_parms *p,
|
||||
t->neigh_vars[14].procname = NULL;
|
||||
t->neigh_vars[15].procname = NULL;
|
||||
} else {
|
||||
dev_name_source = t->neigh_dev[0].procname;
|
||||
dev_name_source = t->neigh_dev[0].procname;
|
||||
t->neigh_vars[12].data = (int *)(p + 1);
|
||||
t->neigh_vars[13].data = (int *)(p + 1) + 1;
|
||||
t->neigh_vars[14].data = (int *)(p + 1) + 2;
|
||||
@ -2696,7 +2696,7 @@ int neigh_sysctl_register(struct net_device *dev, struct neigh_parms *p,
|
||||
goto free;
|
||||
}
|
||||
|
||||
t->neigh_dev[0].procname = dev_name;
|
||||
t->neigh_dev[0].procname = dev_name;
|
||||
|
||||
t->neigh_neigh_dir[0].ctl_name = pdev_id;
|
||||
|
||||
|
Reference in New Issue
Block a user