Re: [ovs-dev] Important

2017-03-01 Thread Cross, Marie (Estelle) -D91
?


From: Cross, Marie (Estelle) -D91
Sent: Thursday, March 2, 2017 12:30 AM
Subject: Important


Confidential Deal for you. Reply to (richchil...@yahoo.com)  for details.

Regards ?

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] ovs-appctl command failing

2017-03-01 Thread Srikanth Lingala
BTW, I am using OVS 2.6.1 with DPDK 16.07.
In the other machine with OVS 2.5.90 without DPDK, the route is adding fine in 
the ovs/route table.
To add route in ovs/route table, Do I need to do anything different in DPDK 
setup?

Regards,
Srikanth.
-Original Message-
From: ovs-dev-boun...@openvswitch.org [mailto:ovs-dev-boun...@openvswitch.org] 
On Behalf Of Srikanth Lingala
Sent: Wednesday, March 01, 2017 9:00 PM
To: d...@openvswitch.org; ovs-disc...@openvswitch.org
Subject: [ovs-dev] ovs-appctl command failing

Hi,
I am using OVS 2.6.1.

In general, if I add a route using the command 'ip route add 1.1.1.0/24 dev 
br-int', ovs-appctl ovs/route/show should list the added route. But, in my case 
that route is not showing.
Even, If I added manually using the command 'ovs-appctl ovs/route/add', it's 
giving an error. Following are commands executed:

#> ovs-vsctl add-br br-int
#> ifconfig br-int up
#> ovs-appctl ovs/route/add 1.1.1.0/24 br-int Error while inserting route.

I am not able to find any kind of elaborated error log.
But, when I give an IP address (eg: 1.1.1.2) to 'br-int', I am able to see the 
following route in ovs-appctl ovs/route/show:
Cached: 1.1.1.2/32 dev br-int SRC 1.1.1.2

Can anyone help me to identify the issue?

Regards,
Srikanth.
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] ODP integration

2017-03-01 Thread Ben Pfaff
At a glance, I suspect that this work is dead, because the latest commit
is 7 months old.

On Thu, Mar 02, 2017 at 10:18:35AM +0530, Neelakantam Gaddam wrote:
> I am talking about the the changes for Open Data Plane implemented by
> Linaro. Specifically odp-netdev implementation. Please check the link below.
> 
> https://git.linaro.org/lng/odp-ovs.git/?h=master
> 
> On Wed, Mar 1, 2017 at 9:10 PM, Ben Pfaff  wrote:
> 
> > On Wed, Mar 01, 2017 at 12:50:04PM +0530, Neelakantam Gaddam wrote:
> > > Is there any plan for integrating ODP changes from Linaro group into
> > > mainline?
> >
> > I haven't heard of these.  What do they do?  Where are they?
> >
> 
> 
> 
> -- 
> Thanks & Regards
> Neelakantam Gaddam
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] ODP integration

2017-03-01 Thread Neelakantam Gaddam
I am talking about the the changes for Open Data Plane implemented by
Linaro. Specifically odp-netdev implementation. Please check the link below.

https://git.linaro.org/lng/odp-ovs.git/?h=master

On Wed, Mar 1, 2017 at 9:10 PM, Ben Pfaff  wrote:

> On Wed, Mar 01, 2017 at 12:50:04PM +0530, Neelakantam Gaddam wrote:
> > Is there any plan for integrating ODP changes from Linaro group into
> > mainline?
>
> I haven't heard of these.  What do they do?  Where are they?
>



-- 
Thanks & Regards
Neelakantam Gaddam
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH v3 00/16] port Jiri Benc's L3 patchset to ovs

2017-03-01 Thread Yang, Yi Y
Joe, I checked this tree 
https://github.com/joestringer/openvswitch/commits/dev/backport_review_v0.6 , 
it included all the 802.1ad patches and Jiri's l3 kernel data path patches, so 
I think this is the first step we should take, once they are officially merged, 
Jan and I will rework userspace l3 patches and vxlangpe patches and resubmit 
them based on your tree.

-Original Message-
From: Joe Stringer [mailto:j...@ovn.org] 
Sent: Thursday, March 2, 2017 11:43 AM
To: Yang, Yi Y 
Cc: ovs dev ; Jarno Rajahalme 
Subject: Re: [ovs-dev] [PATCH v3 00/16] port Jiri Benc's L3 patchset to ovs

On 6 February 2017 at 05:04, Yi Yang  wrote:
> This patch set just ports Jiri Benc's L3 8 support patches for layer 3 
> encapsulated packets from net-next to current ovs, it also includes Jiri 
> Benc's 3 userspace patches, Jarno Rajahalme and Pravin Shelar's vlan fix 
> patches for L3 patchset as well as my 3 patches which enabled vxlangpe in 
> compat mode and dpdk netdev in both L2 and L3(layer3=true) mode.
>
> This patchset has been verified on Ubuntu 14.04 x86_64 with Linux kernel 
> 3.13.0-24-generic and 4.9.7, it also passed "make check"
> and "sudo make check-kmod RECHECK=yes" in Fedora 23 with kernel
> 4.2.3-300.fc23.x86_64
>
> This patch set is based on 
> https://mail.openvswitch.org/pipermail/ovs-dev/2017-February/328492.html 
> ([PATCH v2 0/4] Backport 802.1ad patches), please merge this one after 
> merging [PATCH v2 0/4] Backport 802.1ad patches.
>
> Yi Yang (16):
>   datapath: use hard_header_len instead of hardcoded ETH_HLEN
>   datapath: add mac_proto field to the flow key
>   datapath: pass mac_proto to ovs_vport_send
>   datapath: support MPLS push and pop for L3 packets
>   datapath: add processing of L3 packets
>   datapath: netlink: support L3 packets
>   datapath: add Ethernet push and pop actions
>   datapath: allow L3 netdev ports
>   userspace: add support for pop_eth and push_eth actions
>   userspace: add layer 3 flow and switching support
>   userspace: add non-tap (l3) support to GRE vports
>   datapath: Add a missing break statement
>   datapath: upcall: Fix vlan handling.
>   datapath: enable vxlangpe creation in compat mode
>   userspace: enable layer3 option for vxlan-gpe
>   userspace: add vxlan-gpe support for dpdk netdev

Picking this thread back up, apologies for the delay..

Given that these backports + vlan + other series by Jarno may be interdependent 
on each other, I figured that I will assemble a single tree that brings them 
all together, run travis and local kmod testing on a variety of platforms, as 
well as per-commit compile checks with kernels 4.9 and 3.13.

Here's the current tree I'm testing:
https://github.com/joestringer/openvswitch/commits/dev/backport_review_v0.6

Travis looks good (build check against a range of kernels):
https://travis-ci.org/joestringer/openvswitch/builds/206841787

My local system-kmod testing on a variety of platforms is coming out looking 
good so far.

I dropped the userspace changes since they are decoupled and superseded. Where 
they were necessary to fix the build, I folded in the minimal changes necessary 
to fix the patch so that the tree successfully compiles on each individual 
commit.

