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.)