[dpdk-users] Get interface speed through IOCTL

Gadre Nayan gadrenayan at gmail.com
Wed Jun 22 14:19:53 CEST 2016


I need to get the interface speed though standard IOCTL call:

         edata.cmd = ETHTOOL_GSET;
         // issue ioctl
         rc = ioctl(sock, SIOCETHTOOL, &ifr);

However, for 10G interface I do not read a correct speed, since it may
not be supported.

Out 1G cards are I350 and 10G card is I40.

After going through the source, I cam across the function

    ecmd->supported = (SUPPORTED_10baseT_Half| ...| .... );

    switch(adapter->link_speed) {
                 case SPEED_1000:
                 case SPEED_2500:
                  //etc etc.


There is no support for 10000base. So to get the ioctl working for 10G
card, is it a trivial change of adding few more support options and
adding another case SPEED_10000 clause, or is it more involved ?


More information about the users mailing list