I'd appreciate if you could look over that tree once more, there's a couple of 
new patches that I backported but otherwise it's all series that have been out 
on the mailinglist over the past few weeks. I folded a few fixes together so 
that the tree should not break in between commits. I also updated the 
formatting of each commit message to unsure that, for example, attribution is 
retained from the original commits. Given they're building fine and testing 
looks good, I'd like to move towards pushing these patches, and then I can 
continue with the next series of backports review.

New commits:
https://github.com/joestringer/openvswitch/commit/8fa9841b9b06139f69f0138868ed9d6df730b748
https://github.com/joestringer/openvswitch/commit/c598981830e1274391fb80bae6ca9862e6c53fda

Where I made changes to the posted patches, I updated the commit message to 
include [Committer notes].
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH v3 00/16] port Jiri Benc's L3 patchset to ovs

2017-03-01 Thread Joe Stringer
On 6 February 2017 at 05:04, Yi Yang  wrote:
> This patch set just ports Jiri Benc's L3 8 support patches for layer 3 
> encapsulated packets from net-next to current ovs, it also includes Jiri 
> Benc's 3 userspace patches, Jarno Rajahalme and Pravin Shelar's vlan fix 
> patches for L3 patchset as well as my 3 patches which enabled vxlangpe in 
> compat mode and dpdk netdev in both L2 and L3(layer3=true) mode.
>
> This patchset has been verified on Ubuntu 14.04 x86_64 with Linux kernel 
> 3.13.0-24-generic and 4.9.7, it also passed "make check"
> and "sudo make check-kmod RECHECK=yes" in Fedora 23 with kernel
> 4.2.3-300.fc23.x86_64
>
> This patch set is based on 
> https://mail.openvswitch.org/pipermail/ovs-dev/2017-February/328492.html 
> ([PATCH v2 0/4] Backport 802.1ad patches), please merge this one after 
> merging [PATCH v2 0/4] Backport 802.1ad patches.
>
> Yi Yang (16):
>   datapath: use hard_header_len instead of hardcoded ETH_HLEN
>   datapath: add mac_proto field to the flow key
>   datapath: pass mac_proto to ovs_vport_send
>   datapath: support MPLS push and pop for L3 packets
>   datapath: add processing of L3 packets
>   datapath: netlink: support L3 packets
>   datapath: add Ethernet push and pop actions
>   datapath: allow L3 netdev ports
>   userspace: add support for pop_eth and push_eth actions
>   userspace: add layer 3 flow and switching support
>   userspace: add non-tap (l3) support to GRE vports
>   datapath: Add a missing break statement
>   datapath: upcall: Fix vlan handling.
>   datapath: enable vxlangpe creation in compat mode
>   userspace: enable layer3 option for vxlan-gpe
>   userspace: add vxlan-gpe support for dpdk netdev

Picking this thread back up, apologies for the delay..

Given that these backports + vlan + other series by Jarno may be
interdependent on each other, I figured that I will assemble a single
tree that brings them all together, run travis and local kmod testing
on a variety of platforms, as well as per-commit compile checks with
kernels 4.9 and 3.13.

Here's the current tree I'm testing:
https://github.com/joestringer/openvswitch/commits/dev/backport_review_v0.6

Travis looks good (build check against a range of kernels):
https://travis-ci.org/joestringer/openvswitch/builds/206841787

My local system-kmod testing on a variety of platforms is coming out looking
good so far.

I dropped the userspace changes since they are decoupled and
superseded. Where they were necessary to fix the build, I folded in
the minimal changes necessary to fix the patch so that the tree
successfully compiles on each individual commit.

I'd appreciate if you could look over that tree once more, there's a
couple of new patches that I backported but otherwise it's all series
that have been out on the mailinglist over the past few weeks. I
folded a few fixes together so that the tree should not break in
between commits. I also updated the formatting of each commit message to
unsure that, for example, attribution is retained from the original
commits. Given they're building fine and testing looks good, I'd like
to move towards pushing these patches, and then I can continue with
the next series of backports review.

New commits:
https://github.com/joestringer/openvswitch/commit/8fa9841b9b06139f69f0138868ed9d6df730b748
https://github.com/joestringer/openvswitch/commit/c598981830e1274391fb80bae6ca9862e6c53fda

Where I made changes to the posted patches, I updated the commit
message to include [Committer notes].
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] [PATCH 6/7] system-traffic: 802.1ad: Add push/pop test cases.

2017-03-01 Thread Eric Garver
Two test cases to push and pop an outer tag between two "customer"
bridges. One to push/pop 0x88a8. One to push/pop a second 0x8100.

Signed-off-by: Eric Garver 
---
 tests/system-traffic.at | 112 
 1 file changed, 112 insertions(+)

diff --git a/tests/system-traffic.at b/tests/system-traffic.at
index d062124ba3ca..9cce9467e20b 100644
--- a/tests/system-traffic.at
+++ b/tests/system-traffic.at
@@ -3178,3 +3178,115 @@ NS_CHECK_EXEC([at_ns0], [ping -q -c 1 -w 3 10.2.2.2], 
[1], [ignore])
 
 OVS_TRAFFIC_VSWITCHD_STOP
 AT_CLEANUP
