Subject: Re: [RFC net-next 0/2] net/sched: cls_flower, act_mirred: VXLAN redirect using TC

From: John Fastabend <[email-masked]>
Date: Mon, 15 Aug 2016 09:37:38 -0700

On 16-08-15 05:59 AM, Amir Vadai wrote:
> On Mon, Aug 15, 2016 at 02:34:00PM +0200, Jiri Pirko wrote:
>> Mon, Aug 15, 2016 at 12:08:10PM CEST, [email-masked] wrote:
>>> On 16-08-15 05:08 AM, Amir Vadai 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, [email-masked] wrote:
>>>
>>>>>
>>>>> 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 \
>>>> 		action mirred egress redirect dev $VXLAN
>>>
>>> Assuming $VXLAN is actually not a linux netdev of type vxlan?
>>> then the action does vxlan encap redirect sends it to the $VXLAN
>>> dev with encapsulation in place.
>>> Sounds to me like a name like "vxlan" would be more usable. Example:
>>
>> I believe those are generic tunelling data
>>
>>
>>>
>>> tc filter add dev $ETH protocol ip parent ffff: prio 10 ..
>>> action vxlan encap src_ip 11.11.0.1 dst_ip 11.11.0.2 key_id 11 ....
>>> action mirred egress redirect dev eth0
>>>
>>>>
>>>> # 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
>>>>
>>>
>>> And a decap would be of the form:
>>> tc filter add dev $ETH protocol ip parent ffff: prio 10 ..
>>> action vxlan decap
>>
>> That's right. Amir, don't you need decap here to drop the tunnel
>> metadata?
> Right. will add a decap that will release it.
> 

FWIW this new approach looks good to me.

Thanks,
John