[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160815094812.GG2024@nanopsycho>
Date: Mon, 15 Aug 2016 11:48:12 +0200
From: Jiri Pirko <jiri@...nulli.us>
To: Amir Vadai <amir@...ai.me>
Cc: Cong Wang <xiyou.wangcong@...il.com>,
John Fastabend <john.fastabend@...il.com>,
Jamal Hadi Salim <jhs@...atatu.com>,
Jiri Pirko <jiri@...lanox.com>,
Linux Kernel Network Developers <netdev@...r.kernel.org>,
Or Gerlitz <ogerlitz@...lanox.com>,
Hadar Har-Zion <hadarh@...lanox.com>,
Oded Shanoon <odeds@...lanox.com>,
Amir Vadai <amirva@...lanox.com>
Subject: Re: [RFC net-next 0/2] net/sched: cls_flower, act_mirred: VXLAN
redirect using TC
Mon, Aug 15, 2016 at 11:08:04AM CEST, amir@...ai.me wrote:
>On Mon, Aug 15, 2016 at 11:17:40AM +0300, Amir Vadai wrote:
>> On Mon, Aug 15, 2016 at 09:11:22AM +0200, Jiri Pirko wrote:
>> > Sun, Aug 14, 2016 at 07:53:30PM CEST, xiyou.wangcong@...il.com wrote:
>> > >On Sun, Aug 14, 2016 at 7:06 AM, Amir Vadai <amir@...ai.me> wrote:
>> > >> tc qdisc add dev $ETH ingress
>> > >>
>> > >> # ENCAP rule for ARP
>> > >> tc filter add dev $ETH protocol 0x806 parent ffff: prio 11 \
>> > >> flower \
>> > >> action mirred egress redirect dev $VXLAN enc_src_ip 11.11.0.1 enc_dst_ip 11.11.0.2 enc_key_id 11 enc_dst_port 4789
>> > >>
>> > >> # ENCAP rule for ICMP
>> > >> tc filter add dev $ETH protocol ip parent ffff: prio 10 \
>> > >> flower ip_proto 1 \
>> > >> action mirred egress redirect dev $VXLAN enc_src_ip 11.11.0.1 enc_dst_ip 11.11.0.2 enc_key_id 11 enc_dst_port 4789
>> > >>
>> > >
>> > >I don't like this. This makes mirred action unnecessarily
>> > >complex, it should really just mirror or redirect packets as
>> > >it is, why it should be aware of tunnel information?
>> > >
>> > >I think you probably need to introduce a new tc action
>> > >for these tunnel information and pipe it to mirred.
>> >
>> > that is the first thing that I thinked of when I saw the patch. I think
>> > you can introduce act_vxlan similar to act_vlan.
>>
>> introducing a new action was the first thing I thought of, but it felt
>> problematic because the actual encap is done by the redirection to the
>> vxlan device. This action is only responsible to supply the metadata and
>> work tightly with the mirred. It is not exactly like vlan that the
>> push/pop actions can live without mirroring/redirecting.
>> But still as all of you said, it makes mirred complex with stuff that
>> shouldn't be there. And between the two options it is better to
>> introduce a new action.
>>
>> I will go in this direction.
>>
>> Thanks,
>> Amir
>
>Any objection to the following?
>
># ENCAP rule
>tc filter add dev $ETH protocol ip parent ffff: prio 10 \
> flower ip_proto 1 \
> action set_tunnel_key src_ip 11.11.0.1 dst_ip 11.11.0.2 key_id 11 dst_port 4789 \
Looks fine to me.
> action mirred egress redirect dev $VXLAN
>
># DECAP rule
>tc filter add dev $VXLAN protocol ip parent ffff: prio 10 \
> flower \
> enc_src_ip 11.11.0.2 enc_dst_ip 11.11.0.1 enc_key_id 11 \
> ip_proto 1 \
> action mirred egress redirect dev $ETH
Powered by blists - more mailing lists