Re: [ovs-dev] [PATCHv2 1/2] bridge: Let ofprotos run once before reporting configuration complete.

2013-12-15 Thread Vasiliy Tolstov
2013/12/14 Ben Pfaff :
> Occasionally in the unit tests the following race can happen:
>
>1. ovs-vsctl updates database
>2. ovs-vswitchd reconfigures, notifies ovs-vsctl that it is complete
>3. ovs-appctl ofproto/trace fails to see newly added port
>4. ovs-vswitchd main loop calls ofproto's ->type_run(), making the
>   new port visible to translation.


Thanks!

-- 
Vasiliy Tolstov,
e-mail: v.tols...@selfip.ru
jabber: v...@selfip.ru
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] World Congress 2014 Invitation.

2013-12-15 Thread Ms. Hannah Paul


Dear Friends,

  On behalf of Global association for human rights defense (GAHRD), It is our 
great pleasure to invite you to the 2014 World Congress on Human Trafficking, 
Sexual Harassment,Prostitution and Sex Work. The Congress will be held at the 
California University, United State of America from (February 17th-21th 2014) 
and from (February 24th-28th 2014) at Conf & Multimedia in Dakar Senegal.

This congress has the potential to save and change the lives of millions of 
women and man who are victims of violence because of their gender, and millions 
of other victims of domestic violence. Sponsored by other benevolent donors 
worldwide.

For more details and requirement for your registration, kindly contact the 
secretariat office via Dr. Wayne Smith E-mail: [secretworldc...@mynet.com] or 
phone [+1- 626-795-6999]. Also feel free to contact me if you need any further 
details related to this events. This world congress provides the most 
comprehensive frame work in the world to prevent violence against women, 
protect its victims, prosecute the perpetrators and set up a wide range of 
measures to address this scourge in all its complexity.

Also note that all interested delegates that requires entry visa to enter the 
California United States to attend this congress will be assisted by the 
organization, in obtaining the visa in their passport. Free air round trip 
tickets to attend this meeting will be provided to all participants. The 
Workshop welcomes paper presentation from any interested participants willing 
to present papers during the congress.

Sincerely,
Ms. Hannah Paul

___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] [threaded reval 1/2] unixctl: Make dpif/dump-flows fetch kernel flows.

2013-12-15 Thread Ethan Jackson
From: Joe Stringer 

Previously we used facets for ovs-appctl dpif/dump-flows commands.
This switches to fetching flows directly from the dpif.  This is
necessary because future patches remove facets and subfacet entirely.

Signed-off-by: Joe Stringer 
Signed-off-by: Ethan Jackson 
Acked-by: Ethan Jackson 
Acked-by: Ben Pfaff 
---
 ofproto/ofproto-dpif.c | 82 +++---
 tests/ofproto-dpif.at  | 82 +-
 2 files changed, 78 insertions(+), 86 deletions(-)

diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c
index 2b07158..9946870 100644
--- a/ofproto/ofproto-dpif.c
+++ b/ofproto/ofproto-dpif.c
@@ -5735,14 +5735,34 @@ ofproto_unixctl_dpif_enable_megaflows(struct 
unixctl_conn *conn,
 unixctl_command_reply(conn, "megaflows enabled");
 }
 
