Uploaded image for project: 'vpp'
  1. vpp
  2. VPP-1790

VOM can't enable ethernet interface when change ethernet name in startup.conf

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: High High
    • None
    • None
    • VPP API Infra
    • None
    • env : driver:vfio-pci; centos7 ; VPP version19.08.

      env : driver:vfio-pci; centos7 ; VPP version19.08.

       

      1. interface name and ethernet up

       

      (1) in vpp startup.conf, we renamed ethernet as eth0.

      When I add 3 lines code into the test_stats.cpp/vom/vom/extras (Line36) to up my ethernet type interface , but eth0 can’t up and taps are successful to createt, delete and up.

      But when we don't rename ethernet interface in startup.conf, it will successfully up.

       

      (2) the tap's name didn't follow the name which we write in the VOM::tap_interface( ) in test_state.cpp

      When we create the tap interface named with eth3/4/5 not tap3/4/5 , but in vpp , it created tap interface named tap3/4/5 . 

       

      2. And also populate function has bugs.

       

      Here are the results:

      1.(1)

      Here are my codes which added into Line36:

        VOM::interface af1("eth0", VOM::interface::type_t::ETHERNET, VOM::interface::admin_state_t::UP);

        VOM::OM::write("HWINTERFAE_", af1);

         std::shared_ptr<VOM::interface> af2 = af1.singular();

       

      [root@localhost vom_test]# ./vom

      Sat Oct 12 18:43:22 2019 [error]hw.cpp:149 write() Failed to execute: itf-state-change: hw-item:[rc:invalid data:up] hdl:hw-item:[rc:ok data:4294967295]

      Interface #1 index is 3

      Interface #2 index is 4

      Interface #3 index is 5

      stats # 4

      stats # 3

      tap0 [rx [packets: 7 bytes:586] rx-unicast [packets: 0 bytes:0] rx-multicast [packets: 0 bytes:0] rx-broadcast [packets: 0 bytes:0] tx [packets: 0 bytes:0] tx-unicast [packets: 0 bytes:0] tx-multicast [packets: 0 bytes:0] tx-broadcast [packets: 0 bytes:0] drops [packets: 7 bytes:0]]

      tap1 [rx [packets: 7 bytes:586] rx-unicast [packets: 0 bytes:0] rx-multicast [packets: 0 bytes:0] rx-broadcast [packets: 0 bytes:0] tx [packets: 0 bytes:0] tx-unicast [packets: 0 bytes:0] tx-multicast [packets: 0 bytes:0] tx-broadcast [packets: 0 bytes:0] drops [packets: 7 bytes:0]]

      tap2 [rx [packets: 7 bytes:586] rx-unicast [packets: 0 bytes:0] rx-multicast [packets: 0 bytes:0] rx-broadcast [packets: 0 bytes:0] tx [packets: 0 bytes:0] tx-unicast [packets: 0 bytes:0] tx-multicast [packets: 0 bytes:0] tx-broadcast [packets: 0 bytes:0] drops [packets: 7 bytes:0]]

       

      (2)

      Here is my code which name the interface as "eth3":

      std::shared_ptr<VOM::tap_interface> intf2 = itf2.singular();
      VOM::tap_interface itf3("eth3", VOM::interface::admin_state_t::UP, VOM::route::prefix_t::ZERO);
      VOM::OM::populate("all");
      VOM::OM::write("_TAP_", itf3); 

       

      vpp# show int

      tap4            8          up                 9000/0/0/0 rx packets 8
                                                                             rx bytes 656
                                                                             drops 8
                                                                             ip6 8

       

      2.

      [root@localhost vom_test]# ./vom_test
      Tue Oct 15 19:03:02 2019 [error]acl_binding.cpp:130 handle_populate() no interface:0

       

      I am sure VOM has bugs in uping ethernet interface .

            feng-zhu Morison Feng
            feng-zhu Morison Feng
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: