diff options
Diffstat (limited to 'ethtool.c')
-rw-r--r-- | ethtool.c | 44 |
1 files changed, 0 insertions, 44 deletions
@@ -3194,50 +3194,6 @@ static int do_srxntuple(int fd, struct ifreq *ifr) static int do_grxntuple(int fd, struct ifreq *ifr) { - struct ethtool_sset_info *sset_info; - struct ethtool_gstrings *strings; - int sz_str, n_strings, err, i; - - sset_info = malloc(sizeof(struct ethtool_sset_info) + sizeof(u32)); - sset_info->cmd = ETHTOOL_GSSET_INFO; - sset_info->sset_mask = (1ULL << ETH_SS_NTUPLE_FILTERS); - ifr->ifr_data = (caddr_t)sset_info; - err = send_ioctl(fd, ifr); - - if ((err < 0) || - (!(sset_info->sset_mask & (1ULL << ETH_SS_NTUPLE_FILTERS)))) { - perror("Cannot get driver strings info"); - return 100; - } - - n_strings = sset_info->data[0]; - free(sset_info); - sz_str = n_strings * ETH_GSTRING_LEN; - - strings = calloc(1, sz_str + sizeof(struct ethtool_gstrings)); - if (!strings) { - fprintf(stderr, "no memory available\n"); - return 95; - } - - strings->cmd = ETHTOOL_GRXNTUPLE; - strings->string_set = ETH_SS_NTUPLE_FILTERS; - strings->len = n_strings; - ifr->ifr_data = (caddr_t) strings; - err = send_ioctl(fd, ifr); - if (err < 0) { - perror("Cannot get Rx n-tuple information"); - free(strings); - return 101; - } - - n_strings = strings->len; - fprintf(stdout, "Rx n-tuple filters:\n"); - for (i = 0; i < n_strings; i++) - fprintf(stdout, "%s", &strings->data[i * ETH_GSTRING_LEN]); - - free(strings); - return 0; } |