summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--AUTHORS1
-rw-r--r--lib/packets.c9
-rw-r--r--utilities/ovs-openflowd.8.in3
-rw-r--r--vswitchd/vswitch.xml2
4 files changed, 11 insertions, 4 deletions
diff --git a/AUTHORS b/AUTHORS
index 9adaa6d3d..6a8166878 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -49,6 +49,7 @@ Joan Cirer joan@ev0.net
John Galgay john@galgay.net
Luiz Henrique Ozaki luiz.ozaki@gmail.com
Michael Mao mmao@nicira.com
+Pankaj Thakkar thakkar@nicira.com
Paulo Cravero pcravero@as2594.net
Peter Balland peter@nicira.com
Ram Jothikumar rjothikumar@nicira.com
diff --git a/lib/packets.c b/lib/packets.c
index 5c51feb1f..2dc82fe12 100644
--- a/lib/packets.c
+++ b/lib/packets.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009 Nicira Networks.
+ * Copyright (c) 2009, 2010 Nicira Networks.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -20,11 +20,16 @@
#include <stdlib.h>
#include "ofpbuf.h"
+/* Parses 's' as a 16-digit hexadecimal number representing a datapath ID. On
+ * success stores the dpid into '*dpidp' and returns true, on failure stores 0
+ * into '*dpidp' and returns false.
+ *
+ * Rejects an all-zeros dpid as invalid. */
bool
dpid_from_string(const char *s, uint64_t *dpidp)
{
*dpidp = (strlen(s) == 16 && strspn(s, "0123456789abcdefABCDEF") == 16
- ? strtoll(s, NULL, 16)
+ ? strtoull(s, NULL, 16)
: 0);
return *dpidp != 0;
}
diff --git a/utilities/ovs-openflowd.8.in b/utilities/ovs-openflowd.8.in
index 30b3705a1..176459ca4 100644
--- a/utilities/ovs-openflowd.8.in
+++ b/utilities/ovs-openflowd.8.in
@@ -173,7 +173,8 @@ the local port network device, and start the DHCP client afterward.
.SS "OpenFlow Options"
.TP
\fB\-\-datapath\-id=\fIdpid\fR
-Sets \fIdpid\fR, which must consist of exactly 16 hexadecimal digits,
+Sets \fIdpid\fR, which must consist of exactly 16 hexadecimal digits
+and may not be all-zero,
as the datapath ID that the switch will use to identify itself to
OpenFlow controllers.
.IP
diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml
index 74ac27797..c9a6e5786 100644
--- a/vswitchd/vswitch.xml
+++ b/vswitchd/vswitch.xml
@@ -329,7 +329,7 @@
<dt><code>datapath-id</code></dt>
<dd>Exactly 16 hex
digits to set the OpenFlow datapath ID to a specific
- value.</dd>
+ value. May not be all-zero.</dd>
<dt><code>disable-in-band</code></dt>
<dd>If set to <code>true</code>, disable in-band control on
the bridge regardless of controller and manager settings.</dd>