Since wireguard doesn't use md_dsts we should use skb_valid_dst(), which checks for DST_METADATA flag, and if it's set, then falls back to wireguard's device mtu. That gives us the best chance of transmitting the packet; otherwise if the blackhole netdev is used we'd get ETH_MIN...
1/*include/linux/skbuff.h*/2structsk_buff {3union {4struct{5/*These two members must be first.6这两个域是用来连接相关的skb的(如果有分片的话,可以通过它们将分片链接到一起),sk_buff是双链表结构。7*/8structsk_buff *next;/*链表中的下一个skb*/9structsk_buff *prev;/*链表中的上一个skb...
103 __u8 sw_hash:1; 104 __u8 wifi_acked_valid:1; 105 __u8 wifi_acked:1; 106 __u8 no_fcs:1; 107 108 /* Indicates the inner headers are valid in the skbuff. */ 109 __u8 encapsulation:1; 110 __u8 encap_hdr_csum:1; 111 __u8 csum_valid:1; 112 __u8 csum_complete_sw:...
__u8 wifi_acked_valid:1; __u8 wifi_acked:1; __u8 no_fcs:1; __u8 head_frag:1;/*Indicates the inner headers are valid in the skbuff.*/__u8 encapsulation:1; RH_KABI_EXTEND(__u8 encap_hdr_csum:1)---这个使用在我之前一篇博客中有描述。 RH_KABI_EXTEND(__u8 csum_valid:1) RH_...
n=__neigh_lookup(arp_tbl,paddr,dev,0); if(n){ n-used=jiffies; if(n-nud_stateNUD_VALID||neigh_event_send(n,skb)==0){ neigh_ha_snapshot(haddr,n,dev); neigh_release(n); return0; neigh_release(n); }else kfree_skb(skb); return1; II...
Table 26. Serial Peripheral Interface (SPI) Port—Master Timing Parameter Timing Requirements Data Input Valid to SCK Edge (Data Input Setup) tSSPIDM tHSPIDM SCK Sampling Edge to Data Input Invalid Switching Characteristics tSDSCIM SPISELx Low to First SCK Edge tSPICHM Serial Clock High Period ...