On 21/03/2018 22:11, Ian Stokes wrote:
"sparse" complains with the warning 'incorrect type in argument 1
(different base types)' in function nl_parse_flower_ip when parsing a key
flag and in function nl_msg_put_flower_options when writing the key
flag. Fix this by using network byte order when reading and writing key
flags to netlink messages.

Fixes: 83e86606 ("netdev-tc-offloads: Add support for IP fragmentation")
CC: Roi Dayan <[email protected]>
Signed-off-by: Ian Stokes <[email protected]>
---
  lib/tc.c | 9 +++++----
  1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/lib/tc.c b/lib/tc.c
index c446d84..6daa447 100644
--- a/lib/tc.c
+++ b/lib/tc.c
@@ -377,8 +377,9 @@ nl_parse_flower_ip(struct nlattr **attrs, struct tc_flower 
*flower) {
      }
if (attrs[TCA_FLOWER_KEY_FLAGS_MASK]) {
-        key->flags = ntohl(nl_attr_get_u32(attrs[TCA_FLOWER_KEY_FLAGS]));
-        mask->flags = ntohl(nl_attr_get_u32(attrs[TCA_FLOWER_KEY_FLAGS_MASK]));
+        key->flags = ntohl(nl_attr_get_be32(attrs[TCA_FLOWER_KEY_FLAGS]));
+        mask->flags =
+                ntohl(nl_attr_get_be32(attrs[TCA_FLOWER_KEY_FLAGS_MASK]));
      }
if (attrs[TCA_FLOWER_KEY_IPV4_SRC_MASK]) {
@@ -1503,9 +1504,9 @@ nl_msg_put_flower_options(struct ofpbuf *request, struct 
tc_flower *flower)
          }
if (flower->mask.flags) {
-            nl_msg_put_u32(request, TCA_FLOWER_KEY_FLAGS,
+            nl_msg_put_be32(request, TCA_FLOWER_KEY_FLAGS,
                             htonl(flower->key.flags));
-            nl_msg_put_u32(request, TCA_FLOWER_KEY_FLAGS_MASK,
+            nl_msg_put_be32(request, TCA_FLOWER_KEY_FLAGS_MASK,
                             htonl(flower->mask.flags));
          }

Acked-by: Roi Dayan <[email protected]>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to