summaryrefslogtreecommitdiffstats
path: root/net/ipv6
diff options
context:
space:
mode:
authorYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>2006-08-21 19:18:57 +0900
committerDavid S. Miller <davem@sunset.davemloft.net>2006-09-22 15:17:59 -0700
commit2cc67cc731d9b693a08e781e98fec0e3a6d6ba44 (patch)
treec749d424266ae7f6427495a97da7dc7b3de2446d /net/ipv6
parente731c248ba9e8c7025ae8b4a3fa48e4236b82e52 (diff)
downloadkernel-crypto-2cc67cc731d9b693a08e781e98fec0e3a6d6ba44.tar.gz
kernel-crypto-2cc67cc731d9b693a08e781e98fec0e3a6d6ba44.tar.xz
kernel-crypto-2cc67cc731d9b693a08e781e98fec0e3a6d6ba44.zip
[IPV6] ROUTE: Routing by Traffic Class.
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Diffstat (limited to 'net/ipv6')
-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 7b4908cc52b..91f6233d8ef 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;
}