cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

ip.h (1024B)


      1/* SPDX-License-Identifier: GPL-2.0-or-later */
      2/*
      3 * INET		An implementation of the TCP/IP protocol suite for the LINUX
      4 *		operating system.  INET is implemented using the  BSD Socket
      5 *		interface as the means of communication with the user level.
      6 *
      7 *		Definitions for the IP protocol.
      8 *
      9 * Version:	@(#)ip.h	1.0.2	04/28/93
     10 *
     11 * Authors:	Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
     12 */
     13#ifndef _LINUX_IP_H
     14#define _LINUX_IP_H
     15
     16#include <linux/skbuff.h>
     17#include <uapi/linux/ip.h>
     18
     19static inline struct iphdr *ip_hdr(const struct sk_buff *skb)
     20{
     21	return (struct iphdr *)skb_network_header(skb);
     22}
     23
     24static inline struct iphdr *inner_ip_hdr(const struct sk_buff *skb)
     25{
     26	return (struct iphdr *)skb_inner_network_header(skb);
     27}
     28
     29static inline struct iphdr *ipip_hdr(const struct sk_buff *skb)
     30{
     31	return (struct iphdr *)skb_transport_header(skb);
     32}
     33
     34static 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	/* _LINUX_IP_H */