This email is with the technical difficulty I am having with supporting
above feature.

I have implemented all infrastructure necessary to support the
CLI, netdev-vport, netdev-native-tnl, etc, and currently debugging my way
through this.

I am stuck in ofproto-dpif-xlate::native_tunnel_output(). What I see is
that, although this function has all the parameters needed to create
encapsulation header and know which odp_port to send it out of, it would
still rely on "NORMAL" flow to send out the packet. And "NORMAL" flow
relies on Mac learning table to figure out whether to flood or send it out
of a learned port.

In this new case I am trying out, encap-dst-mac is not programmed in
Mac-learning table(as the encap-dst-mac and out_port are explicitly
specified and can be retrieved from netdev directly. And hence,
xlate_normal() would flood the packet out of all ports and would never
resolve dst-mac address as IP infrastructure on local machine is not
configured for the source-ip address.

My question is:
1. How can I accomplish sending out encapsulated frame without going
through "NORMAL" processing?
2. Any suggestions on how can I go about getting this done?

Thanks
-Vasu

*Vasu Dasari*


On Thu, Apr 30, 2020 at 8:42 AM Vasu Dasari <[email protected]> wrote:

> Hi,
>
> I am trying to implement a functionality, where in if user specifies port
> through which a VxLAN encapsulated packet can be sent out, then use that
> port rather than going through routing procedure.
>
> ovs-vsctl add-port br0 at_vxlan_fp1 -- \
>         set int at_vxlan_fp1 type=vxlan \
>         options:remote_ip=172.32.2.1 options:local_ip=172.32.2.100 \
>         options:dst_mac=00:00:00:00:01:02
> options:src_mac=00:00:00:00:01:01 \
>         options:out_port=1
>
> This would create a fully specified tunnel port, it includes all L2 and L3
> parameters needed to create encapsulated frame. This kind of syntax would
> mimic what is supported by off the shelf hardware like Broadcom. I also
> noticed that pica8's Openflow switch supports this kind of syntax as well 
> (Configuring
> VXLAN <https://docs.pica8.com/display/PICOS2111cg/Configuring+VXLAN>)
>
> And the user could create flows of this sort to transport user packets
> with VxLAN payload:
>
> ovs-ofctl add-flow br0 priority=1,in_port=ovs-ap0,actions=at_vxlan_fp1
> ovs-ofctl add-flow br0 priority=1,in_port=at_vxlan_fp1,actions=ovs-ap0
>
>
> I have initiated a discussion for this kind of request in June, 2019 at, 
> ovs-discuss
> thread
> <https://mail.openvswitch.org/pipermail/ovs-discuss/2019-June/048754.html>.
> And would like to use this thread for design and any other comments.
>
>
> Please let me know what you think.
>
>
> Thanks
>
> -Vasu
>
>
> *Vasu Dasari*
>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to