+
+
+AT_SETUP([802.1ad - push/pop outer 802.1ad])
+OVS_TRAFFIC_VSWITCHD_START([set Open_vSwitch . other_config:vlan-limit=0])
+OVS_CHECK_8021AD()
+
+ADD_BR([br1])
+ADD_BR([br2])
+ADD_NAMESPACES(at_ns0, at_ns1)
+
+AT_CHECK([ip link add ovs-p0 type veth peer name ovs-p1])
+AT_CHECK([ip link set dev ovs-p0 up])
+AT_CHECK([ip link set dev ovs-p1 up])
+AT_CHECK([ovs-vsctl add-port br0 ovs-p0])
+AT_CHECK([ovs-vsctl add-port br1 ovs-p1])
+on_exit 'ip link del ovs-p0'
+
+AT_CHECK([ip link add ovs-p2 type veth peer name ovs-p3])
+AT_CHECK([ip link set dev ovs-p2 up])
+AT_CHECK([ip link set dev ovs-p3 up])
+AT_CHECK([ovs-vsctl add-port br0 ovs-p2])
+AT_CHECK([ovs-vsctl add-port br2 ovs-p3])
+on_exit 'ip link del ovs-p2'
+
+ADD_VETH(p4, at_ns0, br1, "10.1.1.1/24")
+ADD_VETH(p5, at_ns1, br2, "10.1.1.2/24")
+ADD_CVLAN(p4, at_ns0, 100, "10.2.2.1/24")
+ADD_CVLAN(p5, at_ns1, 100, "10.2.2.2/24")
+
+AT_DATA([flows-br0.txt], [dnl
+priority=1 action=drop
+priority=100 in_port=1 action=push_vlan:0x88a8,mod_vlan_vid=4094,output:2
+priority=100 in_port=2 action=push_vlan:0x88a8,mod_vlan_vid=4094,output:1
+])
+
+AT_DATA([flows-customer-br.txt], [dnl
+priority=1 action=normal
+priority=100 in_port=1 vlan_tci=0x1000/0x1000 action=pop_vlan,normal
+])
+
+AT_CHECK([ovs-ofctl --bundle add-flows br0 flows-br0.txt])
+AT_CHECK([ovs-ofctl --bundle add-flows br1 flows-customer-br.txt])
+AT_CHECK([ovs-ofctl --bundle add-flows br2 flows-customer-br.txt])
+
+OVS_WAIT_UNTIL([ip netns exec at_ns0 ping -c 1 10.2.2.2])
+
+NS_CHECK_EXEC([at_ns0], [ping -q -c 3 -i 0.3 -w 2 10.2.2.2 | FORMAT_PING], 
[0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+NS_CHECK_EXEC([at_ns0], [ping -s 1600 -q -c 3 -i 0.3 -w 2 10.2.2.2 | 
FORMAT_PING], [0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+OVS_TRAFFIC_VSWITCHD_STOP
+AT_CLEANUP
+
+
+AT_SETUP([802.1ad - push/pop outer 802.1q])
+OVS_TRAFFIC_VSWITCHD_START([set Open_vSwitch . other_config:vlan-limit=0])
+OVS_CHECK_8021AD()
+
+ADD_BR([br1])
+ADD_BR([br2])
+ADD_NAMESPACES(at_ns0, at_ns1)
+
+AT_CHECK([ip link add ovs-p0 type veth peer name ovs-p1])
+AT_CHECK([ip link set dev ovs-p0 up])
+AT_CHECK([ip link set dev ovs-p1 up])
+AT_CHECK([ovs-vsctl add-port br0 ovs-p0])
+AT_CHECK([ovs-vsctl add-port br1 ovs-p1])
+on_exit 'ip link del ovs-p0'
+
+AT_CHECK([ip link add ovs-p2 type veth peer name ovs-p3])
+AT_CHECK([ip link set dev ovs-p2 up])
+AT_CHECK([ip link set dev ovs-p3 up])
+AT_CHECK([ovs-vsctl add-port br0 ovs-p2])
+AT_CHECK([ovs-vsctl add-port br2 ovs-p3])
+on_exit 'ip link del ovs-p2'
+
+ADD_VETH(p4, at_ns0, br1, "10.1.1.1/24")
+ADD_VETH(p5, at_ns1, br2, "10.1.1.2/24")
+ADD_CVLAN(p4, at_ns0, 100, "10.2.2.1/24")
+ADD_CVLAN(p5, at_ns1, 100, "10.2.2.2/24")
+
+AT_DATA([flows-br0.txt], [dnl
+priority=1 action=drop
+priority=100 in_port=1 action=push_vlan:0x8100,mod_vlan_vid=4094,output:2
+priority=100 in_port=2 action=push_vlan:0x8100,mod_vlan_vid=4094,output:1
+])
+
+AT_DATA([flows-customer-br.txt], [dnl
+priority=1 action=normal
+priority=100 in_port=1 vlan_tci=0x1000/0x1000 action=pop_vlan,normal
+])
+
+AT_CHECK([ovs-ofctl --bundle add-flows br0 flows-br0.txt])
+AT_CHECK([ovs-ofctl --bundle add-flows br1 flows-customer-br.txt])
+AT_CHECK([ovs-ofctl --bundle add-flows br2 flows-customer-br.txt])
+
+OVS_WAIT_UNTIL([ip netns exec at_ns0 ping -c 1 10.2.2.2])
+
+NS_CHECK_EXEC([at_ns0], [ping -q -c 3 -i 0.3 -w 2 10.2.2.2 | FORMAT_PING], 
[0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+NS_CHECK_EXEC([at_ns0], [ping -s 1600 -q -c 3 -i 0.3 -w 2 10.2.2.2 | 
FORMAT_PING], [0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+OVS_TRAFFIC_VSWITCHD_STOP
+AT_CLEANUP
-- 
2.10.0

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] [PATCH 7/7] system-traffic: 802.1ad: Add dot1q-tunnel test case.

2017-03-01 Thread Eric Garver
Test case for dot1q-tunnel between two "customer" bridges.

Signed-off-by: Eric Garver 
---
 tests/system-traffic.at | 63 +
 1 file changed, 63 insertions(+)

diff --git a/tests/system-traffic.at b/tests/system-traffic.at
index 9cce9467e20b..2e450974b619 100644
--- a/tests/system-traffic.at
+++ b/tests/system-traffic.at
@@ -3290,3 +3290,66 @@ NS_CHECK_EXEC([at_ns0], [ping -s 1600 -q -c 3 -i 0.3 -w 
2 10.2.2.2 | FORMAT_PING
 
 OVS_TRAFFIC_VSWITCHD_STOP
 AT_CLEANUP
+
+
+AT_SETUP([802.1ad - 802.1q tunnel])
+OVS_TRAFFIC_VSWITCHD_START([set Open_vSwitch . other_config:vlan-limit=0])
+OVS_CHECK_8021AD()
+
+ADD_BR([br1])
+ADD_BR([br2])
+ADD_NAMESPACES(at_ns0, at_ns1)
+
+AT_CHECK([ip link add ovs-p0 type veth peer name ovs-p1])
+AT_CHECK([ip link set dev ovs-p0 up])
+AT_CHECK([ip link set dev ovs-p1 up])
+AT_CHECK([ovs-vsctl add-port br0 ovs-p0])
+AT_CHECK([ovs-vsctl add-port br1 ovs-p1])
+on_exit 'ip link del ovs-p0'
+
+AT_CHECK([ip link add ovs-p2 type veth peer name ovs-p3])
+AT_CHECK([ip link set dev ovs-p2 up])
+AT_CHECK([ip link set dev ovs-p3 up])
+AT_CHECK([ovs-vsctl add-port br0 ovs-p2])
+AT_CHECK([ovs-vsctl add-port br2 ovs-p3])
+on_exit 'ip link del ovs-p2'
+
+ADD_VETH(p4, at_ns0, br1, "10.1.1.1/24")
+ADD_VETH(p5, at_ns1, br2, "10.1.1.2/24")
+ADD_CVLAN(p4, at_ns0, 100, "10.2.2.1/24")
+ADD_CVLAN(p5, at_ns1, 100, "10.2.2.2/24")
+ADD_CVLAN(p4, at_ns0, 200, "10.3.2.1/24")
+ADD_CVLAN(p5, at_ns1, 200, "10.3.2.2/24")
+ADD_CVLAN(p4, at_ns0, 300, "10.4.2.1/24")
+ADD_CVLAN(p5, at_ns1, 300, "10.4.2.2/24")
+
+AT_CHECK([ovs-ofctl add-flow br0 action=normal])
+AT_CHECK([ovs-ofctl add-flow br1 action=normal])
+AT_CHECK([ovs-ofctl add-flow br2 action=normal])
+AT_CHECK([ovs-vsctl set port ovs-p0 vlan_mode=dot1q-tunnel tag=4094 
cvlans=100,200])
+AT_CHECK([ovs-vsctl set port ovs-p2 vlan_mode=dot1q-tunnel tag=4094 
cvlans=100,200])
+
+OVS_WAIT_UNTIL([ip netns exec at_ns0 ping -c 1 10.2.2.2])
+OVS_WAIT_UNTIL([ip netns exec at_ns0 ping -c 1 10.3.2.2])
+
+NS_CHECK_EXEC([at_ns0], [ping -q -c 3 -i 0.3 -w 2 10.2.2.2 | FORMAT_PING], 
[0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+NS_CHECK_EXEC([at_ns0], [ping -q -c 3 -i 0.3 -w 2 10.3.2.2 | FORMAT_PING], 
[0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+NS_CHECK_EXEC([at_ns0], [ping -s 1600 -q -c 3 -i 0.3 -w 2 10.2.2.2 | 
FORMAT_PING], [0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+NS_CHECK_EXEC([at_ns0], [ping -s 1600 -q -c 3 -i 0.3 -w 2 10.3.2.2 | 
FORMAT_PING], [0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+dnl CVLAN 300 is not permitted by dot1q-tunnel
+NS_CHECK_EXEC([at_ns0], [ping -q -c 1 -w 3 10.4.2.2], [1], [ignore])
+
+OVS_TRAFFIC_VSWITCHD_STOP(["/dropping VLAN \(0\|300\).*dot1q tunneling/d"])
+AT_CLEANUP
-- 
2.10.0

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] [PATCH 2/7] Add new port VLAN mode "dot1q-tunnel"

2017-03-01 Thread Eric Garver
 - Example:
 ovs-vsctl set Port p1 vlan_mode=dot1q-tunnel tag=100
   Pushes another VLAN 100 header on packets (tagged and untagged) on
   ingress, and pops it on egress.
 - Customer VLAN check:
 ovs-vsctl set Port p1 vlan_mode=dot1q-tunnel tag=100 cvlans=10,20
   Only customer VLAN of 10 and 20 are allowed.

Co-authored-by: Xiao Liang 
Signed-off-by: Xiao Liang 
Signed-off-by: Eric Garver 
---
 NEWS |   1 +
 ofproto/ofproto-dpif-xlate.c |  76 ++
 ofproto/ofproto-dpif-xlate.h |   4 +-
 ofproto/ofproto-dpif.c   |  33 -
 ofproto/ofproto.h|   8 +++-
 tests/ofproto-dpif.at| 110 +--
 vswitchd/bridge.c|  27 ++-
 vswitchd/vswitch.ovsschema   |  16 +--
 vswitchd/vswitch.xml |  31 
 9 files changed, 242 insertions(+), 64 deletions(-)

diff --git a/NEWS b/NEWS
index ca95bd313198..bbd6c92dacc1 100644
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,7 @@ Post-v2.7.0
- Tunnels:
  * Added support to set packet mark for tunnel endpoint using
`egress_pkt_mark` OVSDB option.
+ * New dot1q-tunnel (CVLAN) type via 802.1ad support.
- EMC insertion probability is reduced to 1% and is configurable via
  the new 'other_config:emc-insert-inv-prob' option.
- ovs-ofctl:
diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c
index 321b3ffc314a..53244f8f7685 100644
--- a/ofproto/ofproto-dpif-xlate.c
+++ b/ofproto/ofproto-dpif-xlate.c
@@ -127,9 +127,13 @@ struct xbundle {
 struct lacp *lacp; /* LACP handle or null. */
 
 enum port_vlan_mode vlan_mode; /* VLAN mode. */
+uint16_t qinq_ethtype; /* Ethertype of dot1q-tunnel interface
+* either 0x8100 or 0x88a8. */
 int vlan;  /* -1=trunk port, else a 12-bit VLAN ID. */
 unsigned long *trunks; /* Bitmap of trunked VLANs, if 'vlan' == -1.
 * NULL if all VLANs are trunked. */
+unsigned long *cvlans; /* Bitmap of allowed customer vlans,
+* NULL if all VLANs are allowed */
 bool use_priority_tags;/* Use 802.1p tag for frames in VLAN 0? */
 bool floodable;/* No port has OFPUTIL_PC_NO_FLOOD set? */
 bool protected;/* Protected port mode */
@@ -499,6 +503,7 @@ static bool input_vid_is_valid(const struct xlate_ctx *,
uint16_t vid, struct xbundle *);
 static void xvlan_copy(struct xvlan *dst, const struct xvlan *src);
 static void xvlan_pop(struct xvlan *src);
+static void xvlan_push_uninit(struct xvlan *src);
 static void xvlan_extract(const struct flow *, struct xvlan *);
 static void xvlan_put(struct flow *, const struct xvlan *);
 static void xvlan_input_translate(const struct xbundle *,
@@ -550,8 +555,8 @@ static void xlate_xbridge_set(struct xbridge *, struct dpif 
*,
   const struct dpif_backer_support *);
 static void xlate_xbundle_set(struct xbundle *xbundle,
   enum port_vlan_mode vlan_mode,
-  int vlan,
-  unsigned long *trunks,
+  uint16_t qinq_ethtype, int vlan,
+  unsigned long *trunks, unsigned long *cvlans,
   bool use_priority_tags,
   const struct bond *bond, const struct lacp *lacp,
   bool floodable, bool protected);
@@ -857,8 +862,8 @@ xlate_xbridge_set(struct xbridge *xbridge,
 
 static void
 xlate_xbundle_set(struct xbundle *xbundle,
-  enum port_vlan_mode vlan_mode,
-  int vlan, unsigned long *trunks,
+  enum port_vlan_mode vlan_mode, uint16_t qinq_ethtype,
+  int vlan, unsigned long *trunks, unsigned long *cvlans,
   bool use_priority_tags,
   const struct bond *bond, const struct lacp *lacp,
   bool floodable, bool protected)
@@ -866,8 +871,10 @@ xlate_xbundle_set(struct xbundle *xbundle,
 ovs_assert(xbundle->xbridge);
 
 xbundle->vlan_mode = vlan_mode;
+xbundle->qinq_ethtype = qinq_ethtype;
 xbundle->vlan = vlan;
 xbundle->trunks = trunks;
+xbundle->cvlans = cvlans;
 xbundle->use_priority_tags = use_priority_tags;
 xbundle->floodable = floodable;
 xbundle->protected = protected;
@@ -962,8 +969,8 @@ xlate_xbundle_copy(struct xbridge *xbridge, struct xbundle 
*xbundle)
 new_xbundle->name = xstrdup(xbundle->name);
 xlate_xbundle_init(new_xcfg, new_xbundle);
 
-xlate_xbundle_set(new_xbundle, xbundle->vlan_mode,
-  xbundle->vlan, xbundle->trunks,
+xlate_xbundle_set(new_xbundle, xbundle->vlan_mode, 

[ovs-dev] [PATCH 5/7] system-traffic: 802.1ad: Add vlan_limit test case.

2017-03-01 Thread Eric Garver
Verify that vlan_limit works as expected and preserves legacy dl_type
matching behavior.

Signed-off-by: Eric Garver 
---
 tests/system-traffic.at | 30 ++
 1 file changed, 30 insertions(+)

diff --git a/tests/system-traffic.at b/tests/system-traffic.at
index e04b915c8b57..d062124ba3ca 100644
--- a/tests/system-traffic.at
+++ b/tests/system-traffic.at
@@ -3148,3 +3148,33 @@ ovs-ofctl -O OpenFlow15 dump-group-stats br0
 
 OVS_TRAFFIC_VSWITCHD_STOP
 AT_CLEANUP
+
+AT_BANNER([802.1ad])
+
+AT_SETUP([802.1ad - vlan_limit])
+OVS_TRAFFIC_VSWITCHD_START([set Open_vSwitch . other_config:vlan-limit=0])
+OVS_CHECK_8021AD()
+
+ADD_NAMESPACES(at_ns0, at_ns1)
+
+ADD_VETH(p0, at_ns0, br0, "10.1.1.1/24")
+ADD_VETH(p1, at_ns1, br0, "10.1.1.2/24")
+
+ADD_SVLAN(p0, at_ns0, 4094, "10.255.2.1/24")
+ADD_SVLAN(p1, at_ns1, 4094, "10.255.2.2/24")
+
+ADD_CVLAN(p0.4094, at_ns0, 100, "10.2.2.1/24")
+ADD_CVLAN(p1.4094, at_ns1, 100, "10.2.2.2/24")
+
+AT_CHECK([ovs-ofctl add-flow br0 "priority=1 action=normal"])
+
+OVS_WAIT_UNTIL([ip netns exec at_ns0 ping -c 1 10.2.2.2])
+
+dnl CVLAN traffic should match the flow and drop
+AT_CHECK([ovs-appctl revalidator/purge])
+AT_CHECK([ovs-vsctl set Open_vSwitch . other_config:vlan-limit=1])
+AT_CHECK([ovs-ofctl add-flow br0 "priority=100 dl_type=0x8100 action=drop"])
+NS_CHECK_EXEC([at_ns0], [ping -q -c 1 -w 3 10.2.2.2], [1], [ignore])
+
+OVS_TRAFFIC_VSWITCHD_STOP
+AT_CLEANUP
-- 
2.10.0

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] [PATCH 3/7] system-common-macros: Add macro to check for 802.1ad support.

2017-03-01 Thread Eric Garver
Add macro OVS_CHECK_8021AD().

Signed-off-by: Eric Garver 
---
 tests/system-common-macros.at | 5 +
 1 file changed, 5 insertions(+)

diff --git a/tests/system-common-macros.at b/tests/system-common-macros.at
index 10a08f44567d..846dcbce21dc 100644
--- a/tests/system-common-macros.at
+++ b/tests/system-common-macros.at
@@ -267,3 +267,8 @@ m4_define([OVS_CHECK_GRE],
 m4_define([OVS_CHECK_GENEVE],
 [AT_SKIP_IF([! ip link add foo type geneve help 2>&1 | grep geneve 
>/dev/null])
  OVS_CHECK_FIREWALL()])
+
+# OVS_CHECK_8021AD()
+m4_define([OVS_CHECK_8021AD],
+[AT_SKIP_IF([! grep "VLAN label stack" ovs-vswitchd.log])
+ AT_SKIP_IF([test `sed -n 's/.*VLAN label stack length probed as 
\(\d*\)/\1/p' ovs-vswitchd.log` -lt 2])])
-- 
2.10.0

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] [PATCH 4/7] system-traffic: 802.1ad: Add conntrack ping tests for CVLANs.

2017-03-01 Thread Eric Garver
Signed-off-by: Eric Garver 
---
 tests/system-traffic.at | 107 
 1 file changed, 107 insertions(+)

diff --git a/tests/system-traffic.at b/tests/system-traffic.at
index 29dd6d632937..e04b915c8b57 100644
--- a/tests/system-traffic.at
+++ b/tests/system-traffic.at
@@ -1470,6 +1470,59 @@ NS_CHECK_EXEC([at_ns0], [ping -s 3200 -q -c 3 -i 0.3 -w 
2 10.2.2.2 | FORMAT_PING
 OVS_TRAFFIC_VSWITCHD_STOP
 AT_CLEANUP
 
+AT_SETUP([conntrack - IPv4 fragmentation + cvlan])
+CHECK_CONNTRACK()
+CHECK_CONNTRACK_FRAG()
+OVS_TRAFFIC_VSWITCHD_START([set Open_vSwitch . other_config:vlan-limit=0])
+OVS_CHECK_8021AD()
+
+ADD_NAMESPACES(at_ns0, at_ns1)
+
+ADD_VETH(p0, at_ns0, br0, "10.1.1.1/24")
+ADD_VETH(p1, at_ns1, br0, "10.1.1.2/24")
+
+ADD_SVLAN(p0, at_ns0, 4094, "10.255.2.1/24")
+ADD_SVLAN(p1, at_ns1, 4094, "10.255.2.2/24")
+
+ADD_CVLAN(p0.4094, at_ns0, 100, "10.2.2.1/24")
+ADD_CVLAN(p1.4094, at_ns1, 100, "10.2.2.2/24")
+
+dnl Sending ping through conntrack
+AT_DATA([flows.txt], [dnl
+priority=1,action=drop
+priority=10,arp,action=normal
+priority=100,in_port=1,icmp,action=ct(commit,zone=9),2
+priority=100,in_port=2,ct_state=-trk,icmp,action=ct(table=0,zone=9)
+priority=100,in_port=2,ct_state=+trk+est-new,icmp,action=1
+])
+
+AT_CHECK([ovs-ofctl --bundle add-flows br0 flows.txt])
+
+OVS_WAIT_UNTIL([ip netns exec at_ns0 ping -c 1 10.2.2.2])
+
+dnl Ipv4 fragmentation connectivity check.
+NS_CHECK_EXEC([at_ns0], [ping -s 1600 -q -c 3 -i 0.3 -w 2 10.2.2.2 | 
FORMAT_PING], [0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+dnl Ipv4 fragmentation connectivity check. (outer svlan)
+NS_CHECK_EXEC([at_ns0], [ping -s 1600 -q -c 3 -i 0.3 -w 2 10.255.2.2 | 
FORMAT_PING], [0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+dnl Ipv4 larger fragmentation connectivity check.
+NS_CHECK_EXEC([at_ns0], [ping -s 3200 -q -c 3 -i 0.3 -w 2 10.2.2.2 | 
FORMAT_PING], [0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+dnl Ipv4 larger fragmentation connectivity check. (outer svlan)
+NS_CHECK_EXEC([at_ns0], [ping -s 3200 -q -c 3 -i 0.3 -w 2 10.255.2.2 | 
FORMAT_PING], [0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+OVS_TRAFFIC_VSWITCHD_STOP
+AT_CLEANUP
+
 AT_SETUP([conntrack - IPv6 fragmentation])
 CHECK_CONNTRACK()
 CHECK_CONNTRACK_FRAG()
@@ -1594,6 +1647,60 @@ NS_CHECK_EXEC([at_ns0], [ping6 -s 3200 -q -c 3 -i 0.3 -w 
2 fc00:1::4 | FORMAT_PI
 OVS_TRAFFIC_VSWITCHD_STOP
 AT_CLEANUP
 
+AT_SETUP([conntrack - IPv6 fragmentation + cvlan])
+CHECK_CONNTRACK()
+CHECK_CONNTRACK_FRAG()
+OVS_TRAFFIC_VSWITCHD_START([set Open_vSwitch . other_config:vlan-limit=0])
+OVS_CHECK_8021AD()
+
+ADD_NAMESPACES(at_ns0, at_ns1)
+
+ADD_VETH(p0, at_ns0, br0, "fc00::1/96")
+ADD_VETH(p1, at_ns1, br0, "fc00::2/96")
+
+ADD_SVLAN(p0, at_ns0, 4094, "fc00:::3/96")
+ADD_SVLAN(p1, at_ns1, 4094, "fc00:::4/96")
+
+ADD_CVLAN(p0.4094, at_ns0, 100, "fc00:1::3/96")
+ADD_CVLAN(p1.4094, at_ns1, 100, "fc00:1::4/96")
+
+dnl Sending ping through conntrack
+AT_DATA([flows.txt], [dnl
+priority=1,action=drop
+priority=10,in_port=1,ipv6,action=ct(commit,zone=9),2
+priority=10,in_port=2,ct_state=-trk,ipv6,action=ct(table=0,zone=9)
+priority=10,in_port=2,ct_state=+trk+est-new,ipv6,action=1
+priority=100,icmp6,icmp_type=135,action=normal
+priority=100,icmp6,icmp_type=136,action=normal
+])
+
+AT_CHECK([ovs-ofctl --bundle add-flows br0 flows.txt])
+
+OVS_WAIT_UNTIL([ip netns exec at_ns0 ping6 -c 1 fc00:1::4])
+
+dnl Ipv6 fragmentation connectivity check.
+NS_CHECK_EXEC([at_ns0], [ping6 -s 1600 -q -c 3 -i 0.3 -w 2 fc00:1::4 | 
FORMAT_PING], [0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+dnl Ipv6 fragmentation connectivity check. (outer svlan)
+NS_CHECK_EXEC([at_ns0], [ping6 -s 1600 -q -c 3 -i 0.3 -w 2 fc00:::4 | 
FORMAT_PING], [0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+dnl Ipv6 larger fragmentation connectivity check.
+NS_CHECK_EXEC([at_ns0], [ping6 -s 3200 -q -c 3 -i 0.3 -w 2 fc00:1::4 | 
FORMAT_PING], [0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+dnl Ipv6 larger fragmentation connectivity check. (outer svlan)
+NS_CHECK_EXEC([at_ns0], [ping6 -s 3200 -q -c 3 -i 0.3 -w 2 fc00:::4 | 
FORMAT_PING], [0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+OVS_TRAFFIC_VSWITCHD_STOP
+AT_CLEANUP
+
 AT_SETUP([conntrack - Fragmentation over vxlan])
 OVS_CHECK_VXLAN()
 CHECK_CONNTRACK()
-- 
2.10.0

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] [PATCH 0/7] Support for 802.1ad (QinQ tunneling)

2017-03-01 Thread Eric Garver
This series adds support and tests for 802.1ad (aka QinQ). It also adds support
for a new VLAN mode called "dot1q-tunnel". It is based on work done by Thomas F
Herbert and Xiao Liang.

Tested against:
  - linux 4.9.12 (includes 802.1ad)
  - Yi Yang's 802.1ad backport, linux 4.4.51 and 3.16.39

Major changes since RFC v6:
  - Split dot1q-tunnel into a separate patch
  - Rework xvlan to pass around the entire VLAN stack.
  - Add NEWS items

Eric Garver (7):
  Add support for 802.1ad (QinQ tunneling)
  Add new port VLAN mode "dot1q-tunnel"
  system-common-macros: Add macro to check for 802.1ad support.
  system-traffic: 802.1ad: Add conntrack ping tests for CVLANs.
  system-traffic: 802.1ad: Add vlan_limit test case.
  system-traffic: 802.1ad: Add push/pop test cases.
  system-traffic: 802.1ad: Add dot1q-tunnel test case.

 NEWS  |   6 +
 include/openvswitch/flow.h|  15 +-
 include/openvswitch/ofp-actions.h |  10 +-
 include/openvswitch/packets.h |   8 +
 lib/dpctl.c   |  29 ++-
 lib/dpif-netdev.c |  79 ---
 lib/flow.c| 202 +
 lib/flow.h|  34 ++-
 lib/match.c   |  73 ---
 lib/meta-flow.c   |  23 +-
 lib/nx-match.c|  14 +-
 lib/odp-util.c| 193 +---
 lib/odp-util.h|   8 +-
 lib/ofp-actions.c |  62 +++---
 lib/ofp-util.c|  58 ++---
 lib/tnl-ports.c   |   2 +-
 ofproto/bond.c|   2 +-
 ofproto/ofproto-dpif-ipfix.c  |   6 +-
 ofproto/ofproto-dpif-rid.h|   2 +-
 ofproto/ofproto-dpif-sflow.c  |   4 +-
 ofproto/ofproto-dpif-xlate.c  | 440 ++---
 ofproto/ofproto-dpif-xlate.h  |   6 +-
 ofproto/ofproto-dpif.c|  72 +-
 ofproto/ofproto.c |   7 +
 ofproto/ofproto.h |   9 +-
 ovn/controller/pinctrl.c  |   5 +-
 tests/ofp-print.at|   6 +-
 tests/ofproto-dpif.at | 450 --
 tests/system-common-macros.at |   5 +
 tests/system-traffic.at   | 312 ++
 tests/test-classifier.c   |  17 +-
 tests/test-odp.c  |   1 +
 utilities/ovs-ofctl.c |  29 +--
 vswitchd/bridge.c |  29 ++-
 vswitchd/vswitch.ovsschema|  16 +-
 vswitchd/vswitch.xml  |  49 +
 36 files changed, 1656 insertions(+), 627 deletions(-)

-- 
2.10.0

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] Finanzas para no Financieros

2017-03-01 Thread Contabilidad y Finanzas - 60% de descuento
Beneficie a todo su equipo durante tres meses, Programa Integral de 
Capacitación Online indispensable para los responsables de Contabilidad y 
Finanzas.

12 Conferencias pregrabadas inéditas para capacitar a todo el personal.

Con este Programa Integral de Capacitación Online especializada usted, junto 
con sus colaboradores podrá obtener 12 Conferencias Online con duración de 2 a 
3 horas cada una, diseñadas por especialistas en la materia que le ayudarán a 
tener un panorama de actualización integral ¡único en el mercado!, al tener 
acceso las 24 horas del día, esté donde esté.

Si desea que le adjuntemos el temario Sin compromiso responda este correo con 
la palabra: Finanzas, juntos con los datos solicitados.

Nombre:
Teléfono:
Correo:

centro telefónico: 018002129393



___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] ODP integration

2017-03-01 Thread Ben Pfaff
On Wed, Mar 01, 2017 at 12:50:04PM +0530, Neelakantam Gaddam wrote:
> Is there any plan for integrating ODP changes from Linaro group into
> mainline?

I haven't heard of these.  What do they do?  Where are they?
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] ovs-appctl command failing

2017-03-01 Thread Srikanth Lingala
Hi,
I am using OVS 2.6.1.

In general, if I add a route using the command 'ip route add 1.1.1.0/24 dev 
br-int', ovs-appctl ovs/route/show should list the added route. But, in my case 
that route is not showing.
Even, If I added manually using the command 'ovs-appctl ovs/route/add', it's 
giving an error. Following are commands executed:

#> ovs-vsctl add-br br-int
#> ifconfig br-int up
#> ovs-appctl ovs/route/add 1.1.1.0/24 br-int
Error while inserting route.

I am not able to find any kind of elaborated error log.
But, when I give an IP address (eg: 1.1.1.2) to 'br-int', I am able to see the 
following route in ovs-appctl ovs/route/show:
Cached: 1.1.1.2/32 dev br-int SRC 1.1.1.2

Can anyone help me to identify the issue?

Regards,
Srikanth.
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] Création Site web - Graphisme sur mesure - Hébergement et Maintenance

2017-03-01 Thread Laurent thenaud
Newsletter #01 03/2017 
[http://www.altaea.com/mailster/782480/515db460b77b52be9c297a54b131b08c/aHR0cDovL3d3dy5hbHRhZWEuY29t]

 ALTAEA 
[http://www.altaea.com/mailster/782480/515db460b77b52be9c297a54b131b08c/aHR0cDovL3d3dy5hbHRhZWEuY29t/1]
 

 SITE WEB - GRAPHISME - COMMUNICATION ET MARKETING ON LINE - 
HÉBERGEMENT MAINTENANCE 
[http://www.altaea.com/mailster/782480/515db460b77b52be9c297a54b131b08c/aHR0cDovL3d3dy5hbHRhZWEuY29t/2]
 

 

 

VOTRE SITE WEB SUR MESURE A VOTRE IMAGE AVEC VOTRE GRAPHISME ET VOS 
FONCTIONNALITÉS : 
[http://www.altaea.com/mailster/782480/515db460b77b52be9c297a54b131b08c/aHR0cDovL3d3dy5hbHRhZWEuY29t/3]

MULTILINGUE, ESPACE PRIVé DE TéLéCHARGEMENT, NEWSLETTER, E-COMMERCE, 
RECRUTEMENT, RéSERVATION

 [Nous créons votre site web sur mesure] 
[http://www.altaea.com/mailster/782480/515db460b77b52be9c297a54b131b08c/aHR0cDovL3d3dy5hbHRhZWEuY29t/4]
 

 
 
 

CONTACTEZ-NOUS 09 72 23 61 25* *prix d’un appel local    

 

 

NOUS CRéONS VOTRE SITE WEB à VOTRE IMAGE 
[http://www.altaea.com/mailster/782480/515db460b77b52be9c297a54b131b08c/aHR0cDovL3d3dy5hbHRhZWEuY29t/5]

NOUS RéALISONS UN SITE REPRENANT L’IDENTITé GRAPHIQUE DE VOTRE ENTREPRISE ET 
S’INTéGRANT DANS VOTRE DéMARCHE DE COMMUNICATION.

NOUS ASSURONS L’ENSEMBLE DE LA CONCEPTION ( ERGONOMIE, ARCHITECTURE, 
DéVELOPPEMENT… ) ET LE DESIGN (WEBDESIGN, IMAGES, MAQUETTES, VISUEL…) DE VOTRE 
SITE WEB.

MAQUETTES, CRéATION DES éLéMENTS GRAPHIQUES ( CRéATION ET RETOUCHE DES IMAGES, 
ICôNES, BOUTONS DE NAVIGATION, BANIèRES…)…

En savoir plus 
[http://www.altaea.com/mailster/782480/515db460b77b52be9c297a54b131b08c/aHR0cDovL3d3dy5hbHRhZWEuY29t/6]

LE LOGICIEL LE PLUS ADAPTé à VOS BESOINS DE FONCTIONNALITéS 
[http://www.altaea.com/mailster/782480/515db460b77b52be9c297a54b131b08c/aHR0cDovL3d3dy5hbHRhZWEuY29t/7]

NOUS METTRONS à VOTRE DISPOSITION LA PLATEFORME LOGICIELLE LA PLUS ADAPTéE à 
VOS BESOINS DE FONCTIONNALITéS : SITE MULTILINGUE, E-COMMERCE, CATALOGUE, 
RECRUTEMENT, MULTI RéDACTEURS…

NOS PLATEFORMES LOGICIELLES SONT éVOLUTIVES ET IL EST POSSIBLE D’AJOUTER AU FUR 
ET à MESURE DE VOS BESOINS LES « BRIQUES » NéCESSAIRES.

NOS SITES SONT CONçUS POUR S’ADAPTER AUX DIFFéRENTES TAILLES D’éCRAN ET AUX 
DIFFéRENTS APPAREILS TACTILES.

En savoir plus 
[http://www.altaea.com/mailster/782480/515db460b77b52be9c297a54b131b08c/aHR0cDovL3d3dy5hbHRhZWEuY29t/8]

 [creation site web 4] 
[http://www.altaea.com/mailster/782480/515db460b77b52be9c297a54b131b08c/aHR0cDovL3d3dy5hbHRhZWEuY29t/9]
 

 
 
 

Cliquez ici pour visiter notre site web www.altaea.com 
[http://www.altaea.com/mailster/782480/515db460b77b52be9c297a54b131b08c/aHR0cDovL3d3dy5hbHRhZWEuY29t/10]
  

 

 

Vous avez reçu cet email parce que vous vous êtes abonné à Altaéa SAS agence 
web – Création site web Hauts-de-Seine
[http://www.altaea.com/mailster/782480/515db460b77b52be9c297a54b131b08c/aHR0cDovL3d3dy5hbHRhZWEuY29t/11]
 via d...@openvswitch.org. Si vous ne voulez plus recevoir d’émail, merci de 
désinscription
[http://www.altaea.com/mailster/782480/515db460b77b52be9c297a54b131b08c/aHR0cDovL3d3dy5hbHRhZWEuY29tL25ld3NsZXR0ZXItc2lnbnVwL2Rlc2luc2NyaXB0aW9u]
 

© 2017 Altaéa SAS agence web – Création site web Hauts-de-Seine, Tous droits 
réservés 

 

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] [PATCH] ovn-northd ipam: Support 'exclude_ips' option

2017-03-01 Thread nusiddiq
From: Numan Siddique 

If the CMS wants to make use of ovn ipam it can now provide a
list of IPv4 addresses and a range of IPv4 addresses which
will be excluded from the dynamic address assignment.
To support this, a new option 'exclude_ips' is added in the
Logical_switch.other_config column.

Eg. ovn-nbctl set Logical_switch sw0
other_config:exclude_ips="10.0.0.2 10.0.0.30-10.0.0.40"

The present code, uses hash maps to store the assigned IP addresses.
In order to support this option, this patch has refactored the IPAM
assignment. It now uses a bitmap to manage the IP assignment with
each bit in the bitmap representing an IPv4 address.

Signed-off-by: Numan Siddique 
---
 ovn/northd/ovn-northd.c | 251 +++-
 ovn/ovn-nb.xml  |  24 -
 tests/ovn.at|  44 +
 3 files changed, 210 insertions(+), 109 deletions(-)

diff --git a/ovn/northd/ovn-northd.c b/ovn/northd/ovn-northd.c
index 03dc850..960ce17 100644
--- a/ovn/northd/ovn-northd.c
+++ b/ovn/northd/ovn-northd.c
@@ -372,6 +372,13 @@ port_has_qos_params(const struct smap *opts)
 smap_get(opts, "qos_burst"));
 }
 
+
+struct ipam_info {
+uint32_t start_ip;
+size_t total_ips;
+unsigned long *allocated_ips; /* A bitmap of allocated IPs */
+};
+
 /* The 'key' comes from nbs->header_.uuid or nbr->header_.uuid or
  * sb->external_ids:logical-switch. */
 struct ovn_datapath {
@@ -394,7 +401,7 @@ struct ovn_datapath {
 bool has_unknown;
 
 /* IPAM data. */
-struct hmap ipam;
+struct ipam_info *ipam_info;
 
 /* OVN northd only needs to know about the logical router gateway port for
  * NAT on a distributed router.  This "distributed gateway port" is
@@ -420,21 +427,6 @@ cleanup_macam(struct hmap *macam)
 }
 }
 
-struct ipam_node {
-struct hmap_node hmap_node;
-uint32_t ip_addr; /* Allocated IP address. */
-};
-
-static void
-destroy_ipam(struct hmap *ipam)
-{
-struct ipam_node *node;
-HMAP_FOR_EACH_POP (node, hmap_node, ipam) {
-free(node);
-}
-hmap_destroy(ipam);
-}
-
 static struct ovn_datapath *
 ovn_datapath_create(struct hmap *datapaths, const struct uuid *key,
 const struct nbrec_logical_switch *nbs,
@@ -447,7 +439,6 @@ ovn_datapath_create(struct hmap *datapaths, const struct 
uuid *key,
 od->nbs = nbs;
 od->nbr = nbr;
 hmap_init(>port_tnlids);
-hmap_init(>ipam);
 od->port_key_hint = 0;
 hmap_insert(datapaths, >key_node, uuid_hash(>key));
 return od;
@@ -462,7 +453,10 @@ ovn_datapath_destroy(struct hmap *datapaths, struct 
ovn_datapath *od)
  * use it. */
 hmap_remove(datapaths, >key_node);
 destroy_tnlids(>port_tnlids);
-destroy_ipam(>ipam);
+if (od->ipam_info) {
+bitmap_free(od->ipam_info->allocated_ips);
+free(od->ipam_info);
+}
 free(od->router_ports);
 free(od);
 }
@@ -508,6 +502,90 @@ lrouter_is_enabled(const struct nbrec_logical_router 
*lrouter)
 }
 
 static void
+init_ipam_info_for_datapath(struct ovn_datapath *od)
+{
+if (!od->nbs) {
+return;
+}
+
+const char *subnet_str = smap_get(>nbs->other_config,
+  "subnet");
+if (!subnet_str) {
+return;
+}
+
+ovs_be32 subnet, mask;
+char *error = ip_parse_masked(subnet_str, , );
+if (error || mask == OVS_BE32_MAX || !ip_is_cidr(mask)) {
+static struct vlog_rate_limit rl
+= VLOG_RATE_LIMIT_INIT(5, 1);
+VLOG_WARN_RL(, "bad 'subnet' %s", subnet_str);
+free(error);
+return;
+}
+
+od->ipam_info = xzalloc(sizeof *od->ipam_info);
+od->ipam_info->start_ip = ntohl(subnet) + 1;
+od->ipam_info->total_ips = ~ntohl(mask);
+od->ipam_info->allocated_ips =
+bitmap_allocate(od->ipam_info->total_ips);
+
+/* Mark first IP as taken */
+bitmap_set1(od->ipam_info->allocated_ips, 0);
+
+/* Check if there are any reserver IPs (list) to be excluded from IPAM */
+const char *exclude_ip_list = smap_get(>nbs->other_config,
+   "exclude_ips");
+if (!exclude_ip_list) {
+return;
+}
+
+const char *buf_end = exclude_ip_list + strlen(exclude_ip_list);
+const char *buf = exclude_ip_list;
+int buf_index;
+ovs_be32 ip1, ip2;
+/* exclude_ip_list could be in the format -
+ *  "10.0.0.4,10.0.0.10,10.0.0.20-10.0.0.50,10.0.0.100-10.0.0.110".
+ */
+while (buf < buf_end) {
+buf_index = 0;
+if (ovs_scan_len(buf, _index, IP_SCAN_FMT"-"IP_SCAN_FMT,
+ IP_SCAN_ARGS(), IP_SCAN_ARGS())) {
+/* OK. */
+} else if (ovs_scan_len(buf, _index, IP_SCAN_FMT,
+IP_SCAN_ARGS())) {
+ip2 = 0;
+} else {
+static struct vlog_rate_limit rl
+   

[ovs-dev] [PATCH] netdev-dpdk: Enable INDIRECT_DESC on DPDK vHostUser.

2017-03-01 Thread Billy O'Mahony
This gives much better performance for linux apps in the guest without
affecting dpdk applications in the guest. Test details in cover letter.

Signed-off-by: Billy O'Mahony 
---
 lib/netdev-dpdk.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
index ee53c4c..f449508 100644
--- a/lib/netdev-dpdk.c
+++ b/lib/netdev-dpdk.c
@@ -2769,8 +2769,7 @@ netdev_dpdk_vhost_class_init(void)
 rte_vhost_driver_callback_register(_net_device_ops);
 rte_vhost_feature_disable(1ULL << VIRTIO_NET_F_HOST_TSO4
   | 1ULL << VIRTIO_NET_F_HOST_TSO6
-  | 1ULL << VIRTIO_NET_F_CSUM
-  | 1ULL << VIRTIO_RING_F_INDIRECT_DESC);
+  | 1ULL << VIRTIO_NET_F_CSUM);
 ovs_thread_create("vhost_thread", start_vhost_loop, NULL);
 
 ovsthread_once_done();
-- 
2.7.4

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] [PATCH] netdev-dpdk: Enable INDIRECT_DESC on DPDK vHostUser.

2017-03-01 Thread Billy O'Mahony
Hi All,

I'm creating this patch on the basis of performance results outlined below. In
summary it appears that enabling INDIRECT_DESC on DPDK vHostUser ports leads to
very large increase in performance when using linux stack applications in the
guest with no noticable performance drop for DPDK based applications in the
guest.

Test#1 (VM-VM iperf3 performance)
 VMs use DPDK vhostuser ports
 OVS bridge is configured for normal action.
 OVS version 603381a (on 2.7.0 branch but before release,
 also seen on v2.6.0 and v2.6.1)
 DPDK v16.11
 QEMU v2.5.0 (also seen with v2.7.1)

 Results:
  INDIRECT_DESC enabled5.30 Gbit/s
  INDIRECT_DESC disabled   0.05 Gbit/s

Test#2  (Phy-VM-Phy RFC2544 Throughput)
 DPDK PMDs are polling NIC, DPDK loopback app running in guest.
 OVS bridge is configured with port forwarding to VM (via dpdkvhostuser ports).
 OVS version 603381a (on 2.7.0 branch but before release),
 other versions not tested.
 DPDK v16.11
 QEMU v2.5.0 (also seen with v2.7.1)

 Results:
  INDIRECT_DESC enabled2.75 Mpps @64B pkts (0.176 Gbit/s)
  INDIRECT_DESC disabled   2.75 Mpps @64B pkts (0.176 Gbit/s)


Billy O'Mahony (1):
  netdev-dpdk: Enable INDIRECT_DESC on DPDK vHostUser.

 lib/netdev-dpdk.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

-- 
2.7.4

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev