Re: [vpp-dev] TCP Connection Failed Between two veth interfaces switched via VPP

2017-02-22 Thread Hang Shi
thanks Florin/Dave. Florin's suggestion of disabling offload works.

Regards,
Hang

On Wed, Feb 22, 2017 at 4:41 AM, Dave Barach (dbarach) 
wrote:

> The Linux kernel is turfing the TCP (SYN) packets.
>
>
>
> If you run wireshark or tcpdump, you’ll rapidly confirm that
> reasonable-looking SYNs are being sent. Check to see if missing routes or
> iptables are responsible.
>
>
>
> IIRC Keith Burns managed to make this work, copying him.
>
>
>
> Thanks… Dave
>
>
>
> *From:* vpp-dev-boun...@lists.fd.io [mailto:vpp-dev-boun...@lists.fd.io] *On
> Behalf Of *Hang Shi
> *Sent:* Wednesday, February 22, 2017 1:20 AM
> *To:* vpp-dev@lists.fd.io
> *Subject:* [vpp-dev] TCP Connection Failed Between two veth interfaces
> switched via VPP
>
>
>
> Hi,
>
> I am trying to do tcp connection between two veth interfaces via switching
> in VPP, as done in below wiki. The ping is successful, however, the TCP
> connection failed for a TCP connection from a veth interface in one
> namespace to another namespace. Tried on http  and netcat server. Using
> latest git master branch. Going to try earlier codes as this seems to be a
> basic scenarios. Anyone has any quick ideas?
>
> Below are the steps/commands I tried:
>
> https://wiki.fd.io/view/VPP/Tutorial_Routing_and_Switching
>
>
>
>
>
> # create namespace ns0
>
> ip netns add ns0
>
> ip link add vpp0 type veth peer name vethns0
>
> ip link set vethns0 netns ns0
>
> ip netns exec ns0 ip link set lo up
>
> ip netns exec ns0 ip link set vethns0 up
>
> ip netns exec ns0 ip addr add 10.1.1.1/24 dev vethns0
>
> ip link set vpp0 up
>
>
>
> #create namespace ns1
>
> ip netns add ns1
>
> ip link add vpp1 type veth peer name vethns1
>
> ip link set vethns1 netns ns1
>
> ip netns exec ns1 ip link set lo up
>
> ip netns exec ns1 ip link set vethns1 up
>
> ip netns exec ns1 ip addr add 10.1.1.2/24 dev vethns1
>
> ip link set vpp1 up
>
>
>
> # create host-interfaces for vpp0 and vpp1, and assign them to bridge
> domain 1
>
> vppctl create host-interface name vpp0
>
> vppctl create host-interface name vpp1
>
> vppctl set interface state host-vpp0 up
>
> vppctl set interface state host-vpp1 up
>
> vppctl set interface l2 bridge host-vpp0 1
>
> vppctl set interface l2 bridge host-vpp1 1
>
>
>
>
> # on HTTP Server terminal
>
> root@aurora-vpp-vm1:~# ip netns exec ns1 python -m SimpleHTTPServer 80
>
> Serving HTTP on 0.0.0.0 port 80 ...
>
>
>
> # on HTTP Client terminal
>
> root@aurora-vpp-vm1:~# ip netns exec ns0 wget http://10.1.1.2:80
>
> --2017-02-21 22:01:57--  http://10.1.1.2/
>
> Connecting to 10.1.1.2:80...
>
>
>
> #also tried netcat, not working either.
>
> thanks,
>
> Hang
>
>
>
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] TCP Connection Failed Between two veth interfaces switched via VPP

2017-02-22 Thread Dave Barach (dbarach)
The Linux kernel is turfing the TCP (SYN) packets.

If you run wireshark or tcpdump, you’ll rapidly confirm that reasonable-looking 
SYNs are being sent. Check to see if missing routes or iptables are responsible.

IIRC Keith Burns managed to make this work, copying him.

Thanks… Dave

From: vpp-dev-boun...@lists.fd.io [mailto:vpp-dev-boun...@lists.fd.io] On 
Behalf Of Hang Shi
Sent: Wednesday, February 22, 2017 1:20 AM
To: vpp-dev@lists.fd.io
Subject: [vpp-dev] TCP Connection Failed Between two veth interfaces switched 
via VPP

Hi,
I am trying to do tcp connection between two veth interfaces via switching in 
VPP, as done in below wiki. The ping is successful, however, the TCP connection 
failed for a TCP connection from a veth interface in one namespace to another 
namespace. Tried on http  and netcat server. Using latest git master branch. 
Going to try earlier codes as this seems to be a basic scenarios. Anyone has 
any quick ideas?

Below are the steps/commands I tried:

https://wiki.fd.io/view/VPP/Tutorial_Routing_and_Switching




# create namespace ns0

ip netns add ns0

ip link add vpp0 type veth peer name vethns0

ip link set vethns0 netns ns0

ip netns exec ns0 ip link set lo up

ip netns exec ns0 ip link set vethns0 up

ip netns exec ns0 ip addr add 10.1.1.1/24<http://10.1.1.1/24> dev vethns0

ip link set vpp0 up

#create namespace ns1

ip netns add ns1

ip link add vpp1 type veth peer name vethns1

ip link set vethns1 netns ns1

ip netns exec ns1 ip link set lo up

ip netns exec ns1 ip link set vethns1 up

ip netns exec ns1 ip addr add 10.1.1.2/24<http://10.1.1.2/24> dev vethns1

ip link set vpp1 up


# create host-interfaces for vpp0 and vpp1, and assign them to bridge domain 1

vppctl create host-interface name vpp0

vppctl create host-interface name vpp1

vppctl set interface state host-vpp0 up

