summaryrefslogtreecommitdiffstats
path: root/net/ipv6/fib6_rules.c
diff options
context:
space:
mode:
authorYOSHIFUJI Hideaki2006-08-21 12:18:57 +0200
committerDavid S. Miller2006-09-23 00:17:59 +0200
commit2cc67cc731d9b693a08e781e98fec0e3a6d6ba44 (patch)
treec749d424266ae7f6427495a97da7dc7b3de2446d /net/ipv6/fib6_rules.c
parent[IPV6] MIP6: Several obvious clean-ups. (diff)
downloadkernel-qcow2-linux-2cc67cc731d9b693a08e781e98fec0e3a6d6ba44.tar.gz
kernel-qcow2-linux-2cc67cc731d9b693a08e781e98fec0e3a6d6ba44.tar.xz
kernel-qcow2-linux-2cc67cc731d9b693a08e781e98fec0e3a6d6ba44.zip
[IPV6] ROUTE: Routing by Traffic Class.
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Diffstat (limited to 'net/ipv6/fib6_rules.c')
-rw-r--r--net/ipv6/fib6_rules.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/ipv6/fib6_rules.c b/net/ipv6/fib6_rules.c
index 7b4908cc52b3..91f6233d8efd 100644
--- a/net/ipv6/fib6_rules.c
+++ b/net/ipv6/fib6_rules.c
@@ -121,6 +121,9 @@ static int fib6_rule_match(struct fib_rule *rule, struct flowi *fl, int flags)
!ipv6_prefix_equal(&fl->fl6_src, &r->src.addr, r->src.plen))
return 0;
+ if (r->tclass && r->tclass != ((ntohl(fl->fl6_flowlabel) >> 20) & 0xff))
+ return 0;
+
return 1;
}