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

rpl.h (824B)


      1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
      2/*
      3 *  IPv6 RPL-SR implementation
      4 *
      5 *  Author:
      6 *  (C) 2020 Alexander Aring <alex.aring@gmail.com>
      7 */
      8
      9#ifndef _UAPI_LINUX_RPL_H
     10#define _UAPI_LINUX_RPL_H
     11
     12#include <asm/byteorder.h>
     13#include <linux/types.h>
     14#include <linux/in6.h>
     15
     16/*
     17 * RPL SR Header
     18 */
     19struct ipv6_rpl_sr_hdr {
     20	__u8	nexthdr;
     21	__u8	hdrlen;
     22	__u8	type;
     23	__u8	segments_left;
     24#if defined(__LITTLE_ENDIAN_BITFIELD)
     25	__u32	cmpre:4,
     26		cmpri:4,
     27		reserved:4,
     28		pad:4,
     29		reserved1:16;
     30#elif defined(__BIG_ENDIAN_BITFIELD)
     31	__u32	cmpri:4,
     32		cmpre:4,
     33		pad:4,
     34		reserved:20;
     35#else
     36#error  "Please fix <asm/byteorder.h>"
     37#endif
     38
     39	union {
     40		struct in6_addr addr[0];
     41		__u8 data[0];
     42	} segments;
     43} __attribute__((packed));
     44
     45#define rpl_segaddr	segments.addr
     46#define rpl_segdata	segments.data
     47
     48#endif