mip6.h 1016 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  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. #include <linux/skbuff.h>
  15. #include <net/sock.h>
  16. /*
  17. * Mobility Header
  18. */
  19. struct ip6_mh {
  20. __u8 ip6mh_proto;
  21. __u8 ip6mh_hdrlen;
  22. __u8 ip6mh_type;
  23. __u8 ip6mh_reserved;
  24. __u16 ip6mh_cksum;
  25. /* Followed by type specific messages */
  26. __u8 data[];
  27. } __packed;
  28. #define IP6_MH_TYPE_BRR 0 /* Binding Refresh Request */
  29. #define IP6_MH_TYPE_HOTI 1 /* HOTI Message */
  30. #define IP6_MH_TYPE_COTI 2 /* COTI Message */
  31. #define IP6_MH_TYPE_HOT 3 /* HOT Message */
  32. #define IP6_MH_TYPE_COT 4 /* COT Message */
  33. #define IP6_MH_TYPE_BU 5 /* Binding Update */
  34. #define IP6_MH_TYPE_BACK 6 /* Binding ACK */
  35. #define IP6_MH_TYPE_BERROR 7 /* Binding Error */
  36. #define IP6_MH_TYPE_MAX IP6_MH_TYPE_BERROR
  37. #endif