[ovs-dev] Returned mail: see transcript for details
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
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
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
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
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
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