Alex Wang | 20 Dec 09:35 2014

[per-pmd ftb/cls V2 1/3] dpif-netdev: Add function to get pmd using core id.

This commit adds the function dp_netdev_get_pmd() which allows
users to get 'struct dp_netdev_pmd_thread' based on the core id.

Signed-off-by: Alex Wang <alexw <at> nicira.com>

---
PATCH->V2:
- rebase to master.
---
 lib/dpif-netdev.c |   14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
index 890870c..336277c 100644
--- a/lib/dpif-netdev.c
+++ b/lib/dpif-netdev.c
 <at>  <at>  -431,7 +431,8  <at>  <at>  static void dp_netdev_configure_pmd(struct dp_netdev_pmd_thread *pmd,
                                     struct dp_netdev *dp, int index,
                                     int core_id, int numa_id);
 static void dp_netdev_set_nonpmd(struct dp_netdev *dp);
-static struct dp_netdev_pmd_thread *dp_netdev_get_nonpmd(struct dp_netdev *dp);
+static struct dp_netdev_pmd_thread *dp_netdev_get_pmd(struct dp_netdev *dp,
+                                                      int core_id);
 static void dp_netdev_destroy_all_pmds(struct dp_netdev *dp);
 static void dp_netdev_del_pmds_on_numa(struct dp_netdev *dp, int numa_id);
 static void dp_netdev_set_pmds_on_numa(struct dp_netdev *dp, int numa_id);
 <at>  <at>  -2044,10 +2045,10  <at>  <at>  dpif_netdev_execute(struct dpif *dpif, struct dpif_execute *execute)

     /* Tries finding the 'pmd'.  If NULL is returned, that means
      * the current thread is a non-pmd thread and should use
(Continue reading)

Andy Zhou | 20 Dec 03:49 2014

OVS + BPF, make sense?

Hi, OVS and netdev developers:

On 12/17/2014,  Alexei Starovoiov and a few of the OVS developers
(Joe, Andy, Jesse, Pravin and Justin) got together to discuss possible
ways for OVS to harness the power BPF in recent Linux kernels.  During
the meeting, we feel that the content of the discussion may be of
interest to many OVS and Linux kernel developers, it should be a good
idea to post the meeting minutes.

The meeting minutes can be found below.  I cross post them to both
ovs-dev and netdev mailing list.  Apologises if you receive this email
twice.

We don't have a concrete plan at this point on how BPF can be applied.
However we are interested in exploring further and exchange ideas with
the developer communities.   We can
probably meet again early 2015 if there is sufficient interest in this topic.

Regards,
Andy

BPF current status:
===========================
* Linux kernel up-streaming on going, currently focus on tracing.
Other enhancements
planed, for example, JIT opcode obfuscation, as a security enhancements.

* First set of LLVM upstreaming should land in Q1'15.  More
enhancements will follow.

(Continue reading)

Angel Silva Perez | 20 Dec 03:31 2014
Picon

Re: Xmas Gift

I'm making a free-will financial donation. Reply to partake
{m_schaeffler <at> aol.com<mailto:%7Bm_schaeffler <at> aol.com>} Maria Schaeffler???????
_______________________________________________
dev mailing list
dev <at> openvswitch.org
http://openvswitch.org/mailman/listinfo/dev
Pravin B Shelar | 20 Dec 01:24 2014

[PATCH 1/2] datapath: compat: introduce ovs_iptunnel_handle_offloads()

handle offload code is replicated for different tunneling protocols
define compat function to simplify the code.

Signed-off-by: Pravin B Shelar <pshelar <at> nicira.com>
---
 datapath/linux/compat/gre.c                    |   32 +++-----------
 datapath/linux/compat/include/net/ip_tunnels.h |    3 +
 datapath/linux/compat/ip_tunnels_core.c        |   52 ++++++++++++++++++++++++
 datapath/linux/compat/vxlan.c                  |   19 ++------
 datapath/vport-geneve.c                        |   25 +++++-------
 datapath/vport-lisp.c                          |   26 +++++-------
 6 files changed, 87 insertions(+), 70 deletions(-)

diff --git a/datapath/linux/compat/gre.c b/datapath/linux/compat/gre.c
index 1cd885b..30ee34c 100644
--- a/datapath/linux/compat/gre.c
+++ b/datapath/linux/compat/gre.c
 <at>  <at>  -287,33 +287,15  <at>  <at>  static void gre_csum_fix(struct sk_buff *skb)

 struct sk_buff *gre_handle_offloads(struct sk_buff *skb, bool gre_csum)
 {
-	int err;
-
-	skb_reset_inner_headers(skb);
+	void (*fix_segment)(struct sk_buff *);

-	if (skb_is_gso(skb)) {
-		if (skb_is_encapsulated(skb)) {
-			err = -ENOSYS;
-			goto error;
(Continue reading)

Pravin B Shelar | 20 Dec 01:25 2014

[PATCH 2/2] datapath: Simplify vport_send() error handling.

Today vport-send has complex error handling because it involves
freeing skb and updating stats depending on return value from
vport send implementation.
This can be simplified by delegating responsibility of freeing
skb to the vport implementation for all cases. So that
vport-send needs just update stats.

Signed-off-by: Pravin B Shelar <pshelar <at> nicira.com>
---
 datapath/linux/compat/vxlan.c |    4 +++-
 datapath/vport-geneve.c       |   24 ++++++++++++++++++------
 datapath/vport-gre.c          |   16 +++++++++++-----
 datapath/vport-lisp.c         |   26 ++++++++++++++++++--------
 datapath/vport-vxlan.c        |    2 ++
 datapath/vport.c              |    4 ++--
 6 files changed, 54 insertions(+), 22 deletions(-)

diff --git a/datapath/linux/compat/vxlan.c b/datapath/linux/compat/vxlan.c
index 76ae552..0389b28 100644
--- a/datapath/linux/compat/vxlan.c
+++ b/datapath/linux/compat/vxlan.c
 <at>  <at>  -187,8 +187,10  <at>  <at>  int vxlan_xmit_skb(struct vxlan_sock *vs,

 	/* Need space for new headers (invalidates iph ptr) */
 	err = skb_cow_head(skb, min_headroom);
