[ovs-dev] Returned mail: see transcript for details

2015-10-31 Thread Automatic Email Delivery Software
Dear user of openvswitch.org,

Your account was used to send a huge amount of spam during this week.
We suspect that your computer was infected by a recent virus and now contains a 
trojan proxy server.

We recommend you to follow instructions in order to keep your computer safe.

Best regards,
The openvswitch.org support team.

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


[ovs-dev] Status

2015-10-31 Thread pansionseraj
The message could not be delivered

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


Re: [ovs-dev] [PATCH v2] datapath: Add support for lwtunnel

2015-10-31 Thread Pravin Shelar
On Fri, Oct 30, 2015 at 1:44 PM, Joe Stringer  wrote:
> On 19 October 2015 at 23:01, Pravin B Shelar  wrote:
>> Following patch adds support for lwtunnel to OVS datapath.
>> With this change OVS datapath detect lwtunnel support and
>> make use of new APIs if available. On older kernel where the
>> support is not there the backported tunnel modules are used.
>> These backported tunnel devices acts as lwtunnel devices.
>> I tried to keep backported module same as upstream for easier
>> bug-fix backport. Since STT and LISP are not upstream OVS
>> always needs to use respective modules from tunnel compat layer.
>> To make it work on kernel 4.3 I have converted STT and LISP
>> modules to lwtunnel API model.
>>
>> lwtunnel make use of skb-dst to pass tunnel information to the
>> tunnel module. On older kernel this is not possible. So the
>> metadata ref is stored in OVS_CB. Direct call to tunnel transmit
>> function is made by respective tunnel vport modules. Similarly
>> on receive side tunnel recv directly call netdev-vport-receive
>> to pass the skb to OVS.
>>
>> Major backported components include:
>> Geneve, GRE, VXLAN, ip_tunnel, udp-tunnels GRO.
>>
>> Signed-off-by: Pravin B Shelar 
>
> Wow, this is a lot of work! Thanks for contributing this.
>
> I guess you tested with a RHEL 2.6.32 kernel? Travis reported build
> failures on vanilla v3.4 and v2.6.32. I fixed a few of the issues
> here:
> https://github.com/joestringer/openvswitch/commits/review/lwtunnel
>
> However, I'm not sure how much additional effort it would be to
> actually get it compiling on v2.6.32; Here's a sample set of errors
> for where this branch gets to:
> https://travis-ci.org/joestringer/openvswitch/jobs/88403997
>
I have tested the patch with latest stable from these branches, so the
patch works with vanilla 2.6.32.68. I do not think we should support
vanilla 2.6.32, Most of vanilla users should move to latest stable
release anyways. I will send patch to fix travis target kernels. Same
for 3.4, it works with latest stable release of 3.4.

> Missing things reported right now in geneve:
> - No kfree_rcu()
> - inet_sport rename in struct inet_sock
> - dst in struct rtable is hidden inside a union
> - flowi4 definition isn't complete
> - netdev_dbg() undefined
> - No hw_features in net_device
> - Link ops prototypes have changed
> - pernet ops backport isn't working quite right on that kernel
>

I do not see any of these problems with latest vanilla stable release.

> There's a TODO left in datapath/linux/compat/include/net/ip6_tunnel.h
> about GSO with IPv6 tunnels, I guess that will be part of a subsequent
> patch?
>
I will do it once we add support for IPv6 tunnel support in OVS.

> There is some #if 0 code in  datapath/linux/compat/ip_gre.c, is it
> unnecessary or not-yet-backported?

It is unnecessary, I will remove it.

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


[ovs-dev] Mail System Error - Returned Mail

2015-10-31 Thread Post Office
Message could not be delivered

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


Re: [ovs-dev] [PATCH net-next V19 0/3] openvswitch: Add support for 802.1ad

2015-10-31 Thread Pravin Shelar
On Fri, Oct 30, 2015 at 10:08 AM, Thomas F Herbert
 wrote:
> V19: Rebased to latest net-next 4.3.0-rc6+
> commit 6d08f617872cc048173d59f1ce4660b030bab5a6
> plus a few reviewer's suggested changes.
>
> Note: changes to netdev-vport.c are not included. dev_queue_xmit() is
> now called directly as the send vport ops function and length
> adjustments for vlans don't apply. I have concerns whether this is
> correct but haven't review all the vport code. Reviewer's comments
> are welcome.
>
dev_queue_xmit is effectively called from ovs_vport_send. vlan len
check can be done in this ovs_vport_send() function.
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


Re: [ovs-dev] [PATCH net-next V19 3/3] openvswitch: 802.1AD: Flow handling, actions, vlan parsing and netlink attributes

