diff options
author | David Woodhouse <dwmw2@shinybook.infradead.org> | 2005-07-27 09:14:13 -0400 |
---|---|---|
committer | David Woodhouse <dwmw2@shinybook.infradead.org> | 2005-07-27 09:14:13 -0400 |
commit | c5fbc3966f48279dbebfde10248c977014aa9988 (patch) | |
tree | 0a52f645d89f91952c26b215f460a4ba195ca42c /net/sched | |
parent | 39299d9d15c41cbdd7c7009967cd35afaf34d8fa (diff) | |
parent | 9e566d8bd61f939b7f5d7d969f5b178571471cf9 (diff) |
Merge with master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Diffstat (limited to 'net/sched')
-rw-r--r-- | net/sched/em_meta.c | 62 | ||||
-rw-r--r-- | net/sched/em_text.c | 3 | ||||
-rw-r--r-- | net/sched/sch_generic.c | 7 |
3 files changed, 14 insertions, 58 deletions
diff --git a/net/sched/em_meta.c b/net/sched/em_meta.c index 53d98f8d3d80..00eae5f9a01a 100644 --- a/net/sched/em_meta.c +++ b/net/sched/em_meta.c | |||
@@ -27,17 +27,17 @@ | |||
27 | * lvalue rvalue | 27 | * lvalue rvalue |
28 | * +-----------+ +-----------+ | 28 | * +-----------+ +-----------+ |
29 | * | type: INT | | type: INT | | 29 | * | type: INT | | type: INT | |
30 | * def | id: INDEV | | id: VALUE | | 30 | * def | id: DEV | | id: VALUE | |
31 | * | data: | | data: 3 | | 31 | * | data: | | data: 3 | |
32 | * +-----------+ +-----------+ | 32 | * +-----------+ +-----------+ |
33 | * | | | 33 | * | | |
34 | * ---> meta_ops[INT][INDEV](...) | | 34 | * ---> meta_ops[INT][DEV](...) | |
35 | * | | | 35 | * | | |
36 | * ----------- | | 36 | * ----------- | |
37 | * V V | 37 | * V V |
38 | * +-----------+ +-----------+ | 38 | * +-----------+ +-----------+ |
39 | * | type: INT | | type: INT | | 39 | * | type: INT | | type: INT | |
40 | * obj | id: INDEV | | id: VALUE | | 40 | * obj | id: DEV | | id: VALUE | |
41 | * | data: 2 |<--data got filled out | data: 3 | | 41 | * | data: 2 |<--data got filled out | data: 3 | |
42 | * +-----------+ +-----------+ | 42 | * +-----------+ +-----------+ |
43 | * | | | 43 | * | | |
@@ -170,26 +170,6 @@ META_COLLECTOR(var_dev) | |||
170 | *err = var_dev(skb->dev, dst); | 170 | *err = var_dev(skb->dev, dst); |
171 | } | 171 | } |
172 | 172 | ||
173 | META_COLLECTOR(int_indev) | ||
174 | { | ||
175 | *err = int_dev(skb->input_dev, dst); | ||
176 | } | ||
177 | |||
178 | META_COLLECTOR(var_indev) | ||
179 | { | ||
180 | *err = var_dev(skb->input_dev, dst); | ||
181 | } | ||
182 | |||
183 | META_COLLECTOR(int_realdev) | ||
184 | { | ||
185 | *err = int_dev(skb->real_dev, dst); | ||
186 | } | ||
187 | |||
188 | META_COLLECTOR(var_realdev) | ||
189 | { | ||
190 | *err = var_dev(skb->real_dev, dst); | ||
191 | } | ||
192 | |||
193 | /************************************************************************** | 173 | /************************************************************************** |
194 | * skb attributes | 174 | * skb attributes |
195 | **************************************************************************/ | 175 | **************************************************************************/ |
@@ -229,12 +209,14 @@ META_COLLECTOR(int_maclen) | |||
229 | * Netfilter | 209 | * Netfilter |
230 | **************************************************************************/ | 210 | **************************************************************************/ |
231 | 211 | ||
232 | #ifdef CONFIG_NETFILTER | ||
233 | META_COLLECTOR(int_nfmark) | 212 | META_COLLECTOR(int_nfmark) |
234 | { | 213 | { |
214 | #ifdef CONFIG_NETFILTER | ||
235 | dst->value = skb->nfmark; | 215 | dst->value = skb->nfmark; |
236 | } | 216 | #else |
217 | dst->value = 0; | ||
237 | #endif | 218 | #endif |
219 | } | ||
238 | 220 | ||
239 | /************************************************************************** | 221 | /************************************************************************** |
240 | * Traffic Control | 222 | * Traffic Control |
@@ -245,31 +227,21 @@ META_COLLECTOR(int_tcindex) | |||
245 | dst->value = skb->tc_index; | 227 | dst->value = skb->tc_index; |
246 | } | 228 | } |
247 | 229 | ||
248 | #ifdef CONFIG_NET_CLS_ACT | ||
249 | META_COLLECTOR(int_tcverd) | ||
250 | { | ||
251 | dst->value = skb->tc_verd; | ||
252 | } | ||
253 | |||
254 | META_COLLECTOR(int_tcclassid) | ||
255 | { | ||
256 | dst->value = skb->tc_classid; | ||
257 | } | ||
258 | #endif | ||
259 | |||
260 | /************************************************************************** | 230 | /************************************************************************** |
261 | * Routing | 231 | * Routing |
262 | **************************************************************************/ | 232 | **************************************************************************/ |
263 | 233 | ||
264 | #ifdef CONFIG_NET_CLS_ROUTE | ||
265 | META_COLLECTOR(int_rtclassid) | 234 | META_COLLECTOR(int_rtclassid) |
266 | { | 235 | { |
267 | if (unlikely(skb->dst == NULL)) | 236 | if (unlikely(skb->dst == NULL)) |
268 | *err = -1; | 237 | *err = -1; |
269 | else | 238 | else |
239 | #ifdef CONFIG_NET_CLS_ROUTE | ||
270 | dst->value = skb->dst->tclassid; | 240 | dst->value = skb->dst->tclassid; |
271 | } | 241 | #else |
242 | dst->value = 0; | ||
272 | #endif | 243 | #endif |
244 | } | ||
273 | 245 | ||
274 | META_COLLECTOR(int_rtiif) | 246 | META_COLLECTOR(int_rtiif) |
275 | { | 247 | { |
@@ -505,8 +477,6 @@ struct meta_ops | |||
505 | static struct meta_ops __meta_ops[TCF_META_TYPE_MAX+1][TCF_META_ID_MAX+1] = { | 477 | static struct meta_ops __meta_ops[TCF_META_TYPE_MAX+1][TCF_META_ID_MAX+1] = { |
506 | [TCF_META_TYPE_VAR] = { | 478 | [TCF_META_TYPE_VAR] = { |
507 | [META_ID(DEV)] = META_FUNC(var_dev), | 479 | [META_ID(DEV)] = META_FUNC(var_dev), |
508 | [META_ID(INDEV)] = META_FUNC(var_indev), | ||
509 | [META_ID(REALDEV)] = META_FUNC(var_realdev), | ||
510 | [META_ID(SK_BOUND_IF)] = META_FUNC(var_sk_bound_if), | 480 | [META_ID(SK_BOUND_IF)] = META_FUNC(var_sk_bound_if), |
511 | }, | 481 | }, |
512 | [TCF_META_TYPE_INT] = { | 482 | [TCF_META_TYPE_INT] = { |
@@ -515,25 +485,15 @@ static struct meta_ops __meta_ops[TCF_META_TYPE_MAX+1][TCF_META_ID_MAX+1] = { | |||
515 | [META_ID(LOADAVG_1)] = META_FUNC(int_loadavg_1), | 485 | [META_ID(LOADAVG_1)] = META_FUNC(int_loadavg_1), |
516 | [META_ID(LOADAVG_2)] = META_FUNC(int_loadavg_2), | 486 | [META_ID(LOADAVG_2)] = META_FUNC(int_loadavg_2), |
517 | [META_ID(DEV)] = META_FUNC(int_dev), | 487 | [META_ID(DEV)] = META_FUNC(int_dev), |
518 | [META_ID(INDEV)] = META_FUNC(int_indev), | ||
519 | [META_ID(REALDEV)] = META_FUNC(int_realdev), | ||
520 | [META_ID(PRIORITY)] = META_FUNC(int_priority), | 488 | [META_ID(PRIORITY)] = META_FUNC(int_priority), |
521 | [META_ID(PROTOCOL)] = META_FUNC(int_protocol), | 489 | [META_ID(PROTOCOL)] = META_FUNC(int_protocol), |
522 | [META_ID(PKTTYPE)] = META_FUNC(int_pkttype), | 490 | [META_ID(PKTTYPE)] = META_FUNC(int_pkttype), |
523 | [META_ID(PKTLEN)] = META_FUNC(int_pktlen), | 491 | [META_ID(PKTLEN)] = META_FUNC(int_pktlen), |
524 | [META_ID(DATALEN)] = META_FUNC(int_datalen), | 492 | [META_ID(DATALEN)] = META_FUNC(int_datalen), |
525 | [META_ID(MACLEN)] = META_FUNC(int_maclen), | 493 | [META_ID(MACLEN)] = META_FUNC(int_maclen), |
526 | #ifdef CONFIG_NETFILTER | ||
527 | [META_ID(NFMARK)] = META_FUNC(int_nfmark), | 494 | [META_ID(NFMARK)] = META_FUNC(int_nfmark), |
528 | #endif | ||
529 | [META_ID(TCINDEX)] = META_FUNC(int_tcindex), | 495 | [META_ID(TCINDEX)] = META_FUNC(int_tcindex), |
530 | #ifdef CONFIG_NET_CLS_ACT | ||
531 | [META_ID(TCVERDICT)] = META_FUNC(int_tcverd), | ||
532 | [META_ID(TCCLASSID)] = META_FUNC(int_tcclassid), | ||
533 | #endif | ||
534 | #ifdef CONFIG_NET_CLS_ROUTE | ||
535 | [META_ID(RTCLASSID)] = META_FUNC(int_rtclassid), | 496 | [META_ID(RTCLASSID)] = META_FUNC(int_rtclassid), |
536 | #endif | ||
537 | [META_ID(RTIIF)] = META_FUNC(int_rtiif), | 497 | [META_ID(RTIIF)] = META_FUNC(int_rtiif), |
538 | [META_ID(SK_FAMILY)] = META_FUNC(int_sk_family), | 498 | [META_ID(SK_FAMILY)] = META_FUNC(int_sk_family), |
539 | [META_ID(SK_STATE)] = META_FUNC(int_sk_state), | 499 | [META_ID(SK_STATE)] = META_FUNC(int_sk_state), |
diff --git a/net/sched/em_text.c b/net/sched/em_text.c index 873840d8d072..77beabc91fa3 100644 --- a/net/sched/em_text.c +++ b/net/sched/em_text.c | |||
@@ -55,9 +55,6 @@ static int em_text_change(struct tcf_proto *tp, void *data, int len, | |||
55 | struct ts_config *ts_conf; | 55 | struct ts_config *ts_conf; |
56 | int flags = 0; | 56 | int flags = 0; |
57 | 57 | ||
58 | printk("Configuring text: %s from %d:%d to %d:%d len %d\n", conf->algo, conf->from_offset, | ||
59 | conf->from_layer, conf->to_offset, conf->to_layer, conf->pattern_len); | ||
60 | |||
61 | if (len < sizeof(*conf) || len < (sizeof(*conf) + conf->pattern_len)) | 58 | if (len < sizeof(*conf) || len < (sizeof(*conf) + conf->pattern_len)) |
62 | return -EINVAL; | 59 | return -EINVAL; |
63 | 60 | ||
diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c index 73e218e646ac..8edefd5d095d 100644 --- a/net/sched/sch_generic.c +++ b/net/sched/sch_generic.c | |||
@@ -331,11 +331,10 @@ static struct sk_buff *pfifo_fast_dequeue(struct Qdisc* qdisc) | |||
331 | int prio; | 331 | int prio; |
332 | struct sk_buff_head *list = qdisc_priv(qdisc); | 332 | struct sk_buff_head *list = qdisc_priv(qdisc); |
333 | 333 | ||
334 | for (prio = 0; prio < PFIFO_FAST_BANDS; prio++, list++) { | 334 | for (prio = 0; prio < PFIFO_FAST_BANDS; prio++) { |
335 | struct sk_buff *skb = __qdisc_dequeue_head(qdisc, list); | 335 | if (!skb_queue_empty(list + prio)) { |
336 | if (skb) { | ||
337 | qdisc->q.qlen--; | 336 | qdisc->q.qlen--; |
338 | return skb; | 337 | return __qdisc_dequeue_head(qdisc, list + prio); |
339 | } | 338 | } |
340 | } | 339 | } |
341 | 340 | ||