//ip报头tos字段,一个字节
// 二进制位:[0 1 2] [3] [4] [5] [6] [7]
// 1.[0 1 2] 表示优先级:
// 000 路由
// 001 优先级
// 010 立即
// 011 火速
// 100 火速覆盖
// 101 紧急
// 110 互联网控制
// 111 网络控制
// 2.[3] 表示时延
// 0 普通
// 1 最小
// 3.[4] 吞吐量
// 0 普通
// 1 最大
// 4.[5] 可靠性
// 0 普通
// 1.最大
// 5.[6] 开销
// 0 普通
// 1 最小
// 6.[7] 保留,恒为0
//由ip报头的tos字段,计算skb的优先级,用于在规则队列中选择优先级队列
1.1 static inline char rt_tos2priority(u8 tos)
{
return ip_tos2prio[IPTOS_TOS(tos)>>1];
}
//获取tos的[3,4,5,6]比特位,右移一位,转换为0~15范围的数
1.2
#define IPTOS_TOS_MASK 0x1E
#define IPTOS_TOS(tos) ((tos)&IPTOS_TOS_MASK)
//
1.3 __u8 ip_tos2prio[16] = {
TC_PRIO_BESTEFFORT,
ECN_OR_COST(FILLER),
TC_PRIO_BESTEFFORT,
ECN_OR_COST(BESTEFFORT),
TC_PRIO_BULK,
ECN_OR_COST(BULK),
TC_PRIO_BULK,
ECN_OR_COST(BULK),
TC_PRIO_INTERACTIVE,
ECN_OR_COST(INTERACTIVE),
TC_PRIO_INTERACTIVE,
ECN_OR_COST(INTERACTIVE),
TC_PRIO_INTERACTIVE_BULK,
ECN_OR_COST(INTERACTIVE_BULK),
TC_PRIO_INTERACTIVE_BULK,
ECN_OR_COST(INTERACTIVE_BULK)
};
网络子系统45_ip协议tos处理
最新推荐文章于 2023-08-15 14:01:25 发布