Hi Chris,

We see ‘carrier down’ on the FailsafeEthernet0. What is the remote end to this 
interface? Could you confirm that is up as well?


vpp# show hardware
              Name                Idx   Link  Hardware
FailsafeEthernet0                  1    down  FailsafeEthernet0
  Link speed: 10 Gbps
  Ethernet address 00:0d:3a:f4:eb:8d
  FailsafeEthernet
    carrier down


Thanks!

--
Regards,
Balaji.


From: <vpp-dev@lists.fd.io> on behalf of Chris King <chriskin...@gmail.com>
Date: Wednesday, January 22, 2020 at 11:01 AM
To: "vpp-dev@lists.fd.io" <vpp-dev@lists.fd.io>
Subject: [vpp-dev] interface activation problem using VPP in Azure with DPDK 
failsafe interfaces #vpp #dpdk #azure

As the subject indicates, I am having difficulty getting my VPP interfaces 
activating properly. I am trying to use DPDK-enabled netvsc devices with VPP in 
Ubuntu 18.04 in Azure.

I am trying to follow this guide: 
https://wiki.fd.io/view/VPP/How_To_Connect_A_PCI_Interface_To_VPP

Here is some basic info (run at the time I'm currently at when I can't get the 
VPP hardware in the 'up' state):
sudo vppctl show ver
vpp v19.08.1-release built by chris on --- at Thu Jan  9 19:08:52 UTC 2020

Excerpts from /etc/vpp/startup.conf:
unix {
  nodaemon
  log /var/log/vpp/vpp.log
  full-coredump
  cli-listen /run/vpp/cli.sock
  gid vpp
}

dpdk {
dev 0002:00:02.0
vdev net_vdev_netvsc0,iface=eth1

dev 0003:00:02.0
vdev net_vdev_netvsc1,iface=eth2
}