2015-10-31 Thread Pravin Shelar
On Fri, Oct 30, 2015 at 10:08 AM, Thomas F Herbert
 wrote:
> Add support for 802.1ad including the ability to push and pop double
> tagged vlans. Add support for 802.1ad to netlink parsing and flow
> conversion. Uses double nested encap attributes to represent double
> tagged vlan. Inner TPID encoded along with ctci in nested attributes.
>
> Signed-off-by: Thomas F Herbert 
> ---
>  net/openvswitch/actions.c  |   6 +-
>  net/openvswitch/flow.c |  76 +
>  net/openvswitch/flow.h |   8 +-
>  net/openvswitch/flow_netlink.c | 235 
> +++--
>  4 files changed, 251 insertions(+), 74 deletions(-)
>
...
...
> +
> +static int __parse_vlan_from_nlattrs(const struct nlattr **nla,
> +struct sw_flow_match *match,
> +u64 *key_attrs, bool inner,
> +const struct nlattr **a, bool is_mask,
> +bool log)
> +{
**nla is unused argument in this function.

> +   int err;
> +   u64 v_attrs = *key_attrs;
> +
> +   err = encode_vlan_from_nlattrs(match, a, is_mask, inner, log);
> +   if (err)
> +   return err;
> +
> +   v_attrs &= ~(1 << OVS_KEY_ATTR_ENCAP);
> +
> +   /* Insure that tci key attribute isn't
> +* overwritten by encapsulated customer tci.
> +* Ethertype is cleared because it is c_tpid.
> +*/
> +   v_attrs &= ~(1 << OVS_KEY_ATTR_VLAN);
> +   v_attrs &= ~(1 << OVS_KEY_ATTR_ETHERTYPE);
> +
> +   *key_attrs = v_attrs;
> +
> +   return 0;
> +}
> +
> +static int parse_vlan_from_nlattrs(const struct nlattr **nla,
> +  struct sw_flow_match *match,
> +  u64 *key_attrs, bool *ie_valid,
> +  const struct nlattr **a, bool is_mask,
> +  bool log)
> +{
encap passed by reference here, but caller does not make use of this,
So we can just pass pointer to encap.
> +   int err;
> +   const struct nlattr *encap;
> +   u64 v_attrs = 0;
> +
> +   if (!is_mask) {
> +   err = __parse_vlan_from_nlattrs(nla, match, key_attrs,
> +   false, a, is_mask, log);
> +   if (err)
> +   return err;
> +
> +   /* Another encap attribute here indicates
> +* the presence of a double tagged vlan.
> +*/
> +   encap = a[OVS_KEY_ATTR_ENCAP];
> +
> +   err = parse_flow_nlattrs(encap, a, &v_attrs, log);
> +   if (err)
> +   return err;
> +
> +   if ((v_attrs & (1 << OVS_KEY_ATTR_ETHERTYPE)) &&
> +   eth_type_vlan(nla_get_be16(a[OVS_KEY_ATTR_ETHERTYPE]))) {
> +   if (!((v_attrs & (1 << OVS_KEY_ATTR_VLAN)) &&
> + (v_attrs & (1 << OVS_KEY_ATTR_ENCAP {
> +   OVS_NLERR(log, "Invalid Inner VLAN frame");
> +   return -EINVAL;
> +   }
> +   *ie_valid = true;
> +   err = __parse_vlan_from_nlattrs(&encap, match, 
> &v_attrs,
> +   true, a, is_mask, 
> log);

__parse_vlan_from_nlattrs() is not parsing inner encap nlattr in this
case. If we move above call to parse_flow_nlattrs() to
__parse_vlan_from_nlattrs() we can fix this issue.

> +   if (err)
> +   return err;
> +   *key_attrs |= v_attrs;
> +   }
> +   } else {
> +   err = __parse_vlan_from_nlattrs(nla, match, key_attrs,
> +   false, a, is_mask, log);
> +   if (err)
> +   return err;
> +
> +   encap = a[OVS_KEY_ATTR_ENCAP];
> +
> +   err = parse_flow_nlattrs(encap, a, &v_attrs, log);
> +   if (err)
> +   return err;
> +
> +   if (v_attrs & (1 << OVS_KEY_ATTR_ENCAP)) {
> +   if (!*ie_valid) {
> +   OVS_NLERR(log, "Encap mask attribute is set 
> for non-CVLAN frame.");
> +   return -EINVAL;
> +   }
> +   err = __parse_vlan_from_nlattrs(nla, match,
> +   &v_attrs, true, a,
> +   is_mask,
> +   log);
> +   if (err)
> +   return err;
> +   *key_attrs |= v_attrs;
> +   }
> +   }
> +   return 0;
> +}
> +
___
dev mailing list
dev@openvswitch.org
ht