-	if (unlikely(err))
+	if (unlikely(err)) {
+		kfree_skb(skb);
 		return err;
+	}
(Continue reading)

Joe Stringer | 19 Dec 22:17 2014

[PATCH] upcall: Simplify enable_ufid debug option.

We previously tracked the debug enable/disable of UFID in each udpif,
and allowed the ovs-appctl debug option to turn on UFID features even if
the datapath doesn't support it.

This commit shifts the enable_ufid debug flag to a single flag, and
provides a helper to determine whether UFID features should be used on a
per-udpif basis.

Suggested-by: Andy Zhou <azhou <at> nicira.com>
Signed-off-by: Joe Stringer <joestringer <at> nicira.com>
---
 ofproto/ofproto-dpif-upcall.c |   33 ++++++++++++++++++---------------
 1 file changed, 18 insertions(+), 15 deletions(-)

diff --git a/ofproto/ofproto-dpif-upcall.c b/ofproto/ofproto-dpif-upcall.c
index 6feaa75..4a7a829 100644
--- a/ofproto/ofproto-dpif-upcall.c
+++ b/ofproto/ofproto-dpif-upcall.c
 <at>  <at>  -294,6 +294,7  <at>  <at>  static void upcall_uninit(struct upcall *);
 static upcall_callback upcall_cb;

 static atomic_bool enable_megaflows = ATOMIC_VAR_INIT(true);
+static atomic_bool enable_ufid = ATOMIC_VAR_INIT(true);

 struct udpif *
 udpif_create(struct dpif_backer *backer, struct dpif *dpif)
 <at>  <at>  -573,6 +574,15  <at>  <at>  udpif_flush_all_datapaths(void)
     }
 }

(Continue reading)

Pravin B Shelar | 19 Dec 19:50 2014

[PATCH] datapath: Fix MPLS action validation.

Linux stack do not allow GSO for packet with multiple
encapsulations.  Therefore there was check in MPLS action
validation to detect such case, But is it not really required
since we already have check in action execution.
Removing this check also fixes bug in action copy to no skip
multiple set actions.

Signed-off-by: Pravin B Shelar <pshelar <at> nicira.com>
Reported-by: Srinivas Neginhal <sneginha <at> vmware.com>
Bug #1367702
---
 datapath/flow_netlink.c |   13 ++-----------
 1 files changed, 2 insertions(+), 11 deletions(-)

