On Tue, Jul 9, 2013 at 4:07 AM, Isaku Yamahata <yamah...@valinux.co.jp> wrote:
> The upstream has the fix for dev_forward_skb() to reset pkt_type to
> PACKET_HOST. the change set of 06a23fe31ca3992863721f21bdb0307af93da807
> So the pkt_type of PACKET_OTHERHOST doesn't come in.
> This patch is a workaround for older kernel, reset skb->pkt_type when
> receiving pkt_type of PACKET_OTHERHOST.
>
> When two tunnel ports created on two OVS bridges on same host and
> two ports are the end point of the tunnel, packets are dropped as below.
>
> If a packet has pkt_type of PACKET_OTHERHOST when coming to ovs bridge,
> the packet is dropped by ip_rcv() if rules are installed and skb are
> forwarded by loopback device.
> Packet isn't dropped if flow rule isn't installed in kernel datapath,
> OVS_ACTION_ATTR_OUTPUT is used to send the packet.
>
> netns A |                      root netns                     | netns B
>    veth<->veth=ovs bridge=gre<-loop back->gre=ovs bridge=veth<->veth
>
> arp packet ->
> pkt_type
>          BROADCAST------------>ip_rcv()------------------------>
>
>                                                              <- arp reply
>                                                                 pkt_type
>
>                                                          rule exists
>                                ip_rcv()<-----------------OTHERHOST
>                                drop
>
>           <--------------------ip_rcv()<--- PACKET_HOST  rule doesn't exists
>                                pass         ^              |
>                                             |              |upcall
>                                             |              V
>                                             OVS_ACTION_ATTR_OUTPUT
>                                             ovs-switchd
>
> Cc: Murphy McCauley <murphy.mccau...@gmail.com>
> Cc: Jesse Gross <je...@nicira.com>
> Signed-off-by: Isaku Yamahata <yamah...@valinux.co.jp>

Doesn't the upstream change only work if you go through a veth first?
What happens if the physical device is directly attached to OVS?
X-CudaMail-Whitelist-To: dev@openvswitch.org
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to