Re: [ovs-dev] [RFC PATCH 05/13] lib: add format_in6_addr and scan_in6_addr

2015-05-29 Thread Ben Pfaff
On Thu, May 14, 2015 at 08:12:36PM +0200, Jiri Benc wrote:
> Add in6_addr counterparts to the existing format and scan functions.
> Otherwise we'd need to recast all the time.
> 
> Signed-off-by: Jiri Benc 

Seems reasonable, thanks.
___
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] [RFC PATCH 05/13] lib: add format_in6_addr and scan_in6_addr

2015-05-14 Thread Jiri Benc
Add in6_addr counterparts to the existing format and scan functions.
Otherwise we'd need to recast all the time.

Signed-off-by: Jiri Benc 
---
 lib/odp-util.c | 28 ++--
 1 file changed, 22 insertions(+), 6 deletions(-)

diff --git a/lib/odp-util.c b/lib/odp-util.c
index 962b84b2cf59..c9349307dec5 100644
--- a/lib/odp-util.c
+++ b/lib/odp-util.c
@@ -1648,13 +1648,12 @@ format_ipv4(struct ds *ds, const char *name, ovs_be32 
key,
 }
 
 static void
-format_ipv6(struct ds *ds, const char *name, const ovs_be32 key_[4],
-const ovs_be32 (*mask_)[4], bool verbose)
+format_in6_addr(struct ds *ds, const char *name,
+const struct in6_addr *key,
+const struct in6_addr *mask,
+bool verbose)
 {
 char buf[INET6_ADDRSTRLEN];
-const struct in6_addr *key = (const struct in6_addr *)key_;
-const struct in6_addr *mask = mask_ ? (const struct in6_addr *)*mask_
-: NULL;
 bool mask_empty = mask && ipv6_mask_is_any(mask);
 
 if (verbose || !mask_empty) {
@@ -1671,6 +1670,16 @@ format_ipv6(struct ds *ds, const char *name, const 
ovs_be32 key_[4],
 }
 
 static void
+format_ipv6(struct ds *ds, const char *name, const ovs_be32 key_[4],
+const ovs_be32 (*mask_)[4], bool verbose)
+{
+format_in6_addr(ds, name,
+(const struct in6_addr *)key_,
+mask_ ? (const struct in6_addr *)*mask_ : NULL,
+verbose);
+}
+
+static void
 format_ipv6_label(struct ds *ds, const char *name, ovs_be32 key,
   const ovs_be32 *mask, bool verbose)
 {
@@ -2245,7 +2254,7 @@ scan_ipv4(const char *s, ovs_be32 *key, ovs_be32 *mask)
 }
 
 static int
-scan_ipv6(const char *s, ovs_be32 (*key)[4], ovs_be32 (*mask)[4])
+scan_in6_addr(const char *s, struct in6_addr *key, struct in6_addr *mask)
 {
 int n;
 char ipv6_s[IPV6_SCAN_LEN + 1];
@@ -2268,6 +2277,13 @@ scan_ipv6(const char *s, ovs_be32 (*key)[4], ovs_be32 
(*mask)[4])
 }
 
 static int
+scan_ipv6(const char *s, ovs_be32 (*key)[4], ovs_be32 (*mask)[4])
+{
+return scan_in6_addr(s, key ? (struct in6_addr *) *key : NULL,
+ mask ? (struct in6_addr *) *mask : NULL);
+}
+
+static int
 scan_ipv6_label(const char *s, ovs_be32 *key, ovs_be32 *mask)
 {
 int key_, mask_;
-- 
1.8.3.1

___
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev