162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (C)2003-2006 Helsinki University of Technology
462306a36Sopenharmony_ci * Copyright (C)2003-2006 USAGI/WIDE Project
562306a36Sopenharmony_ci */
662306a36Sopenharmony_ci/*
762306a36Sopenharmony_ci * Authors:
862306a36Sopenharmony_ci *	Noriaki TAKAMIYA @USAGI
962306a36Sopenharmony_ci *	Masahide NAKAMURA @USAGI
1062306a36Sopenharmony_ci *	YOSHIFUJI Hideaki @USAGI
1162306a36Sopenharmony_ci */
1262306a36Sopenharmony_ci#ifndef _NET_MIP6_H
1362306a36Sopenharmony_ci#define _NET_MIP6_H
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci#include <linux/skbuff.h>
1662306a36Sopenharmony_ci#include <net/sock.h>
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci/*
1962306a36Sopenharmony_ci * Mobility Header
2062306a36Sopenharmony_ci */
2162306a36Sopenharmony_cistruct ip6_mh {
2262306a36Sopenharmony_ci	__u8	ip6mh_proto;
2362306a36Sopenharmony_ci	__u8	ip6mh_hdrlen;
2462306a36Sopenharmony_ci	__u8	ip6mh_type;
2562306a36Sopenharmony_ci	__u8	ip6mh_reserved;
2662306a36Sopenharmony_ci	__u16	ip6mh_cksum;
2762306a36Sopenharmony_ci	/* Followed by type specific messages */
2862306a36Sopenharmony_ci	__u8	data[];
2962306a36Sopenharmony_ci} __packed;
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci#define IP6_MH_TYPE_BRR		0   /* Binding Refresh Request */
3262306a36Sopenharmony_ci#define IP6_MH_TYPE_HOTI	1   /* HOTI Message   */
3362306a36Sopenharmony_ci#define IP6_MH_TYPE_COTI	2   /* COTI Message  */
3462306a36Sopenharmony_ci#define IP6_MH_TYPE_HOT		3   /* HOT Message   */
3562306a36Sopenharmony_ci#define IP6_MH_TYPE_COT		4   /* COT Message  */
3662306a36Sopenharmony_ci#define IP6_MH_TYPE_BU		5   /* Binding Update */
3762306a36Sopenharmony_ci#define IP6_MH_TYPE_BACK	6   /* Binding ACK */
3862306a36Sopenharmony_ci#define IP6_MH_TYPE_BERROR	7   /* Binding Error */
3962306a36Sopenharmony_ci#define IP6_MH_TYPE_MAX		IP6_MH_TYPE_BERROR
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci#endif
42