On Sep 18, 2006, at 5:41 AM, Sharma, Karun wrote:
I am trying to capture packets on Infiniband interface but getting
error (see below). tshark is working fine for eth0 interface. I am
using 0.99.4 version and RHEL4 up3 x86_64 machine.
Is there any known solution/workaround for this issue?
Yes - as per
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=180980
the workaround is "don't use the current version of RHEL4, use some
distribution with a kernel without the EOVERFLOW 'fix'".
Can you please send me a patch to solve this issue.
No, because I don't have the Linux kernel source handy at present, but
what you want to do is edit net/core/dev.c, look for "case
SIOCGIFHWADDR:" somewhere around line 2362, and change the code to do
case SIOCGIFHWADDR:
{
size_t copylen;
copylen = dev->addr_len;
if (copylen > sizeof ifr->ifr_hwaddr.sa_data)
copylen = sizeof ifr->ifr_hwaddr.sa_data;
memset(ifr->ifr_hwaddr.sa_data, 0, sizeof ifr->ifr_hwaddr.sa_data);
memcpy(ifr->ifr_hwaddr.sa_data, dev->dev_addr, copylen);
ifr->ifr_hwaddr.sa_family = dev->type;
return 0;
}
and then recompile the kernel and install the new kernel.
(This isn't a patch to Wireshark, but the problem isn't *in*
Wireshark, it's in the Linux kernel, so the change is to the Linux
kernel.)