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 guess you will send V2 after addressing implementation related
comments that I had?
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to