diff --git a/datapath/flow_netlink.c b/datapath/flow_netlink.c
index 4aae305..c611e71 100644
--- a/datapath/flow_netlink.c
+++ b/datapath/flow_netlink.c
 <at>  <at>  -1764,7 +1764,6  <at>  <at>  static int __ovs_nla_copy_actions(const struct nlattr *attr,
 				  __be16 eth_type, __be16 vlan_tci, bool log)
 {
 	const struct nlattr *a;
-	bool out_tnl_port = false;
 	int rem, err;

 	if (depth >= SAMPLE_ACTION_DEPTH)
 <at>  <at>  -1807,7 +1806,6  <at>  <at>  static int __ovs_nla_copy_actions(const struct nlattr *attr,
 		case OVS_ACTION_ATTR_OUTPUT:
 			if (nla_get_u32(a) >= DP_MAX_PORTS)
 				return -EINVAL;
(Continue reading)

Finucane, Stephen | 19 Dec 16:58 2014
Picon

'27: test atomic operations' unit test hanging

Hi,

I'm seeing the following unit test hanging on multiple boards, while it passes on one board:

	27: test atomic operations

Before I invest time debugging, has anyone seen similar issues with this test?

Regards,
Stephen Finucane

---

PS: The boards are on different kernels (failing: 3.16.6-200.fc20.x86_64, 3.17.2-200.fc20.x86_64,
3.17.6-200.fc20.x86_64; working: 3.14.7-200.default.fc20.x86_64). However, OVS should support
all of these kernels. I've included diffs between the kernel configs for these below in case it's a config issue:

$ diff -u ./config-working ./config-broken  | grep '^-[^-]' | grep -i 'mutex'
-# CONFIG_RT_MUTEX_TESTER is not set
$ diff -u ./config-working ./config-broken  | grep '^-[^-]' | grep -i 'lock'
-CONFIG_PTP_1588_CLOCK_PCH=m
$ diff -u ./config-working ./config-broken  | grep '^-[^-]' | grep -i 'atom'
$

$ diff -u ./config-working ./config-broken  | grep '^+[^+]' | grep -i 'lock'
+CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y
+CONFIG_ARCH_USE_QUEUE_RWLOCK=y
+CONFIG_QUEUE_RWLOCK=y
+# CONFIG_MTD_UBI_BLOCK is not set
+# Clock Source drivers
(Continue reading)

Mrs.Anita Okoli | 19 Dec 16:53 2014
Picon

Have You Receive Alert?

 Attn My Dear,

I have deposited your funds today with (UBA) Bank Office and we
agreed up that the Delivery of your £1,000,000,00 compensation fund
will take off today.So contact (UBA Bank) office with your full info:

(1) Full names:------------
(2) Phone line:--------------
(3) Country of origin:------------
(4) Age:---------------
(5) Occupation:--------------
(6) Home address:-----------

Contact  Mr Johnson Mike
Tel: +22999298696
Email: uba.ubaban <at> yandex.com

Thank you,
Mrs. Anita Okoli
IMF REP. BENIN REP
_______________________________________________
dev mailing list
dev <at> openvswitch.org
http://openvswitch.org/mailman/listinfo/dev
Traynor, Kevin | 19 Dec 16:53 2014
Picon

Re: OVS DPDK support technical direction


> -----Original Message-----
> From: John Xiao [mailto:johnxiao.cloud <at> gmail.com]
> Sent: Thursday, December 18, 2014 2:46 PM
> To: Traynor, Kevin
> Subject: Re: [ovs-dev] OVS DPDK support technical direction
> 
> Hi Kevin,
> 
> The performance number looks great!
> - For DPDK OVS, the number only shows NIC - OVS - NIC as vhost-user is
> not supported yet, do you know what's the schedule for vhost-user
> support?

Assuming you do mean vhost-user (and not userspace-vhost aka vhost-cuse), it is planned to be integrated
into the DPDK vhost library in DPDK 2.0, which is targeted for the end of March. At that point we can look at
upgrading OVS to support DPDK 2.0 and being able to use the DPDK vhost library for vhost-user.

> - On slide #8, it's interesting to see TCP_STREAM degrade quite a lot
> in offload case.
> 
> Thanks,
> Jun
> 
> On Thu, Dec 18, 2014 at 9:32 PM, Traynor, Kevin <kevin.traynor <at> intel.com> wrote:
> > Hi John,
> >
> > The path using DPDK through the netdev can use the exact match cache in dpif-netdev.c to enable very
> fast switching. You could think of this as an equivalent to the fast path in OVDK. Have a look at the
> rates that Madhu Challa presented at the OVS Fall Conference on Slide 3
(Continue reading)

Mrs.Anita Okoli | 19 Dec 16:39 2014
Picon

Have You Receive Alert?

 Attn My Dear,

I have deposited your funds today with (UBA) Bank Office and we
agreed up that the Delivery of your £1,000,000,00 compensation fund
will take off today.So contact (UBA Bank) office with your full info:

(1) Full names:------------
(2) Phone line:--------------
(3) Country of origin:------------
(4) Age:---------------
(5) Occupation:--------------
(6) Home address:-----------

Contact  Mr Johnson Mike
Tel: +22999298696
Email: uba.ubaban <at> yandex.com

Thank you,
Mrs. Anita Okoli
IMF REP. BENIN REP
_______________________________________________
dev mailing list
dev <at> openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Gmane