diff options
author | Simon Horman <horms@verge.net.au> | 2013-01-25 16:22:07 +0900 |
---|---|---|
committer | Ben Pfaff <blp@nicira.com> | 2013-02-05 09:17:45 -0800 |
commit | b02475c53b3ca857c45eb5e17d12fdf233a9dac8 (patch) | |
tree | 2f655ed5868adfceff879e372951e04a89599750 /tests/test-bundle.c | |
parent | d224e3501437af4a8480d734a99ca371a1eafa11 (diff) | |
download | openvswitch-b02475c53b3ca857c45eb5e17d12fdf233a9dac8.tar.gz |
User-Space MPLS actions and matches
This patch implements use-space datapath and non-datapath code
to match and use the datapath API set out in Leo Alterman's patch
"user-space datapath: Add basic MPLS support to kernel".
The resulting MPLS implementation supports:
* Pushing a single MPLS label
* Poping a single MPLS label
* Modifying an MPLS lable using set-field or load actions
that act on the label value, tc and bos bit.
* There is no support for manipulating the TTL
this is considered future work.
The single-level push pop limitation is implemented by processing
push, pop and set-field/load actions in order and discarding information
that would require multiple levels of push/pop to be supported.
e.g.
push,push -> the first push is discarded
pop,pop -> the first pop is discarded
This patch is based heavily on work by Ravi K.
Cc: Ravi K <rkerur@gmail.com>
Reviewed-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Ben Pfaff <blp@nicira.com>
Diffstat (limited to 'tests/test-bundle.c')
-rw-r--r-- | tests/test-bundle.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/tests/test-bundle.c b/tests/test-bundle.c index aa8b6f0f4..f5b24b4a3 100644 --- a/tests/test-bundle.c +++ b/tests/test-bundle.c @@ -137,6 +137,7 @@ main(int argc, char *argv[]) for (i = 0; i < N_FLOWS; i++) { random_bytes(&flows[i], sizeof flows[i]); memset(flows[i].zeros, 0, sizeof flows[i].zeros); + flows[i].mpls_depth = 0; flows[i].regs[0] = OFPP_NONE; } |