+static bool
+ofproto_dpif_contains_flow(const struct ofproto_dpif *ofproto,
+   const struct nlattr *key, size_t key_len)
+{
+enum odp_key_fitness fitness;
+struct ofproto_dpif *ofp;
+struct flow flow;
+
+xlate_receive(ofproto->backer, NULL, key, key_len, &flow, &fitness, &ofp,
+  NULL, NULL, NULL, NULL);
+return ofp == ofproto;
+}
+
 static void
 ofproto_unixctl_dpif_dump_flows(struct unixctl_conn *conn,
 int argc OVS_UNUSED, const char *argv[],
 void *aux OVS_UNUSED)
 {
 struct ds ds = DS_EMPTY_INITIALIZER;
+const struct dpif_flow_stats *stats;
 const struct ofproto_dpif *ofproto;
-struct subfacet *subfacet;
+struct dpif_flow_dump flow_dump;
+const struct nlattr *actions;
+const struct nlattr *mask;
+const struct nlattr *key;
+size_t actions_len;
+size_t mask_len;
+size_t key_len;
 
 ofproto = ofproto_dpif_lookup(argv[1]);
 if (!ofproto) {
@@ -5750,57 +5770,29 @@ ofproto_unixctl_dpif_dump_flows(struct unixctl_conn 
*conn,
 return;
 }
 
-update_stats(ofproto->backer);
-
-HMAP_FOR_EACH (subfacet, hmap_node, &ofproto->backer->subfacets) {
-struct facet *facet = subfacet->facet;
-struct odputil_keybuf maskbuf;
-struct ofpbuf mask;
-
-if (facet->ofproto != ofproto) {
+ds_init(&ds);
+dpif_flow_dump_start(&flow_dump, ofproto->backer->dpif);
+while (dpif_flow_dump_next(&flow_dump, &key, &key_len, &mask, &mask_len,
+   &actions, &actions_len, &stats)) {
+if (!ofproto_dpif_contains_flow(ofproto, key, key_len)) {
 continue;
 }
 
-ofpbuf_use_stack(&mask, &maskbuf, sizeof maskbuf);
-if (enable_megaflows) {
-odp_flow_key_from_mask(&mask, &facet->xout.wc.masks,
-   &facet->flow, UINT32_MAX);
-}
-
-odp_flow_format(subfacet->key, subfacet->key_len,
-mask.data, mask.size, NULL, &ds, false);
-
-ds_put_format(&ds, ", packets:%"PRIu64", bytes:%"PRIu64", used:",
-  subfacet->dp_packet_count, subfacet->dp_byte_count);
-if (subfacet->used) {
-ds_put_format(&ds, "%.3fs",
-  (time_msec() - subfacet->used) / 1000.0);
-} else {
-ds_put_format(&ds, "never");
-}
-if (subfacet->facet->tcp_flags) {
-ds_put_cstr(&ds, ", flags:");
-packet_format_tcp_flags(&ds, subfacet->facet->tcp_flags);
-}
-
+odp_flow_format(key, key_len, mask, mask_len, NULL, &ds, false);
+ds_put_cstr(&ds, ", ");
+dpif_flow_stats_format(stats, &ds);
 ds_put_cstr(&ds, ", actions:");
-if (facet->xout.slow) {
-uint64_t slow_path_stub[128 / 8];
-const struct nlattr *actions;
-size_t actions_len;
-
-compose_slow_path(ofproto, &facet->flow, facet->xout.slow,
-  slow_path_stub, sizeof slow_path_stub,
-  &actions, &actions_len);
-format_odp_actions(&ds, actions, actions_len);
-} else {
-format_odp_actions(&ds, facet->xout.odp_actions.data,
-   facet->xout.odp_actions.size);
-}
+format_odp_actions(&ds, actions, actions_len);
 ds_put_char(&ds, '\n');
 }
 
-unixctl_command_reply(conn, ds_cstr(&ds));
+if (dpif_flow_dump_done(&flow_dump)) {
+ds_clear(&ds);
+ds_put_format(&ds, "dpif/dump_flows failed: %s", ovs_strerror(errno));
+unixctl_command_reply_error(conn, ds_cstr(&ds));
+} else {
+unixctl_command_reply(conn, ds_cstr(&ds));
+}
 ds_destroy(&ds);
 }
 
diff --git a/tests/ofproto-dpif.at b/tests/ofproto-dpif.at
index a455119..90faea1 100644
--- a/tests/ofproto-dpif.at
+++ b/tests/ofproto-dpif.at
@@ -2370,12 +2370,12 @@ AT_CHECK([ovs-appctl netdev-dummy/receive p2 
'in_port(2),eth(src=50:54:00:00:00:
 AT_CHECK([ovs-appctl netdev-dummy/receive p3 

[ovs-dev] RE

2013-12-15 Thread Adrian & Gillian Bayford

Greetings,

If you have received this email then you are one of the lucky fellows to 
benefit from us. On behalf of myself and family, i am happy to inform you that 
i and my wife Gillian have chosen you to be one of our donation beneficiaries 
from our Euro Millions Jackpot win of 148Million (One hundred and Forty Eight 
Million Pounds Sterling) that held just last year August. Based on the win we 
decided that just 25 people be selected for this benefit, leaving each 
beneficiary with 1.5million Pounds Sterling each to better their lives because 
we cannot enjoy it all alone, as the win is for sharing.

This donation is made out to you as to enable you strengthen your personal 
issues and mostly to generously help us extend hands of giving to the less 
privilege, orphans and charity organizations within your locality.

This might appear strange but it is a reality, so do get back to us quickly via 
email at: adriangbayford...@yeah.net

Regards,
Adrian & Gillian Bayford.
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] Bug#732260: openvswitch: datapath kernel module fails to compile with linux kernel version 3.11

2013-12-15 Thread Aleksi Suhonen
Package: openvswitch
Version: 1.9.3+git20131029-1.1
Severity: important

Dear Maintainer,

I was upgrading our test server to the newest kernel shipping with 
Debian/unstable,
namely "3.11-2", and DKMS failed on openvswitch-datapath-dkms. I attached the 
error
messages from the DKMS make.log file.

Looking at the source file and the referenced header file, it seems that the 
Linux
kernel now supports VLAN EtherTypes other than 0x8100. This has resulted in 
calls
that add VLAN tags having one extra parameter, the desired EtherType.

This sounds like it would require a bigger overhaul in the openvswitch design, 
but
for now I would suggest adding a simple patch that adds ETH_P_8021Q as the
extra parameter when compiling for 3.11. Note that the new parameter was added 
in
the middle of the function's parameter list, not at the end.

Log follows:

  CC [M]  
/var/lib/dkms/openvswitch/1.9.3+git20131029/build/datapath/linux/actions.o
/var/lib/dkms/openvswitch/1.9.3+git20131029/build/datapath/linux/actions.c: In 
function ‘pop_vlan’:
/var/lib/dkms/openvswitch/1.9.3+git20131029/build/datapath/linux/actions.c:104:2:
 error: too few arguments to function ‘__vlan_hwaccel_put_tag’
  __vlan_hwaccel_put_tag(skb, ntohs(tci));
  ^
In file included from 
/var/lib/dkms/openvswitch/1.9.3+git20131029/build/datapath/linux/compat/include/linux/if_vlan.h:6:0,
 from 
/var/lib/dkms/openvswitch/1.9.3+git20131029/build/datapath/linux/actions.c:29:
/usr/src/linux-headers-3.11-2-common/include/linux/if_vlan.h:236:31: note: 
declared here
 static inline struct sk_buff *__vlan_hwaccel_put_tag(struct sk_buff *skb,
   ^
/var/lib/dkms/openvswitch/1.9.3+git20131029/build/datapath/linux/actions.c: In 
function ‘push_vlan’:
/var/lib/dkms/openvswitch/1.9.3+git20131029/build/datapath/linux/actions.c:124:2:
 error: too few arguments to function ‘__vlan_hwaccel_put_tag’
  __vlan_hwaccel_put_tag(skb, ntohs(vlan->vlan_tci) & ~VLAN_TAG_PRESENT);
  ^
In file included from 
/var/lib/dkms/openvswitch/1.9.3+git20131029/build/datapath/linux/compat/include/linux/if_vlan.h:6:0,
 from 
/var/lib/dkms/openvswitch/1.9.3+git20131029/build/datapath/linux/actions.c:29:
/usr/src/linux-headers-3.11-2-common/include/linux/if_vlan.h:236:31: note: 
declared here
 static inline struct sk_buff *__vlan_hwaccel_put_tag(struct sk_buff *skb,
   ^
make[4]: *** 
[/var/lib/dkms/openvswitch/1.9.3+git20131029/build/datapath/linux/actions.o] 
Error 1
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


Re: [ovs-dev] [PATCH] [RFC] Alternate approach to MPLS.

2013-12-15 Thread Simon Horman
Hi Ben,

On Fri, Dec 13, 2013 at 12:28:21AM -0800, Ben Pfaff wrote:
> I've been a little frustrated with the current approach to MPLS, because it
> seems quite difficult to understand.  One particularly difficult bit for
> me is the variables used during translation, e.g. mpls_depth_delta and
> pre_push_mpls_lse.  And what we end up with is support for a single MPLS
> label, which I don't think is going to make any real-world users happy.
> 
> I think that we can do something easier to understand and more powerful
> by just keeping track of all the labels in struct flow.  This patch is a
> first stab at that.  It's incomplete--in particular I have not implemented
> commit_mpls_action() because it seems slightly tricky and it's very late
> at night here--and obviously untested, but I'd appreciate feedback on the
> approach.

Its quite a bit of code to digest but in general my feeling
at this point is that this approach could be made to work.

There are a number of corner cases that my patchset (the previous approach)
tries to address. And I believe they contributed to most of the more
difficult to understand code.

I have tried mentally running through a number of them to see how they
might work out with this new approach. One that seems slightly tricky
is the following in the case that MPLS LSEs are being pushed before VLAN tags.

Assuming no VLAN is present in the original packet:

push_vlan,push_mpls,push_vlan

Or, alternatively, if a VLAN is present in the original packet:

set_vlan_vid,push_mpls,push_vlan

I believe that with this new approach the first VLAN action would be
silently dropped. I believe that this case could be handled using
recirculation and in the mean time detected and rejected.  But I wanted to
bring it to your attention to see how you feel about it.

> I think that if this works out then it would obviate the need for patches
> "odp: Allow VLAN actions after MPLS actions" and "lib: Support pushing of
> MPLS LSE before or after VLAN tag".

Yes, that seems likely.
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] [PATCH -next] openvswitch: remove duplicated include from flow_table.c

2013-12-15 Thread Wei Yongjun
From: Wei Yongjun 

Remove duplicated include.

Signed-off-by: Wei Yongjun 
---
 net/openvswitch/flow_table.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/net/openvswitch/flow_table.c b/net/openvswitch/flow_table.c
index e425427..c686655 100644
--- a/net/openvswitch/flow_table.c
+++ b/net/openvswitch/flow_table.c
@@ -44,8 +44,6 @@
 #include 
 #include 
 
-#include "datapath.h"
-
 #define TBL_MIN_BUCKETS1024
 #define REHASH_INTERVAL(10 * 60 * HZ)
 

___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev