tc ... action skbedit [ queue_mapping QUEUE_MAPPING ] [ priority PRIORITY ] [ mark MARK[/MASK] ] [ ptype PTYPE ] [ inheritdsfield ] Description The skbedit action allows one to change a packet's associated meta
// 线性区和非线性区数据总长(下文会详细介绍) data_len; // 非线性区的数据总长,包括frags和fraglist __u16 queue_mapping;//网络设备层(L2)选择该packet的发送Queue ID // 该Queue ID通常会作为网络设备驱动发包的Ring ID __u8 ip_summed:2; /*如果协议栈没有算checksum,...
__u32 queue_mapping; __u32 protocol; __u32 vlan_present; __u32 vlan_tci; __u32 vlan_proto; __u32 priority; __u32 ingress_ifindex; __u32 ifindex; __u32 tc_index; __u32 cb[5]; __u32 hash; __u32 tc_classid; __u32 data; __u32 data_end; __u32 napi_id; __...
/*mac层报头的长度*/53hdr_len;/*用于clone时,表示clone的skb的头长度*/5455/*Following fields are _not_ copied in __copy_skb_header()56* Note that queue_mapping is here mostly to fill a hole.57*/58kmemcheck_bitfield_begin(flags1);59__u16 queue_mapping;6061/*if you move...
59 __u16 queue_mapping; 60 61 /* if you move cloned around you also must adapt those constants */ 62 #ifdef __BIG_ENDIAN_BITFIELD 63 #define CLONED_MASK (1 << 7) 64 #else 65 #define CLONED_MASK 1 66 #endif 67 #define CLONED_OFFSET() offsetof(struct sk_buff, __cloned_offset...
[SK_BUFF]: Introduce skb_transport_header(skb) Browse files Browse the repository at this point in the history For the places where we need a pointer to the transport header, it is still legal to touch skb->h.raw directly if just adding to, subtracting from or setting it to another...
That said, here's the proper page->pfmemalloc propagation onto socket: we must check the huge-page's head page only, other pages' pfmemalloc and mapping values do not contain what is expected in this place. However, I'm not sure whether this fix is _complete_, since pfmemalloc ...
一旦__netdev_pick_tx 确定了队列号,skb_set_queue_mapping 将缓存该值(稍后将在流量控制代码中使用),netdev_get_tx_queue 将查找并返回指向该队列的指针。让我们 看一下__netdev_pick_tx 在返回__dev_queue_xmit 之前的工作原理。 2.2 __netdev_pick_tx ...
struct__sk_buff {__u32len; /* 整个数据区域的长度, 这个 len 只计算有效的协议长度,如果在 l3 时, 不会计算 l2 的协议头长度*/__u32pkt_type; /*标记帧的类型*/__u32mark;__u32queue_mapping;__u32protocol; /*协议类型*/__u32vlan_present;__u32vlan_tci;__u32vlan_proto;__u32priorit...
__u16 tc_verd;/*traffic control verdict*/#endif#endif__u16 queue_mapping; kmemcheck_bitfield_begin(flags2); #ifdef CONFIG_IPV6_NDISC_NODETYPE __u8 ndisc_nodetype:2;#endif__u8 pfmemalloc:1; __u8 ooo_okay:1; __u8 RH_KABI_RENAME(l4_rxhash, l4_hash):1; ...