summaryrefslogtreecommitdiff
path: root/curvetun.h
blob: 46a3d4b793d7e1ea0405433fc71b5001361d27d2 (plain)
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
30
31
32
33
34
35
36
#ifndef CURVETUN_H
#define CURVETUN_H

#include <unistd.h>

#define FILE_CLIENTS	".curvetun/clients"
#define FILE_SERVERS	".curvetun/servers"
#define FILE_PRIVKEY	".curvetun/priv.key"
#define FILE_PUBKEY	".curvetun/pub.key"
#define FILE_USERNAM	".curvetun/username"

#define LOCKFILE	"/var/run/curvetun.pid"

#define DEFAULT_KEY_LEN 64

#define PROTO_FLAG_EXIT	(1 << 0)
#define PROTO_FLAG_INIT	(1 << 1)

struct ct_proto {
        uint16_t payload;
        uint8_t flags;
}  __attribute__((packed));

/* FIXME: think up sth better */
#define TUNBUFF_SIZ	(3 * getpagesize())
#define MAX_EPOLL_SIZE  10000
#define THREADS_PER_CPU 2

extern int server_main(char *home, char *dev, char *port, int udp,
		       int ipv4, int log);
extern int client_main(char *home, char *dev, char *host, char *port, int udp);

#define DEVNAME_SERVER	"curves0"
#define DEVNAME_CLIENT  "curvec0"

#endif /* CURVETUN_H */
) tree03a21cc3d1eb86ecc2e0a45c889e63a1cb366a3f /Documentation/.gitignore parent4c2e07c6a29e0129e975727b9f57eede813eea85 (diff)
pvclock: Add CPU barriers to get correct version value
Protocol for the "version" fields is: hypervisor raises it (making it uneven) before it starts updating the fields and raises it again (making it even) when it is done. Thus the guest can make sure the time values it got are consistent by checking the version before and after reading them. Add CPU barries after getting version value just like what function vread_pvclock does, because all of callees in this function is inline. Fixes: 502dfeff239e8313bfbe906ca0a1a6827ac8481b Cc: stable@vger.kernel.org Signed-off-by: Minfei Huang <mnghuan@gmail.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'Documentation/.gitignore')