aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/net/neighbour.h1
-rw-r--r--net/atm/clip.c1
-rw-r--r--net/core/neighbour.c4
-rw-r--r--net/decnet/dn_neigh.c5
-rw-r--r--net/ipv4/arp.c6
-rw-r--r--net/ipv6/ndisc.c5
6 files changed, 5 insertions, 17 deletions
diff --git a/include/net/neighbour.h b/include/net/neighbour.h
index 60bac8112d8..334e92f95bb 100644
--- a/include/net/neighbour.h
+++ b/include/net/neighbour.h
@@ -122,7 +122,6 @@ struct neigh_ops {
122 void (*error_report)(struct neighbour *, struct sk_buff*); 122 void (*error_report)(struct neighbour *, struct sk_buff*);
123 int (*output)(struct sk_buff*); 123 int (*output)(struct sk_buff*);
124 int (*connected_output)(struct sk_buff*); 124 int (*connected_output)(struct sk_buff*);
125 int (*queue_xmit)(struct sk_buff*);
126}; 125};
127 126
128struct pneigh_entry { 127struct pneigh_entry {
diff --git a/net/atm/clip.c b/net/atm/clip.c
index 036cd43c13a..40d73689967 100644
--- a/net/atm/clip.c
+++ b/net/atm/clip.c
@@ -273,7 +273,6 @@ static const struct neigh_ops clip_neigh_ops = {
273 .error_report = clip_neigh_error, 273 .error_report = clip_neigh_error,
274 .output = dev_queue_xmit, 274 .output = dev_queue_xmit,
275 .connected_output = dev_queue_xmit, 275 .connected_output = dev_queue_xmit,
276 .queue_xmit = dev_queue_xmit,
277}; 276};
278 277
279static int clip_constructor(struct neighbour *neigh) 278static int clip_constructor(struct neighbour *neigh)
diff --git a/net/core/neighbour.c b/net/core/neighbour.c
index 2feda6e7a31..b031cf63d6a 100644
--- a/net/core/neighbour.c
+++ b/net/core/neighbour.c
@@ -1257,7 +1257,7 @@ int neigh_resolve_output(struct sk_buff *skb)
1257 } while (read_seqretry(&neigh->ha_lock, seq)); 1257 } while (read_seqretry(&neigh->ha_lock, seq));
1258 1258
1259 if (err >= 0) 1259 if (err >= 0)
1260 rc = neigh->ops->queue_xmit(skb); 1260 rc = dev_queue_xmit(skb);
1261 else 1261 else
1262 goto out_kfree_skb; 1262 goto out_kfree_skb;
1263 } 1263 }
@@ -1292,7 +1292,7 @@ int neigh_connected_output(struct sk_buff *skb)
1292 } while (read_seqretry(&neigh->ha_lock, seq)); 1292 } while (read_seqretry(&neigh->ha_lock, seq));
1293 1293
1294 if (err >= 0) 1294 if (err >= 0)
1295 err = neigh->ops->queue_xmit(skb); 1295 err = dev_queue_xmit(skb);
1296 else { 1296 else {
1297 err = -EINVAL; 1297 err = -EINVAL;
1298 kfree_skb(skb); 1298 kfree_skb(skb);
diff --git a/net/decnet/dn_neigh.c b/net/decnet/dn_neigh.c
index abf4de851c6..84fee8a4f89 100644
--- a/net/decnet/dn_neigh.c
+++ b/net/decnet/dn_neigh.c
@@ -64,7 +64,6 @@ static const struct neigh_ops dn_long_ops = {
64 .error_report = dn_long_error_report, 64 .error_report = dn_long_error_report,
65 .output = dn_long_output, 65 .output = dn_long_output,
66 .connected_output = dn_long_output, 66 .connected_output = dn_long_output,
67 .queue_xmit = dev_queue_xmit,
68}; 67};
69 68
70/* 69/*
@@ -75,7 +74,6 @@ static const struct neigh_ops dn_short_ops = {
75 .error_report = dn_short_error_report, 74 .error_report = dn_short_error_report,
76 .output = dn_short_output, 75 .output = dn_short_output,
77 .connected_output = dn_short_output, 76 .connected_output = dn_short_output,
78 .queue_xmit = dev_queue_xmit,
79}; 77};
80 78
81/* 79/*
@@ -86,7 +84,6 @@ static const struct neigh_ops dn_phase3_ops = {
86 .error_report = dn_short_error_report, /* Can use short version here */ 84 .error_report = dn_short_error_report, /* Can use short version here */
87 .output = dn_phase3_output, 85 .output = dn_phase3_output,
88 .connected_output = dn_phase3_output, 86 .connected_output = dn_phase3_output,
89 .queue_xmit = dev_queue_xmit
90}; 87};
91 88
92static u32 dn_neigh_hash(const void *pkey, 89static u32 dn_neigh_hash(const void *pkey,
@@ -212,7 +209,7 @@ static int dn_neigh_output_packet(struct sk_buff *skb)
212 dn_dn2eth(mac_addr, rt->rt_local_src); 209 dn_dn2eth(mac_addr, rt->rt_local_src);
213 if (dev_hard_header(skb, dev, ntohs(skb->protocol), neigh->ha, 210 if (dev_hard_header(skb, dev, ntohs(skb->protocol), neigh->ha,
214 mac_addr, skb->len) >= 0) 211 mac_addr, skb->len) >= 0)
215 return neigh->ops->queue_xmit(skb); 212 return dev_queue_xmit(skb);
216 213
217 if (net_ratelimit()) 214 if (net_ratelimit())
218 printk(KERN_DEBUG "dn_neigh_output_packet: oops, can't send packet\n"); 215 printk(KERN_DEBUG "dn_neigh_output_packet: oops, can't send packet\n");
diff --git a/net/ipv4/arp.c b/net/ipv4/arp.c
index f5f0aa1cd3a..8a21403cdd3 100644
--- a/net/ipv4/arp.c
+++ b/net/ipv4/arp.c
@@ -138,7 +138,6 @@ static const struct neigh_ops arp_generic_ops = {
138 .error_report = arp_error_report, 138 .error_report = arp_error_report,
139 .output = neigh_resolve_output, 139 .output = neigh_resolve_output,
140 .connected_output = neigh_connected_output, 140 .connected_output = neigh_connected_output,
141 .queue_xmit = dev_queue_xmit,
142}; 141};
143 142
144static const struct neigh_ops arp_hh_ops = { 143static const struct neigh_ops arp_hh_ops = {
@@ -147,14 +146,12 @@ static const struct neigh_ops arp_hh_ops = {
147 .error_report = arp_error_report, 146 .error_report = arp_error_report,
148 .output = neigh_resolve_output, 147 .output = neigh_resolve_output,
149 .connected_output = neigh_resolve_output, 148 .connected_output = neigh_resolve_output,
150 .queue_xmit = dev_queue_xmit,
151}; 149};
152 150
153static const struct neigh_ops arp_direct_ops = { 151static const struct neigh_ops arp_direct_ops = {
154 .family = AF_INET, 152 .family = AF_INET,
155 .output = dev_queue_xmit, 153 .output = dev_queue_xmit,
156 .connected_output = dev_queue_xmit, 154 .connected_output = dev_queue_xmit,
157 .queue_xmit = dev_queue_xmit,
158}; 155};
159 156
160static const struct neigh_ops arp_broken_ops = { 157static const struct neigh_ops arp_broken_ops = {
@@ -163,7 +160,6 @@ static const struct neigh_ops arp_broken_ops = {
163 .error_report = arp_error_report, 160 .error_report = arp_error_report,
164 .output = neigh_compat_output, 161 .output = neigh_compat_output,
165 .connected_output = neigh_compat_output, 162 .connected_output = neigh_compat_output,
166 .queue_xmit = dev_queue_xmit,
167}; 163};
168 164
169struct neigh_table arp_tbl = { 165struct neigh_table arp_tbl = {
@@ -254,7 +250,7 @@ static int arp_constructor(struct neighbour *neigh)
254 if (!dev->header_ops) { 250 if (!dev->header_ops) {
255 neigh->nud_state = NUD_NOARP; 251 neigh->nud_state = NUD_NOARP;
256 neigh->ops = &arp_direct_ops; 252 neigh->ops = &arp_direct_ops;
257 neigh->output = neigh->ops->queue_xmit; 253 neigh->output = dev_queue_xmit;
258 } else { 254 } else {
259 /* Good devices (checked by reading texts, but only Ethernet is 255 /* Good devices (checked by reading texts, but only Ethernet is
260 tested) 256 tested)
diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c
index db782d2f7cc..482b970b835 100644
--- a/net/ipv6/ndisc.c
+++ b/net/ipv6/ndisc.c
@@ -107,7 +107,6 @@ static const struct neigh_ops ndisc_generic_ops = {
107 .error_report = ndisc_error_report, 107 .error_report = ndisc_error_report,
108 .output = neigh_resolve_output, 108 .output = neigh_resolve_output,
109 .connected_output = neigh_connected_output, 109 .connected_output = neigh_connected_output,
110 .queue_xmit = dev_queue_xmit,
111}; 110};
112 111
113static const struct neigh_ops ndisc_hh_ops = { 112static const struct neigh_ops ndisc_hh_ops = {
@@ -116,7 +115,6 @@ static const struct neigh_ops ndisc_hh_ops = {
116 .error_report = ndisc_error_report, 115 .error_report = ndisc_error_report,
117 .output = neigh_resolve_output, 116 .output = neigh_resolve_output,
118 .connected_output = neigh_resolve_output, 117 .connected_output = neigh_resolve_output,
119 .queue_xmit = dev_queue_xmit,
120}; 118};
121 119
122 120
@@ -124,7 +122,6 @@ static const struct neigh_ops ndisc_direct_ops = {
124 .family = AF_INET6, 122 .family = AF_INET6,
125 .output = dev_queue_xmit, 123 .output = dev_queue_xmit,
126 .connected_output = dev_queue_xmit, 124 .connected_output = dev_queue_xmit,
127 .queue_xmit = dev_queue_xmit,
128}; 125};
129 126
130struct neigh_table nd_tbl = { 127struct neigh_table nd_tbl = {
@@ -389,7 +386,7 @@ static int ndisc_constructor(struct neighbour *neigh)
389 if (!dev->header_ops) { 386 if (!dev->header_ops) {
390 neigh->nud_state = NUD_NOARP; 387 neigh->nud_state = NUD_NOARP;
391 neigh->ops = &ndisc_direct_ops; 388 neigh->ops = &ndisc_direct_ops;
392 neigh->output = neigh->ops->queue_xmit; 389 neigh->output = dev_queue_xmit;
393 } else { 390 } else {
394 if (is_multicast) { 391 if (is_multicast) {
395 neigh->nud_state = NUD_NOARP; 392 neigh->nud_state = NUD_NOARP;