On Fri, Sep 23, 2016 at 12:54 PM, Ansis Atteka <aatt...@nicira.com> wrote: > On Fri, Sep 23, 2016 at 1:12 AM, pravin shelar <pshe...@ovn.org> wrote: >> On Thu, Sep 22, 2016 at 11:59 AM, Ansis Atteka <ansisatt...@gmail.com> wrote: >>> >>> >>> On 20 September 2016 at 20:52, Pravin B Shelar <pshe...@ovn.org> wrote: >>>> >>>> OVS IPsec tunnel support has issues: >>>> 1. It only works for GRE. >>>> >>>> 2. only works on Debian. >>>> >>>> 3. It does not allow user to match on packet-mark >>>> on packet received on tunnel ports. >>>> >>>> >>>> >>>> >>>> Therefore following patch provide alternative to completely >>>> disable ipsec-tunnel support by vswitchd command line option. >>>> This way user can use external daemon to manage IPsec tunnel >>>> traffic and stir it using skb-mark match action in OVS bridge. >>>> >>>> >>>> This patch deprecates support for IPsec tunnel port. >>> >>> >>> There are other alternative solutions worth to mention: >>> 1) remove the special meaning of skb_mark bit #0 and update >>> ovs-monitor-ipsec not to depend on harcoded skb_mark value at all (I think >>> this can be done with some trickery); >> >> I am not sure what does this mean. How are you going match on IPsec traffic? >> >>> 2) allow users to chose OVS mode where OVS can be explicitly told to either >>> use skb_mark for its own needs (e.g. IPsec) OR to pass skb_mark to OpenFlow >>> pipeline as-is; >> >> This was basically this patch does but I have sent another patch to >> just deprecate IPsec support. I have mentioned reasoning for the >> change there. >> >> http://openvswitch.org/pipermail/dev/2016-September/079770.html >> >>> 3) leave bit #0 assigned to IPsec and let OpenFlow to match only on bits >>> #1-32. >>> >>> Your solutions is kinda like 2), except it discourages uses to configure OVS >>> in a way where it consumes skb_mark for itself. >>> >>> I think solutions 1) could be implemented even after your patch. Except, >>> maybe then we should not mention that IPsec will be deprecated in the next >>> release. Also, I would need to think how to address corner cases if >>> ovs-monitor-ipsec can't use skb_mark anymore. >>> >>> Solution 3) would be great from ovs-monitor-ipsec perspective because it >>> would not need to change. However, it possibly would make OpenFlow skb_mark >>> matching look weird compared to other fields that OVS can match on. >>> >> >> I do not like solution 3. It does not allows OVS user to use all bits >> of skb-mark even when there is no IPSEC involved which is what linux >> networking stack provide. > > The reason why IPsec needed this one skb mark bit was because, > otherwise, Linux IP stack (in particular "xfrm lookup" hook - > https://upload.wikimedia.org/wikipedia/commons/3/37/Netfilter-packet-flow.svg) > really does not have slightest idea whether GRE packet came from gre > or ipsec_gre port. > > If this bit is taken away from ovs-monitor-ipsec, because we want OVS > users to be able to use all 32 bits of skb mark in an arbitrary > manner, then, yes, ipsec_* tunnel support must be removed, because, > then from Linux IP stack point of view ipsec_gre and gre would look > the same. So let's just move on with your patch then. > I am not objecting to use one bit for IPsec tunnels. That is required to make IPsec tunnel work on linux. My proposal is to let user set skb mark using open-flow pipeline. So that he has complete control over all bits in skb-mark. In this scheme user configure skb-mark and xfrm to implement IPsec tunnels. OVS does not need to support this port type.
> I guess you will send V2 after addressing implementation related > comments that I had? I have posted another patch to deprecate IPsec. http://openvswitch.org/pipermail/dev/2016-September/079770.html _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev