socket-util: Remove DSCP_INVALID.
authorEthan Jackson <ethan@nicira.com>
Mon, 16 Apr 2012 20:56:58 +0000 (13:56 -0700)
committerEthan Jackson <ethan@nicira.com>
Tue, 17 Apr 2012 20:15:17 +0000 (13:15 -0700)
The DSCP_INVALID flag allowed callers to prevent socket-util from
modify the DSCP bits of newly created sockets.  However, the two
really important callers (implementations of the controller and
manager tables) never used it.  Furthermore, the other callers
would be fine always setting the DSCP bits to zero.  This patch
removes the DSCP_INVALID option in an effort to simplify the code.

Signed-off-by: Ethan Jackson <ethan@nicira.com>
lib/socket-util.c
lib/socket-util.h
lib/stream-provider.h
lib/unixctl.c
lib/vconn-provider.h
ofproto/collectors.c
ofproto/connmgr.c
tests/test-netflow.c

index aded01c35855acf760c820af5cd91f5a769c0324..3b21256f7ea4ecf6221161389b4178e2818a572d 100644 (file)
@@ -546,8 +546,7 @@ exit:
  * If 'sinp' is non-null, then on success the target address is stored into
  * '*sinp'.
  *
- * 'dscp'  If not DSCP_INVALID, its value becomes the DSCP bits in the IP
- * headers for the new connection. */
+ * 'dscp' becomes the DSCP bits in the IP headers for the new connection. */
 int
 inet_open_active(int style, const char *target, uint16_t default_port,
                  struct sockaddr_in *sinp, int *fdp, uint8_t dscp)
