It is always dev_queue_xmit().
Signed-off-by: David S. Miller <davem@davemloft.net>
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 {
.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)
} 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;
}
} 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);
.error_report = dn_long_error_report,
.output = dn_long_output,
.connected_output = dn_long_output,
- .queue_xmit = dev_queue_xmit,
};
/*
.error_report = dn_short_error_report,
.output = dn_short_output,
.connected_output = dn_short_output,
- .queue_xmit = dev_queue_xmit,
};
/*
.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,
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");
.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 = {
.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 = {
.error_report = arp_error_report,
.output = neigh_compat_output,
.connected_output = neigh_compat_output,
- .queue_xmit = dev_queue_xmit,
};
struct neigh_table arp_tbl = {
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)
.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 = {
.error_report = ndisc_error_report,
.output = neigh_resolve_output,
.connected_output = neigh_resolve_output,
- .queue_xmit = dev_queue_xmit,
};
.family = AF_INET6,
.output = dev_queue_xmit,
.connected_output = dev_queue_xmit,
- .queue_xmit = dev_queue_xmit,
};
struct neigh_table nd_tbl = {
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;