neigh: Kill ndisc_ops->queue_xmit
It is always dev_queue_xmit(). Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
b23b5455b6
Коммит
542d4d685f
|
@ -122,7 +122,6 @@ struct neigh_ops {
|
|||
void (*error_report)(struct neighbour *, struct sk_buff*);
|
||||
int (*output)(struct sk_buff*);
|
||||
int (*connected_output)(struct sk_buff*);
|
||||
int (*queue_xmit)(struct sk_buff*);
|
||||
};
|
||||
|
||||
struct pneigh_entry {
|
||||
|
|
|
@ -273,7 +273,6 @@ static const struct neigh_ops clip_neigh_ops = {
|
|||
.error_report = clip_neigh_error,
|
||||
.output = dev_queue_xmit,
|
||||
.connected_output = dev_queue_xmit,
|
||||
.queue_xmit = dev_queue_xmit,
|
||||
};
|
||||
|
||||
static int clip_constructor(struct neighbour *neigh)
|
||||
|
|
|
@ -1257,7 +1257,7 @@ int neigh_resolve_output(struct sk_buff *skb)
|
|||
} while (read_seqretry(&neigh->ha_lock, seq));
|
||||
|
||||
if (err >= 0)
|
||||
rc = neigh->ops->queue_xmit(skb);
|
||||
rc = dev_queue_xmit(skb);
|
||||
else
|
||||
goto out_kfree_skb;
|
||||
}
|
||||
|
@ -1292,7 +1292,7 @@ int neigh_connected_output(struct sk_buff *skb)
|
|||
} while (read_seqretry(&neigh->ha_lock, seq));
|
||||
|
||||
if (err >= 0)
|
||||
err = neigh->ops->queue_xmit(skb);
|
||||
err = dev_queue_xmit(skb);
|
||||
else {
|
||||
err = -EINVAL;
|
||||
kfree_skb(skb);
|
||||
|
|
|
@ -64,7 +64,6 @@ static const struct neigh_ops dn_long_ops = {
|
|||
.error_report = dn_long_error_report,
|
||||
.output = dn_long_output,
|
||||
.connected_output = dn_long_output,
|
||||
.queue_xmit = dev_queue_xmit,
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -75,7 +74,6 @@ static const struct neigh_ops dn_short_ops = {
|
|||
.error_report = dn_short_error_report,
|
||||
.output = dn_short_output,
|
||||
.connected_output = dn_short_output,
|
||||
.queue_xmit = dev_queue_xmit,
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -86,7 +84,6 @@ static const struct neigh_ops dn_phase3_ops = {
|
|||
.error_report = dn_short_error_report, /* Can use short version here */
|
||||
.output = dn_phase3_output,
|
||||
.connected_output = dn_phase3_output,
|
||||
.queue_xmit = dev_queue_xmit
|
||||
};
|
||||
|
||||
static u32 dn_neigh_hash(const void *pkey,
|
||||
|
@ -212,7 +209,7 @@ static int dn_neigh_output_packet(struct sk_buff *skb)
|
|||
dn_dn2eth(mac_addr, rt->rt_local_src);
|
||||
if (dev_hard_header(skb, dev, ntohs(skb->protocol), neigh->ha,
|
||||
mac_addr, skb->len) >= 0)
|
||||
return neigh->ops->queue_xmit(skb);
|
||||
return dev_queue_xmit(skb);
|
||||
|
||||
if (net_ratelimit())
|
||||
printk(KERN_DEBUG "dn_neigh_output_packet: oops, can't send packet\n");
|
||||
|
|
|
@ -138,7 +138,6 @@ static const struct neigh_ops arp_generic_ops = {
|
|||
.error_report = arp_error_report,
|
||||
.output = neigh_resolve_output,
|
||||
.connected_output = neigh_connected_output,
|
||||
.queue_xmit = dev_queue_xmit,
|
||||
};
|
||||
|
||||
static const struct neigh_ops arp_hh_ops = {
|
||||
|
@ -147,14 +146,12 @@ static const struct neigh_ops arp_hh_ops = {
|
|||
.error_report = arp_error_report,
|
||||
.output = neigh_resolve_output,
|
||||
.connected_output = neigh_resolve_output,
|
||||
.queue_xmit = dev_queue_xmit,
|
||||
};
|
||||
|
||||
static const struct neigh_ops arp_direct_ops = {
|
||||
.family = AF_INET,
|
||||
.output = dev_queue_xmit,
|
||||
.connected_output = dev_queue_xmit,
|
||||
.queue_xmit = dev_queue_xmit,
|
||||
};
|
||||
|
||||
static const struct neigh_ops arp_broken_ops = {
|
||||
|
@ -163,7 +160,6 @@ static const struct neigh_ops arp_broken_ops = {
|
|||
.error_report = arp_error_report,
|
||||
.output = neigh_compat_output,
|
||||
.connected_output = neigh_compat_output,
|
||||
.queue_xmit = dev_queue_xmit,
|
||||
};
|
||||
|
||||
struct neigh_table arp_tbl = {
|
||||
|
@ -254,7 +250,7 @@ static int arp_constructor(struct neighbour *neigh)
|
|||
if (!dev->header_ops) {
|
||||
neigh->nud_state = NUD_NOARP;
|
||||
neigh->ops = &arp_direct_ops;
|
||||
neigh->output = neigh->ops->queue_xmit;
|
||||
neigh->output = dev_queue_xmit;
|
||||
} else {
|
||||
/* Good devices (checked by reading texts, but only Ethernet is
|
||||
tested)
|
||||
|
|
|
@ -107,7 +107,6 @@ static const struct neigh_ops ndisc_generic_ops = {
|
|||
.error_report = ndisc_error_report,
|
||||
.output = neigh_resolve_output,
|
||||
.connected_output = neigh_connected_output,
|
||||
.queue_xmit = dev_queue_xmit,
|
||||
};
|
||||
|
||||
static const struct neigh_ops ndisc_hh_ops = {
|
||||
|
@ -116,7 +115,6 @@ static const struct neigh_ops ndisc_hh_ops = {
|
|||
.error_report = ndisc_error_report,
|
||||
.output = neigh_resolve_output,
|
||||
.connected_output = neigh_resolve_output,
|
||||
.queue_xmit = dev_queue_xmit,
|
||||
};
|
||||
|
||||
|
||||
|
@ -124,7 +122,6 @@ static const struct neigh_ops ndisc_direct_ops = {
|
|||
.family = AF_INET6,
|
||||
.output = dev_queue_xmit,
|
||||
.connected_output = dev_queue_xmit,
|
||||
.queue_xmit = dev_queue_xmit,
|
||||
};
|
||||
|
||||
struct neigh_table nd_tbl = {
|
||||
|
@ -389,7 +386,7 @@ static int ndisc_constructor(struct neighbour *neigh)
|
|||
if (!dev->header_ops) {
|
||||
neigh->nud_state = NUD_NOARP;
|
||||
neigh->ops = &ndisc_direct_ops;
|
||||
neigh->output = neigh->ops->queue_xmit;
|
||||
neigh->output = dev_queue_xmit;
|
||||
} else {
|
||||
if (is_multicast) {
|
||||
neigh->nud_state = NUD_NOARP;
|
||||
|
|
Загрузка…
Ссылка в новой задаче