Lines Matching full:dscp
31 dscp_t dscp; member
33 u8 dscp_full:1; /* DSCP or TOS selector */
40 if (r->dst.plen || r->src.plen || r->dscp || r->flowlabel_mask) in fib6_rule_matchall()
335 if ((r->dscp ^ ip6_dscp(fl6->flowlabel)) & r->dscp_mask) in fib6_rule_match()
358 if (rule6->dscp) { in fib6_nl2rule_dscp()
359 NL_SET_ERR_MSG(extack, "Cannot specify both TOS and DSCP"); in fib6_nl2rule_dscp()
363 rule6->dscp = inet_dsfield_to_dscp(nla_get_u8(nla) << 2); in fib6_nl2rule_dscp()
378 "Cannot specify DSCP mask without DSCP value"); in fib6_nl2rule_dscp_mask()
383 if (rule6->dscp & ~dscp_mask) { in fib6_nl2rule_dscp_mask()
384 NL_SET_ERR_MSG_ATTR(extack, nla, "Invalid DSCP mask"); in fib6_nl2rule_dscp_mask()
436 rule6->dscp = inet_dsfield_to_dscp(frh->tos); in fib6_rule_configure()
504 inet_dscp_to_dsfield(rule6->dscp) != frh->tos)) in fib6_rule_compare()
508 dscp_t dscp; in fib6_rule_compare() local
510 dscp = inet_dsfield_to_dscp(nla_get_u8(tb[FRA_DSCP]) << 2); in fib6_rule_compare()
511 if (!rule6->dscp_full || rule6->dscp != dscp) in fib6_rule_compare()
553 inet_dscp_to_dsfield(rule6->dscp) >> 2) || in fib6_rule_fill()
558 frh->tos = inet_dscp_to_dsfield(rule6->dscp); in fib6_rule_fill()
581 + nla_total_size(1) /* dscp */ in fib6_rule_nlmsg_payload()
582 + nla_total_size(1) /* dscp mask */ in fib6_rule_nlmsg_payload()