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:
@@ -122,7 +122,6 @@ struct neigh_ops {
|
|||||||
void (*error_report)(struct neighbour *, struct sk_buff*);
|
void (*error_report)(struct neighbour *, struct sk_buff*);
|
||||||
int (*output)(struct sk_buff*);
|
int (*output)(struct sk_buff*);
|
||||||
int (*connected_output)(struct sk_buff*);
|
int (*connected_output)(struct sk_buff*);
|
||||||
int (*queue_xmit)(struct sk_buff*);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct pneigh_entry {
|
struct pneigh_entry {
|
||||||
|
@@ -273,7 +273,6 @@ static const struct neigh_ops clip_neigh_ops = {
|
|||||||
.error_report = clip_neigh_error,
|
.error_report = clip_neigh_error,
|
||||||
.output = dev_queue_xmit,
|
.output = dev_queue_xmit,
|
||||||
.connected_output = dev_queue_xmit,
|
.connected_output = dev_queue_xmit,
|
||||||
.queue_xmit = dev_queue_xmit,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static int clip_constructor(struct neighbour *neigh)
|
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));
|
} while (read_seqretry(&neigh->ha_lock, seq));
|
||||||
|
|
||||||
if (err >= 0)
|
if (err >= 0)
|
||||||
rc = neigh->ops->queue_xmit(skb);
|
rc = dev_queue_xmit(skb);
|
||||||
else
|
else
|
||||||
goto out_kfree_skb;
|
goto out_kfree_skb;
|
||||||
}
|
}
|
||||||
@@ -1292,7 +1292,7 @@ int neigh_connected_output(struct sk_buff *skb)
|
|||||||
} while (read_seqretry(&neigh->ha_lock, seq));
|
} while (read_seqretry(&neigh->ha_lock, seq));
|
||||||
|
|
||||||
if (err >= 0)
|
if (err >= 0)
|
||||||
err = neigh->ops->queue_xmit(skb);
|
err = dev_queue_xmit(skb);
|
||||||
else {
|
else {
|
||||||
err = -EINVAL;
|
err = -EINVAL;
|
||||||
kfree_skb(skb);
|
kfree_skb(skb);
|
||||||
|
@@ -64,7 +64,6 @@ static const struct neigh_ops dn_long_ops = {
|
|||||||
.error_report = dn_long_error_report,
|
.error_report = dn_long_error_report,
|
||||||
.output = dn_long_output,
|
.output = dn_long_output,
|
||||||
.connected_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,
|
.error_report = dn_short_error_report,
|
||||||
.output = dn_short_output,
|
.output = dn_short_output,
|
||||||
.connected_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 */
|
.error_report = dn_short_error_report, /* Can use short version here */
|
||||||
.output = dn_phase3_output,
|
.output = dn_phase3_output,
|
||||||
.connected_output = dn_phase3_output,
|
.connected_output = dn_phase3_output,
|
||||||
.queue_xmit = dev_queue_xmit
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static u32 dn_neigh_hash(const void *pkey,
|
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);
|
dn_dn2eth(mac_addr, rt->rt_local_src);
|
||||||
if (dev_hard_header(skb, dev, ntohs(skb->protocol), neigh->ha,
|
if (dev_hard_header(skb, dev, ntohs(skb->protocol), neigh->ha,
|
||||||
mac_addr, skb->len) >= 0)
|
mac_addr, skb->len) >= 0)
|
||||||
return neigh->ops->queue_xmit(skb);
|
return dev_queue_xmit(skb);
|
||||||
|
|
||||||
if (net_ratelimit())
|
if (net_ratelimit())
|
||||||
printk(KERN_DEBUG "dn_neigh_output_packet: oops, can't send packet\n");
|
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,
|
.error_report = arp_error_report,
|
||||||
.output = neigh_resolve_output,
|
.output = neigh_resolve_output,
|
||||||
.connected_output = neigh_connected_output,
|
.connected_output = neigh_connected_output,
|
||||||
.queue_xmit = dev_queue_xmit,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct neigh_ops arp_hh_ops = {
|
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,
|
.error_report = arp_error_report,
|
||||||
.output = neigh_resolve_output,
|
.output = neigh_resolve_output,
|
||||||
.connected_output = neigh_resolve_output,
|
.connected_output = neigh_resolve_output,
|
||||||
.queue_xmit = dev_queue_xmit,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct neigh_ops arp_direct_ops = {
|
static const struct neigh_ops arp_direct_ops = {
|
||||||
.family = AF_INET,
|
.family = AF_INET,
|
||||||
.output = dev_queue_xmit,
|
.output = dev_queue_xmit,
|
||||||
.connected_output = dev_queue_xmit,
|
.connected_output = dev_queue_xmit,
|
||||||
.queue_xmit = dev_queue_xmit,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct neigh_ops arp_broken_ops = {
|
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,
|
.error_report = arp_error_report,
|
||||||
.output = neigh_compat_output,
|
.output = neigh_compat_output,
|
||||||
.connected_output = neigh_compat_output,
|
.connected_output = neigh_compat_output,
|
||||||
.queue_xmit = dev_queue_xmit,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct neigh_table arp_tbl = {
|
struct neigh_table arp_tbl = {
|
||||||
@@ -254,7 +250,7 @@ static int arp_constructor(struct neighbour *neigh)
|
|||||||
if (!dev->header_ops) {
|
if (!dev->header_ops) {
|
||||||
neigh->nud_state = NUD_NOARP;
|
neigh->nud_state = NUD_NOARP;
|
||||||
neigh->ops = &arp_direct_ops;
|
neigh->ops = &arp_direct_ops;
|
||||||
neigh->output = neigh->ops->queue_xmit;
|
neigh->output = dev_queue_xmit;
|
||||||
} else {
|
} else {
|
||||||
/* Good devices (checked by reading texts, but only Ethernet is
|
/* Good devices (checked by reading texts, but only Ethernet is
|
||||||
tested)
|
tested)
|
||||||
|
@@ -107,7 +107,6 @@ static const struct neigh_ops ndisc_generic_ops = {
|
|||||||
.error_report = ndisc_error_report,
|
.error_report = ndisc_error_report,
|
||||||
.output = neigh_resolve_output,
|
.output = neigh_resolve_output,
|
||||||
.connected_output = neigh_connected_output,
|
.connected_output = neigh_connected_output,
|
||||||
.queue_xmit = dev_queue_xmit,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct neigh_ops ndisc_hh_ops = {
|
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,
|
.error_report = ndisc_error_report,
|
||||||
.output = neigh_resolve_output,
|
.output = neigh_resolve_output,
|
||||||
.connected_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,
|
.family = AF_INET6,
|
||||||
.output = dev_queue_xmit,
|
.output = dev_queue_xmit,
|
||||||
.connected_output = dev_queue_xmit,
|
.connected_output = dev_queue_xmit,
|
||||||
.queue_xmit = dev_queue_xmit,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct neigh_table nd_tbl = {
|
struct neigh_table nd_tbl = {
|
||||||
@@ -389,7 +386,7 @@ static int ndisc_constructor(struct neighbour *neigh)
|
|||||||
if (!dev->header_ops) {
|
if (!dev->header_ops) {
|
||||||
neigh->nud_state = NUD_NOARP;
|
neigh->nud_state = NUD_NOARP;
|
||||||
neigh->ops = &ndisc_direct_ops;
|
neigh->ops = &ndisc_direct_ops;
|
||||||
neigh->output = neigh->ops->queue_xmit;
|
neigh->output = dev_queue_xmit;
|
||||||
} else {
|
} else {
|
||||||
if (is_multicast) {
|
if (is_multicast) {
|
||||||
neigh->nud_state = NUD_NOARP;
|
neigh->nud_state = NUD_NOARP;
|
||||||
|
Reference in New Issue
Block a user