vppctl set interface state host-vpp1 up

vppctl set interface l2 bridge host-vpp0 1

vppctl set interface l2 bridge host-vpp1 1




# on HTTP Server terminal

root@aurora-vpp-vm1:~# ip netns exec ns1 python -m SimpleHTTPServer 80

Serving HTTP on 0.0.0.0 port 80 ...


# on HTTP Client terminal

root@aurora-vpp-vm1:~# ip netns exec ns0 wget http://10.1.1.2:80

--2017-02-21 22:01:57--  http://10.1.1.2/

Connecting to 10.1.1.2:80...

#also tried netcat, not working either.

thanks,
Hang


___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] TCP Connection Failed Between two veth interfaces switched via VPP

2017-02-21 Thread Florin Coras
Hi Hang, 

A common problem when working with tcp/udp in these sort of setups is 
offloading. Have you tried doing something like:

ethtool --offload  vpp0 rx off tx off
ip netns exec ns0 ethtool --offload vethns0 rx off tx off

HTH, 
Florin

> On Feb 21, 2017, at 10:19 PM, Hang Shi  wrote:
> 
> Hi, 
> 
> I am trying to do tcp connection between two veth interfaces via switching in 
> VPP, as done in below wiki. The ping is successful, however, the TCP 
> connection failed for a TCP connection from a veth interface in one namespace 
> to another namespace. Tried on http  and netcat server. Using latest git 
> master branch. Going to try earlier codes as this seems to be a basic 
> scenarios. Anyone has any quick ideas? 
> 
> Below are the steps/commands I tried: 
> 
> https://wiki.fd.io/view/VPP/Tutorial_Routing_and_Switching 
> 
> 
> 
> 
> 
> # create namespace ns0 
> ip netns add ns0
> ip link add vpp0 type veth peer name vethns0
> ip link set vethns0 netns ns0
> ip netns exec ns0 ip link set lo up
> ip netns exec ns0 ip link set vethns0 up
> ip netns exec ns0 ip addr add 10.1.1.1/24  dev vethns0
> ip link set vpp0 up
> 
> #create namespace ns1
> ip netns add ns1
> ip link add vpp1 type veth peer name vethns1
> ip link set vethns1 netns ns1
> ip netns exec ns1 ip link set lo up
> ip netns exec ns1 ip link set vethns1 up
> ip netns exec ns1 ip addr add 10.1.1.2/24  dev vethns1
> ip link set vpp1 up
> 
> 
> # create host-interfaces for vpp0 and vpp1, and assign them to bridge domain 1
> vppctl create host-interface name vpp0
> vppctl create host-interface name vpp1
> vppctl set interface state host-vpp0 up
> vppctl set interface state host-vpp1 up
> vppctl set interface l2 bridge host-vpp0 1
> vppctl set interface l2 bridge host-vpp1 1
> 
> 
> 
> 
> # on HTTP Server terminal
> root@aurora-vpp-vm1:~# ip netns exec ns1 python -m SimpleHTTPServer 80
> Serving HTTP on 0.0.0.0 port 80 ...
> 
> 
> # on HTTP Client terminal
> root@aurora-vpp-vm1:~# ip netns exec ns0 wget http://10.1.1.2:80 
> 
> --2017-02-21 22:01:57--  http://10.1.1.2/ 
> Connecting to 10.1.1.2:80...
> 
> 
> #also tried netcat, not working either.
> 
> 
> thanks, 
> Hang
> 
> 
> 
> ___
> vpp-dev mailing list
> vpp-dev@lists.fd.io
> https://lists.fd.io/mailman/listinfo/vpp-dev

___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

[vpp-dev] TCP Connection Failed Between two veth interfaces switched via VPP

2017-02-21 Thread Hang Shi
Hi,

I am trying to do tcp connection between two veth interfaces via switching
in VPP, as done in below wiki. The ping is successful, however, the TCP
connection failed for a TCP connection from a veth interface in one
namespace to another namespace. Tried on http  and netcat server. Using
latest git master branch. Going to try earlier codes as this seems to be a
basic scenarios. Anyone has any quick ideas?

Below are the steps/commands I tried:

https://wiki.fd.io/view/VPP/Tutorial_Routing_and_Switching




# create namespace ns0

ip netns add ns0

ip link add vpp0 type veth peer name vethns0

ip link set vethns0 netns ns0

ip netns exec ns0 ip link set lo up

ip netns exec ns0 ip link set vethns0 up

ip netns exec ns0 ip addr add 10.1.1.1/24 dev vethns0

ip link set vpp0 up

#create namespace ns1

ip netns add ns1

ip link add vpp1 type veth peer name vethns1

ip link set vethns1 netns ns1

ip netns exec ns1 ip link set lo up

ip netns exec ns1 ip link set vethns1 up

ip netns exec ns1 ip addr add 10.1.1.2/24 dev vethns1

ip link set vpp1 up


# create host-interfaces for vpp0 and vpp1, and assign them to bridge
domain 1

vppctl create host-interface name vpp0

vppctl create host-interface name vpp1

vppctl set interface state host-vpp0 up

vppctl set interface state host-vpp1 up

vppctl set interface l2 bridge host-vpp0 1

vppctl set interface l2 bridge host-vpp1 1




# on HTTP Server terminal

root@aurora-vpp-vm1:~# ip netns exec ns1 python -m SimpleHTTPServer 80

Serving HTTP on 0.0.0.0 port 80 ...


# on HTTP Client terminal

root@aurora-vpp-vm1:~# ip netns exec ns0 wget http://10.1.1.2:80

--2017-02-21 22:01:57--  http://10.1.1.2/

Connecting to 10.1.1.2:80...


#also tried netcat, not working either.


thanks,
Hang
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev