Blame view

include/linux/route.h 2.27 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
  /*
   * INET		An implementation of the TCP/IP protocol suite for the LINUX
   *		operating system.  INET is implemented using the  BSD Socket
   *		interface as the means of communication with the user level.
   *
   *		Global definitions for the IP router interface.
   *
   * Version:	@(#)route.h	1.0.3	05/27/93
   *
   * Authors:	Original taken from Berkeley UNIX 4.3, (c) UCB 1986-1988
   *		for the purposes of compatibility only.
   *
   *		Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
   *
   * Changes:
   *              Mike McLagan    :       Routing by source
   *
   *		This program is free software; you can redistribute it and/or
   *		modify it under the terms of the GNU General Public License
   *		as published by the Free Software Foundation; either version
   *		2 of the License, or (at your option) any later version.
   */
  #ifndef _LINUX_ROUTE_H
  #define _LINUX_ROUTE_H
  
  #include <linux/if.h>
  #include <linux/compiler.h>
  
  /* This structure gets passed by the SIOCADDRT and SIOCDELRT calls. */
d94d9fee9   Eric Dumazet   net: cleanup incl...
30
  struct rtentry {
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
  	unsigned long	rt_pad1;
  	struct sockaddr	rt_dst;		/* target address		*/
  	struct sockaddr	rt_gateway;	/* gateway addr (RTF_GATEWAY)	*/
  	struct sockaddr	rt_genmask;	/* target network mask (IP)	*/
  	unsigned short	rt_flags;
  	short		rt_pad2;
  	unsigned long	rt_pad3;
  	void		*rt_pad4;
  	short		rt_metric;	/* +1 for binary compatibility!	*/
  	char __user	*rt_dev;	/* forcing the device at add	*/
  	unsigned long	rt_mtu;		/* per route MTU/Window 	*/
  #ifndef __KERNEL__
  #define rt_mss	rt_mtu			/* Compatibility :-(            */
  #endif
  	unsigned long	rt_window;	/* Window clamping 		*/
  	unsigned short	rt_irtt;	/* Initial RTT			*/
  };
  
  
  #define	RTF_UP		0x0001		/* route usable		  	*/
  #define	RTF_GATEWAY	0x0002		/* destination is a gateway	*/
  #define	RTF_HOST	0x0004		/* host entry (net otherwise)	*/
  #define RTF_REINSTATE	0x0008		/* reinstate route after tmout	*/
  #define	RTF_DYNAMIC	0x0010		/* created dyn. (by redirect)	*/
  #define	RTF_MODIFIED	0x0020		/* modified dyn. (by redirect)	*/
  #define RTF_MTU		0x0040		/* specific MTU for this route	*/
  #define RTF_MSS		RTF_MTU		/* Compatibility :-(		*/
  #define RTF_WINDOW	0x0080		/* per route window clamping	*/
  #define RTF_IRTT	0x0100		/* Initial round trip time	*/
  #define RTF_REJECT	0x0200		/* Reject route			*/
  
  /*
   *	<linux/ipv6_route.h> uses RTF values >= 64k
   */
  
  
  
  #endif	/* _LINUX_ROUTE_H */