On 18/11/2017 21:52, Eric Garver wrote:
On Mon, Sep 18, 2017 at 07:16:04AM +0300, Roi Dayan wrote:
From: Paul Blakey <[email protected]>

Implement support for offloading ovs action set using
tc header rewrite action.

Signed-off-by: Paul Blakey <[email protected]>
Reviewed-by: Roi Dayan <[email protected]>
---
  lib/netdev-tc-offloads.c | 201 +++++++++++++++++++++++++++++++++++++++++++++--
  1 file changed, 195 insertions(+), 6 deletions(-)

diff --git a/lib/netdev-tc-offloads.c b/lib/netdev-tc-offloads.c
index 3c145c2..4044a77 100644
--- a/lib/netdev-tc-offloads.c
+++ b/lib/netdev-tc-offloads.c
[...]
@@ -457,14 +575,77 @@ netdev_tc_flow_dump_next(struct netdev_flow_dump *dump,
  }
static int
+parse_put_flow_set_masked_action(struct tc_flower *flower,
+                                 const struct nlattr *set,
+                                 size_t set_len,
+                                 bool hasmask)
+{
+    static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(5, 20);
+    char *set_buff[set_len], *set_data, *set_mask;

This variable length array is causing some travis-ci failures.

https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftravis-ci.org%2Ferig0%2Fovs%2Fjobs%2F304068614%23L1428&data=02%7C01%7Croid%40mellanox.com%7Cf9ed27b7842a469ed82108d52ebdd78a%7Ca652971c7d2e4d9ba6a4d149256f461b%7C0%7C0%7C636466315259075642&sdata=JWFePd31SemecEG3uXGmPKlP3csDO2QhSB5zszl8X8k%3D&reserved=0

thanks Eric. we forgot to go through travis for this feature.
We tried to avoid malloc/free here. we'll fix this.


+    char *key = (char *) &flower->rewrite.key;
+    char *mask = (char *) &flower->rewrite.mask;
+    const struct nlattr *attr;
+    int i, j, type;
+    size_t size;
+
+    /* copy so we can set attr mask to 0 for used ovs key struct members  */
+    memcpy(set_buff, set, set_len);
+    attr = (struct nlattr *) set_buff;
+
[...]

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to