Annotation of embedaddon/iperf/src/flowlabel.h, revision 1.1.1.2
1.1 misho 1: /*
2: * iperf, Copyright (c) 2014, The Regents of the University of
3: * California, through Lawrence Berkeley National Laboratory (subject
4: * to receipt of any required approvals from the U.S. Dept. of
5: * Energy). All rights reserved.
6: *
7: * If you have questions about your rights to use or distribute this
8: * software, please contact Berkeley Lab's Technology Transfer
9: * Department at TTD@lbl.gov.
10: *
11: * NOTICE. This software is owned by the U.S. Department of Energy.
12: * As such, the U.S. Government has been granted for itself and others
13: * acting on its behalf a paid-up, nonexclusive, irrevocable,
14: * worldwide license in the Software to reproduce, prepare derivative
15: * works, and perform publicly and display publicly. Beginning five
16: * (5) years after the date permission to assert copyright is obtained
17: * from the U.S. Department of Energy, and subject to any subsequent
18: * five (5) year renewals, the U.S. Government is granted for itself
19: * and others acting on its behalf a paid-up, nonexclusive,
20: * irrevocable, worldwide license in the Software to reproduce,
21: * prepare derivative works, distribute copies to the public, perform
22: * publicly and display publicly, and to permit others to do so.
23: *
24: * This code is distributed under a BSD style license, see the LICENSE
25: * file for complete information.
26: */
27: #ifndef __FLOW_LABEL_H
28: #define __FLOW_LABEL_H
29:
30:
31: #include <linux/types.h>
1.1.1.2 ! misho 32: #include <linux/version.h>
1.1 misho 33:
1.1.1.2 ! misho 34: #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,7,0)
! 35: #include <linux/in6.h>
! 36: #else
! 37: #ifndef __ANDROID__
! 38: /*
! 39: It is just a stripped copy of the Linux kernel header "linux/in6.h"
1.1 misho 40: "Flow label" things are still not defined in "netinet/in*.h" headers,
41: but we cannot use "linux/in6.h" immediately because it currently
1.1.1.2 ! misho 42: conflicts with "netinet/in.h" . (in kernel versions < 3.7.0)
1.1 misho 43: */
44: struct in6_flowlabel_req
45: {
46: struct in6_addr flr_dst;
47: __u32 flr_label;
48: __u8 flr_action;
49: __u8 flr_share;
50: __u16 flr_flags;
51: __u16 flr_expires;
52: __u16 flr_linger;
53: __u32 __flr_pad;
54: /* Options in format of IPV6_PKTOPTIONS */
55: };
56: #endif
57:
58: #define IPV6_FL_A_GET 0
59: #define IPV6_FL_A_PUT 1
60: #define IPV6_FL_A_RENEW 2
61:
62: #define IPV6_FL_F_CREATE 1
63: #define IPV6_FL_F_EXCL 2
64:
65: #define IPV6_FL_S_NONE 0
66: #define IPV6_FL_S_EXCL 1
67: #define IPV6_FL_S_PROCESS 2
68: #define IPV6_FL_S_USER 3
69: #define IPV6_FL_S_ANY 255
70:
71: #define IPV6_FLOWINFO_FLOWLABEL 0x000fffff
72: #define IPV6_FLOWINFO_PRIORITY 0x0ff00000
73:
1.1.1.2 ! misho 74: #endif
1.1 misho 75: #define IPV6_FLOWLABEL_MGR 32
76: #define IPV6_FLOWINFO_SEND 33
77:
78: #endif
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>