This source file includes following definitions.
- ip_hdr
- inner_ip_hdr
- ipip_hdr
- ip_transport_len
   1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 
  11 
  12 
  13 #ifndef _LINUX_IP_H
  14 #define _LINUX_IP_H
  15 
  16 #include <linux/skbuff.h>
  17 #include <uapi/linux/ip.h>
  18 
  19 static inline struct iphdr *ip_hdr(const struct sk_buff *skb)
  20 {
  21         return (struct iphdr *)skb_network_header(skb);
  22 }
  23 
  24 static inline struct iphdr *inner_ip_hdr(const struct sk_buff *skb)
  25 {
  26         return (struct iphdr *)skb_inner_network_header(skb);
  27 }
  28 
  29 static inline struct iphdr *ipip_hdr(const struct sk_buff *skb)
  30 {
  31         return (struct iphdr *)skb_transport_header(skb);
  32 }
  33 
  34 static inline unsigned int ip_transport_len(const struct sk_buff *skb)
  35 {
  36         return ntohs(ip_hdr(skb)->tot_len) - skb_network_header_len(skb);
  37 }
  38 #endif