@@ -577,12 +576,10 @@ inet_open_active(int style, const char *target, uint16_t default_port,
     /* The socket options set here ensure that the TOS bits are set during
      * the connection establishment.  If set after connect(), the handshake
      * SYN frames will be sent with a TOS of 0. */
-    if (dscp != DSCP_INVALID) {
-        if (setsockopt(fd, IPPROTO_IP, IP_TOS, &dscp, sizeof dscp)) {
-            VLOG_ERR("%s: socket: %s", target, strerror(errno));
-            error = errno;
-            goto exit;
-        }
+    if (setsockopt(fd, IPPROTO_IP, IP_TOS, &dscp, sizeof dscp)) {
+        VLOG_ERR("%s: socket: %s", target, strerror(errno));
+        error = errno;
+        goto exit;
     }
 
     /* Connect. */
@@ -672,8 +669,7 @@ exit:
  * If 'sinp' is non-null, then on success the bound address is stored into
  * '*sinp'.
  *
- * 'dscp'  If not DSCP_INVALID, its value becomes the DSCP bits in the IP
- * headers for the new connection. */
+ * 'dscp' becomes the DSCP bits in the IP headers for the new connection. */
 int
 inet_open_passive(int style, const char *target, int default_port,
                   struct sockaddr_in *sinp, uint8_t dscp)
@@ -714,12 +710,10 @@ inet_open_passive(int style, const char *target, int default_port,
     /* The socket options set here ensure that the TOS bits are set during
      * the connection establishment.  If set after connect(), the handshake
      * SYN frames will be sent with a TOS of 0. */
-    if (dscp != DSCP_INVALID) {
-        if (setsockopt(fd, IPPROTO_IP, IP_TOS, &dscp, sizeof dscp)) {
-            VLOG_ERR("%s: socket: %s", target, strerror(errno));
-            error = errno;
-            goto error;
-        }
+    if (setsockopt(fd, IPPROTO_IP, IP_TOS, &dscp, sizeof dscp)) {
+        VLOG_ERR("%s: socket: %s", target, strerror(errno));
+        error = errno;
+        goto error;
     }
 
     /* Listen. */
index 32c61e78913e8896383a56ba0899f20f2b2a3bef..07c9327c4d7113d06eb0bc44ee894cf5da128c21 100644 (file)
@@ -69,9 +69,4 @@ char *describe_fd(int fd);
  * 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 */
index 3decb5a8a81eac63e3ebc7442539763a8eb78f56..1eb7c94fdafb670fcfb5035902b1351655f725a4 100644 (file)
@@ -65,9 +65,7 @@ struct stream_class {
      *
      * 'suffix' is a copy of 'name' following the colon and may be modified.
      * 'dscp' is the DSCP value that the new connection should use in the IP
-     * packets it sends.  (If no DSCP value should be set in the packet, dscp
-     * will be set to DSCP_INVALID.  If no DSCP value is specified, DSCP_DEFAULT
-     * value will be applied.)
+     * packets it sends.
      *
      * Returns 0 if successful, otherwise a positive errno value.  If
      * successful, stores a pointer to the new connection in '*streamp'.
@@ -167,9 +165,7 @@ struct pstream_class {
      *
      * 'suffix' is a copy of 'name' following the colon and may be modified.
      * 'dscp' is the DSCP value that the new connection should use in the IP
-     * packets it sends.  (If no DSCP value should be set in the packet, dscp
-     * will be set to DSCP_INVALID.  If no DSCP value is specified, DSCP_DEFAULT
-     * value will be applied.)
+     * packets it sends.
      *
      * Returns 0 if successful, otherwise a positive errno value.  If
      * successful, stores a pointer to the new connection in '*pstreamp'.
index e40f17314cf6eace1deda098debed874344bd169..b495deb80514c81a1a405b49e9da0bbbbeaba7c6 100644 (file)
@@ -221,7 +221,7 @@ unixctl_server_create(const char *path, struct unixctl_server **serverp)
                                program_name, (long int) getpid());
     }
 
-    error = pstream_open(punix_path, &listener, DSCP_INVALID);
+    error = pstream_open(punix_path, &listener, 0);
     if (error) {
         ovs_error(error, "could not initialize control socket %s", punix_path);
         goto exit;
index 43d2072e261f9b7d7ab92cbaa4a93258dcac153c..d6da5f092795f0f46a4bee616dda65bf619824f6 100644 (file)
@@ -63,9 +63,7 @@ struct vconn_class {
      *
      * 'suffix' is a copy of 'name' following the colon and may be modified.
      * 'dscp' is the DSCP value that the new connection should use in the IP
-     * packets it sends.  (If no DSCP value should be set in the packet, dscp
-     * will be set to DSCP_INVALID.  If no DSCP value is specified, DSCP_DEFAULT
-     * value will be applied.)
+     * packets it sends.
      *
      * Returns 0 if successful, otherwise a positive errno value.  If
      * successful, stores a pointer to the new connection in '*vconnp'.
@@ -155,9 +153,7 @@ struct pvconn_class {
      *
      * 'suffix' is a copy of 'name' following the colon and may be modified.
      * 'dscp' is the DSCP value that the new connection should use in the IP
-     * packets it sends.  (If no DSCP value should be set in the packet, dscp
-     * will be set to DSCP_INVALID.  If no DSCP value is specified, DSCP_DEFAULT
-     * value will be applied.)
+     * packets it sends.
      *
      * Returns 0 if successful, otherwise a positive errno value.  If
      * successful, stores a pointer to the new connection in '*pvconnp'.
index b41e8e64c255704f4f9b5de115fa96e2d3344b05..158b26dcf33265e85c4c539caad7c42d8f79d6ee 100644 (file)
@@ -63,8 +63,7 @@ collectors_create(const struct sset *targets, uint16_t default_port,
         int error;
         int fd;
 
-        error = inet_open_active(SOCK_DGRAM, name, default_port, NULL, &fd,
-                                 DSCP_INVALID);
+        error = inet_open_active(SOCK_DGRAM, name, default_port, NULL, &fd, 0);
         if (fd >= 0) {
             c->fds[c->n_fds++] = fd;
         } else {
index 2e05adb8bbaf6ad85bf83207f45325f1292869d7..629c14d07efc06fa19bf67878ffc0e2517dd09e2 100644 (file)
@@ -674,7 +674,7 @@ set_pvconns(struct pvconn ***pvconnsp, size_t *n_pvconnsp,
         struct pvconn *pvconn;
         int error;
 
-        error = pvconn_open(name, &pvconn, DSCP_INVALID);
+        error = pvconn_open(name, &pvconn, 0);
         if (!error) {
             pvconns[n_pvconns++] = pvconn;
         } else {
index 49cab495d09d10d1d94f2736b2fc9c4e3861d451..7d028874786d7ab5216e04e0a175fdf416329e49 100644 (file)
@@ -202,7 +202,7 @@ main(int argc, char *argv[])
     }
     target = argv[optind];
 
-    sock = inet_open_passive(SOCK_DGRAM, target, 0, NULL, DSCP_INVALID);
+    sock = inet_open_passive(SOCK_DGRAM, target, 0, NULL, 0);
     if (sock < 0) {
         ovs_fatal(0, "%s: failed to open (%s)", argv[1], strerror(-sock));
     }