home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / linux / ipv6_route.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  1.7 KB  |  61 lines

  1. /*
  2.  *    Linux INET6 implementation 
  3.  *
  4.  *    Authors:
  5.  *    Pedro Roque        <roque@di.fc.ul.pt>    
  6.  *
  7.  *    This program is free software; you can redistribute it and/or
  8.  *      modify it under the terms of the GNU General Public License
  9.  *      as published by the Free Software Foundation; either version
  10.  *      2 of the License, or (at your option) any later version.
  11.  */
  12.  
  13. #ifndef _LINUX_IPV6_ROUTE_H
  14. #define _LINUX_IPV6_ROUTE_H
  15.  
  16. #define RTF_DEFAULT    0x00010000    /* default - learned via ND    */
  17. #define RTF_ALLONLINK    0x00020000    /* (deprecated and will be removed)
  18.                        fallback, no routers on link */
  19. #define RTF_ADDRCONF    0x00040000    /* addrconf route - RA        */
  20. #define RTF_PREFIX_RT    0x00080000    /* A prefix only route - RA    */
  21. #define RTF_ANYCAST    0x00100000    /* Anycast            */
  22.  
  23. #define RTF_NONEXTHOP    0x00200000    /* route with no nexthop    */
  24. #define RTF_EXPIRES    0x00400000
  25.  
  26. #define RTF_ROUTEINFO    0x00800000    /* route information - RA    */
  27.  
  28. #define RTF_CACHE    0x01000000    /* cache entry            */
  29. #define RTF_FLOW    0x02000000    /* flow significant route    */
  30. #define RTF_POLICY    0x04000000    /* policy route            */
  31.  
  32. #define RTF_PREF(pref)    ((pref) << 27)
  33. #define RTF_PREF_MASK    0x18000000
  34.  
  35. #define RTF_LOCAL    0x80000000
  36.  
  37. #ifdef __KERNEL__
  38. #define IPV6_EXTRACT_PREF(flag)    (((flag) & RTF_PREF_MASK) >> 27)
  39. #define IPV6_DECODE_PREF(pref)    ((pref) ^ 2)    /* 1:low,2:med,3:high */
  40. #endif
  41.  
  42. struct in6_rtmsg {
  43.     struct in6_addr        rtmsg_dst;
  44.     struct in6_addr        rtmsg_src;
  45.     struct in6_addr        rtmsg_gateway;
  46.     __u32            rtmsg_type;
  47.     __u16            rtmsg_dst_len;
  48.     __u16            rtmsg_src_len;
  49.     __u32            rtmsg_metric;
  50.     unsigned long        rtmsg_info;
  51.         __u32            rtmsg_flags;
  52.     int            rtmsg_ifindex;
  53. };
  54.  
  55. #define RTMSG_NEWDEVICE        0x11
  56. #define RTMSG_DELDEVICE        0x12
  57. #define RTMSG_NEWROUTE        0x21
  58. #define RTMSG_DELROUTE        0x22
  59.  
  60. #endif
  61.