aboutsummaryrefslogtreecommitdiff
path: root/lib/socket-util.h
diff options
context:
space:
mode:
authorMehak Mahajan <mmahajan@nicira.com>2012-03-10 15:58:10 -0800
committerMehak Mahajan <mmahajan@nicira.com>2012-03-23 18:13:08 -0700
commitf125905cdd3dc0339ad968c0a70128807884b400 (patch)
treeab389d41b625f2d9e5c820bdac80ec2df825ff8a /lib/socket-util.h
parent11460e2316b88f0bd0ea0005d94338d800ea16bd (diff)
Allow configuring DSCP on controller and manager connections.
The changes allow the user to specify a separate dscp value for the controller connection and the manager connection. The value will take effect on resetting the connections. If no value is specified a default value of 192 is chosen for each of the connections. Feature #10074 Requested-by: Rajiv Ramanathan <rramanathan@nicira.com> Signed-off-by: Mehak Mahajan <mmahajan@nicira.com>
Diffstat (limited to 'lib/socket-util.h')
-rw-r--r--lib/socket-util.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/lib/socket-util.h b/lib/socket-util.h
index 422cea9c..32c61e78 100644
--- a/lib/socket-util.h
+++ b/lib/socket-util.h
@@ -23,6 +23,7 @@
#include <netinet/in.h>
#include <stdbool.h>
#include "openvswitch/types.h"
+#include <netinet/ip.h>
int set_nonblocking(int fd);
int get_max_fds(void);
@@ -46,12 +47,12 @@ int get_null_fd(void);
bool inet_parse_active(const char *target, uint16_t default_port,
struct sockaddr_in *sinp);
int inet_open_active(int style, const char *target, uint16_t default_port,
- struct sockaddr_in *sinp, int *fdp);
+ struct sockaddr_in *sinp, int *fdp, uint8_t dscp);
bool inet_parse_passive(const char *target, int default_port,
struct sockaddr_in *sinp);
int inet_open_passive(int style, const char *target, int default_port,
- struct sockaddr_in *sinp);
+ struct sockaddr_in *sinp, uint8_t dscp);
int read_fully(int fd, void *, size_t, size_t *bytes_read);
int write_fully(int fd, const void *, size_t, size_t *bytes_written);
@@ -63,4 +64,14 @@ void xpipe(int fds[2]);
char *describe_fd(int fd);
+/* Default value of dscp bits for connection between controller and manager.
+ * Value of IPTOS_PREC_INTERNETCONTROL = 0xc0 which is defined
+ * in <netinet/ip.h> is used. */
+#define DSCP_DEFAULT IPTOS_PREC_INTERNETCONTROL
+
+/* Invalid dscp value. If the dscp value will not be used, the dscp value
+ * passed must be invalid. Set to 0xFF as the TOS bits passed can only be
+ * 6 bits. */
+#define DSCP_INVALID 0xFF
+
#endif /* socket-util.h */