Linux-libre 5.4.47-gnu
[librecmc/linux-libre.git] / include / net / mip6.h
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * Copyright (C)2003-2006 Helsinki University of Technology
4  * Copyright (C)2003-2006 USAGI/WIDE Project
5  */
6 /*
7  * Authors:
8  *      Noriaki TAKAMIYA @USAGI
9  *      Masahide NAKAMURA @USAGI
10  *      YOSHIFUJI Hideaki @USAGI
11  */
12 #ifndef _NET_MIP6_H
13 #define _NET_MIP6_H
14
15 #include <linux/skbuff.h>
16 #include <net/sock.h>
17
18 /*
19  * Mobility Header
20  */
21 struct ip6_mh {
22         __u8    ip6mh_proto;
23         __u8    ip6mh_hdrlen;
24         __u8    ip6mh_type;
25         __u8    ip6mh_reserved;
26         __u16   ip6mh_cksum;
27         /* Followed by type specific messages */
28         __u8    data[0];
29 } __packed;
30
31 #define IP6_MH_TYPE_BRR         0   /* Binding Refresh Request */
32 #define IP6_MH_TYPE_HOTI        1   /* HOTI Message   */
33 #define IP6_MH_TYPE_COTI        2   /* COTI Message  */
34 #define IP6_MH_TYPE_HOT         3   /* HOT Message   */
35 #define IP6_MH_TYPE_COT         4   /* COT Message  */
36 #define IP6_MH_TYPE_BU          5   /* Binding Update */
37 #define IP6_MH_TYPE_BACK        6   /* Binding ACK */
38 #define IP6_MH_TYPE_BERROR      7   /* Binding Error */
39 #define IP6_MH_TYPE_MAX         IP6_MH_TYPE_BERROR
40
41 #endif