ifconfig eth1
eth1: flags=4675<UP,BROADCAST,RUNNING,ALLMULTI,MULTICAST>  mtu 1500
        inet6 fe80::20d:3aff:fef4:eb8d  prefixlen 64  scopeid 0x20<link>
        ether 00:0d:3a:f4:eb:8d  txqueuelen 1000  (Ethernet)
        RX packets 217  bytes 82394 (82.3 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 285  bytes 79830 (79.8 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ifconfig eth2
eth2: flags=4675<UP,BROADCAST,RUNNING,ALLMULTI,MULTICAST>  mtu 1500
        inet6 fe80::20d:3aff:fef4:e08c  prefixlen 64  scopeid 0x20<link>
        ether 00:0d:3a:f4:e0:8c  txqueuelen 1000  (Ethernet)
        RX packets 32  bytes 12192 (12.1 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 70  bytes 14263 (14.2 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

vpp# show int
              Name               Idx    State  MTU (L3/IP4/IP6/MPLS)     
Counter          Count
FailsafeEthernet0                 1      up          9000/0/0/0     rx packets  
                  19
                                                                    rx bytes    
                3914
                                                                    drops       
                  19
                                                                    ip4         
                   8
                                                                    ip6         
                  11
FailsafeEthernet2                 2      up          9000/0/0/0
local0                            0     down          0/0/0/0
vpp# show int addr
FailsafeEthernet0 (up):
  L3 10.4.1.5/24
FailsafeEthernet2 (up):
  L3 10.4.2.6/24
local0 (dn):
vpp# show hardware
              Name                Idx   Link  Hardware
FailsafeEthernet0                  1    down  FailsafeEthernet0
  Link speed: 10 Gbps
  Ethernet address 00:0d:3a:f4:eb:8d
  FailsafeEthernet
    carrier down
    flags: admin-up pmd maybe-multiseg rx-ip4-cksum
    rx: queues 1 (max 16), desc 1024 (min 0 max 65535 align 1)
    tx: queues 1 (max 16), desc 1024 (min 0 max 65535 align 1)
    max rx packet len: 1522
    promiscuous: unicast off all-multicast on
    vlan offload: strip off filter off qinq off
    rx offload avail:  ipv4-cksum udp-cksum tcp-cksum scatter
    rx offload active: ipv4-cksum scatter
    tx offload avail:  ipv4-cksum udp-cksum tcp-cksum tcp-tso multi-segs
    tx offload active: multi-segs
    rss avail:         ipv4-frag ipv4-tcp ipv4-udp ipv4-other ipv4 ipv6-tcp-ex
                       ipv6-udp-ex ipv6-frag ipv6-tcp ipv6-udp ipv6-other
                       ipv6-ex ipv6
    rss active:        none
    tx burst function: failsafe_tx_burst
    rx burst function: failsafe_rx_burst

    rx frames ok                                          19
    rx bytes ok                                         3914
    extended stats:
      rx good packets                                     19
      rx good bytes                                     3914
      rx q0packets                                        19
      rx q0bytes                                        3914
FailsafeEthernet2                  2    down  FailsafeEthernet2
  Link speed: 10 Gbps
  Ethernet address 00:0d:3a:f4:e0:8c
  FailsafeEthernet
    carrier down
    flags: admin-up pmd maybe-multiseg rx-ip4-cksum
    rx: queues 1 (max 16), desc 1024 (min 0 max 65535 align 1)
    tx: queues 1 (max 16), desc 1024 (min 0 max 65535 align 1)
    max rx packet len: 1522
    promiscuous: unicast off all-multicast on
    vlan offload: strip off filter off qinq off
    rx offload avail:  ipv4-cksum udp-cksum tcp-cksum scatter
    rx offload active: ipv4-cksum scatter
    tx offload avail:  ipv4-cksum udp-cksum tcp-cksum tcp-tso multi-segs
    tx offload active: multi-segs
    rss avail:         ipv4-frag ipv4-tcp ipv4-udp ipv4-other ipv4 ipv6-tcp-ex
                       ipv6-udp-ex ipv6-frag ipv6-tcp ipv6-udp ipv6-other


Steps: before restarting VPP, I have been issuing the following commands to 
bring down eth1 and eth2:
sudo ifconfig down eth1
sudo ip addr flush dev eth1
sudo ifconfig down eth2
sudo ip addr flush dev eth2

Next, I restart VPP like so:
sudo systemctl restart vpp

Then I add IP addresses to the VPP adapters as they are listed above and set 
the interface states up. When doing that, I sometimes notice that 'vppctl show 
hardware' does show the FailsafeEthernet hardware as up but by the time I've 
raised both interfaces they will both show as down again. I think this has 
something to do with a conflict with the host's eth1 and eth2 interfaces. The 
eth[1|2] interfaces have corresponding 'rename' interfaces on my Azure host too:

rename5: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500
        ether 00:0d:3a:f4:b5:f9  txqueuelen 1000  (Ethernet)
        RX packets 229821  bytes 271067393 (271.0 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 222945  bytes 53685565 (53.6 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

rename6: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500
        ether 00:0d:3a:f4:eb:8d  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 14  bytes 2726 (2.7 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Is there a sequence of commands that would allow me to avoid interference 
between the FailsafeEthernet interfaces within VPP and the eth[1|2] interfaces 
on my host? Is this possibly just an IP address conflict issue?

Success Criteria: to prove that this setup works, I would like to be able to 
ping FailsafeEthernet0 and FailsafeEthernet2 from my host as follows:
ping -c 1 10.4.1.5
ping -c 1 10.4.2.6

Trace Results: currently, if I set up a trace and then ping in this manner, 
this is what I get:
sudo vppctl trace add dpdk-input 10
ping -c 1 10.4.1.5
PING 10.4.1.5 (10.4.1.5) 56(84) bytes of data.

--- 10.4.1.5 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms
sudo vppctl show trace
------------------- Start of thread 0 vpp_main -------------------
Packet 1

00:30:13:057563: dpdk-input
  FailsafeEthernet0 rx queue 0
  buffer 0x8829a: current data 0, length 381, buffer-pool 0, ref-count 1, 
totlen-nifb 0, trace handle 0x0
                  ext-hdr-valid
                  l4-cksum-computed l4-cksum-correct
  PKT MBUF: port 0, nb_segs 1, pkt_len 381
    buf_len 2176, data_len 381, ol_flags 0x88, data_off 128, phys_addr 
0x9e20a700
    packet_type 0x211 l2_len 0 l3_len 0 outer_l2_len 0 outer_l3_len 0
    rss 0x0 fdir.hi 0x0 fdir.lo 0x0
    Packet Offload Flags
      PKT_RX_L4_CKSUM_BAD (0x0008) L4 cksum of RX pkt. is not OK
      PKT_RX_IP_CKSUM_GOOD (0x0080) IP cksum of RX pkt. is valid
    Packet Types
      RTE_PTYPE_L2_ETHER (0x0001) Ethernet packet
      RTE_PTYPE_L3_IPV4 (0x0010) IPv4 packet without extension headers
      RTE_PTYPE_L4_UDP (0x0200) UDP packet
  IP4: 12:34:56:78:9a:bc -> 00:0d:3a:f4:e0:8c
  UDP: 168.63.129.16 -> 255.255.255.255
    tos 0x00, ttl 128, length 367, checksum 0x102e
    fragment id 0x0001
  UDP: 67 -> 68
    length 347, checksum 0x0000
00:30:13:057583: ethernet-input
  frame: flags 0x3, hw-if-index 1, sw-if-index 1
  IP4: 12:34:56:78:9a:bc -> 00:0d:3a:f4:e0:8c
00:30:13:057589: ip4-input-no-checksum
  UDP: 168.63.129.16 -> 255.255.255.255
    tos 0x00, ttl 128, length 367, checksum 0x102e
    fragment id 0x0001
  UDP: 67 -> 68
    length 347, checksum 0x0000
00:30:13:057591: ip4-lookup
  fib 0 dpo-idx 0 flow hash: 0x00000000
  UDP: 168.63.129.16 -> 255.255.255.255
    tos 0x00, ttl 128, length 367, checksum 0x102e
    fragment id 0x0001
  UDP: 67 -> 68
    length 347, checksum 0x0000
00:30:13:057594: ip4-drop
    UDP: 168.63.129.16 -> 255.255.255.255
      tos 0x00, ttl 128, length 367, checksum 0x102e
      fragment id 0x0001
    UDP: 67 -> 68
      length 347, checksum 0x0000
00:30:13:057595: error-drop
  rx:FailsafeEthernet0
00:30:13:057597: drop
  dpdk-input: no error


Any help with this setup would be greatly appreciated and I would be willing to 
provide more information if required! Thanks!
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#15232): https://lists.fd.io/g/vpp-dev/message/15232
Mute This Topic: https://lists.fd.io/mt/69987045/21656
Mute #vpp: https://lists.fd.io/mk?hashtag=vpp&subid=1480452
Mute #dpdk: https://lists.fd.io/mk?hashtag=dpdk&subid=1480452
Mute #azure: https://lists.fd.io/mk?hashtag=azure&subid=1480452
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to