Lines Matching refs:skb

134 static inline int IP6_ECN_set_ce(struct sk_buff *skb, struct ipv6hdr *iph)  in IP6_ECN_set_ce()  argument
144 if (skb->ip_summed == CHECKSUM_COMPLETE) in IP6_ECN_set_ce()
145 skb->csum = csum_add(csum_sub(skb->csum, (__force __wsum)from), in IP6_ECN_set_ce()
150 static inline int IP6_ECN_set_ect1(struct sk_buff *skb, struct ipv6hdr *iph) in IP6_ECN_set_ect1() argument
160 if (skb->ip_summed == CHECKSUM_COMPLETE) in IP6_ECN_set_ect1()
161 skb->csum = csum_add(csum_sub(skb->csum, (__force __wsum)from), in IP6_ECN_set_ect1()
172 static inline int INET_ECN_set_ce(struct sk_buff *skb) in INET_ECN_set_ce() argument
174 switch (skb_protocol(skb, true)) { in INET_ECN_set_ce()
176 if (skb_network_header(skb) + sizeof(struct iphdr) <= in INET_ECN_set_ce()
177 skb_tail_pointer(skb)) in INET_ECN_set_ce()
178 return IP_ECN_set_ce(ip_hdr(skb)); in INET_ECN_set_ce()
182 if (skb_network_header(skb) + sizeof(struct ipv6hdr) <= in INET_ECN_set_ce()
183 skb_tail_pointer(skb)) in INET_ECN_set_ce()
184 return IP6_ECN_set_ce(skb, ipv6_hdr(skb)); in INET_ECN_set_ce()
191 static inline int skb_get_dsfield(struct sk_buff *skb) in skb_get_dsfield() argument
193 switch (skb_protocol(skb, true)) { in skb_get_dsfield()
195 if (!pskb_network_may_pull(skb, sizeof(struct iphdr))) in skb_get_dsfield()
197 return ipv4_get_dsfield(ip_hdr(skb)); in skb_get_dsfield()
200 if (!pskb_network_may_pull(skb, sizeof(struct ipv6hdr))) in skb_get_dsfield()
202 return ipv6_get_dsfield(ipv6_hdr(skb)); in skb_get_dsfield()
208 static inline int INET_ECN_set_ect1(struct sk_buff *skb) in INET_ECN_set_ect1() argument
210 switch (skb_protocol(skb, true)) { in INET_ECN_set_ect1()
212 if (skb_network_header(skb) + sizeof(struct iphdr) <= in INET_ECN_set_ect1()
213 skb_tail_pointer(skb)) in INET_ECN_set_ect1()
214 return IP_ECN_set_ect1(ip_hdr(skb)); in INET_ECN_set_ect1()
218 if (skb_network_header(skb) + sizeof(struct ipv6hdr) <= in INET_ECN_set_ect1()
219 skb_tail_pointer(skb)) in INET_ECN_set_ect1()
220 return IP6_ECN_set_ect1(skb, ipv6_hdr(skb)); in INET_ECN_set_ect1()
269 static inline int INET_ECN_decapsulate(struct sk_buff *skb, in INET_ECN_decapsulate() argument
278 INET_ECN_set_ce(skb); in INET_ECN_decapsulate()
280 INET_ECN_set_ect1(skb); in INET_ECN_decapsulate()
287 struct sk_buff *skb) in IP_ECN_decapsulate() argument
291 switch (skb_protocol(skb, true)) { in IP_ECN_decapsulate()
293 inner = ip_hdr(skb)->tos; in IP_ECN_decapsulate()
296 inner = ipv6_get_dsfield(ipv6_hdr(skb)); in IP_ECN_decapsulate()
302 return INET_ECN_decapsulate(skb, oiph->tos, inner); in IP_ECN_decapsulate()
306 struct sk_buff *skb) in IP6_ECN_decapsulate() argument
310 switch (skb_protocol(skb, true)) { in IP6_ECN_decapsulate()
312 inner = ip_hdr(skb)->tos; in IP6_ECN_decapsulate()
315 inner = ipv6_get_dsfield(ipv6_hdr(skb)); in IP6_ECN_decapsulate()
321 return INET_ECN_decapsulate(skb, ipv6_get_dsfield(oipv6h), inner); in IP6_ECN_decapsulate()