Re: UDP checksum problem
- From: Tauno Voipio <tauno.voipio@xxxxxxxxxxxxx>
- Date: Sun, 26 Aug 2007 18:08:20 GMT
r3gis wrote:
On Aug 20, 11:58 pm, Jack Snodgrass <jacks_temp_id_bf2...@xxxxxxxxxxx>
wrote:
On Mon, 20 Aug 2007 14:00:25 +0000, r3gis wrote:
Hi !
For some strange reason I cant get correct checksums when I am sending
packets through simple UDP socket.Can anyone tell me what I am doing
wrong ?
The code is following :
int sendUDP(char* buf,int size,char* ip_str,char* port_str) {
int sockfd, portno, ip;
struct sockaddr_in serv_addr;
sockfd = socket(PF_INET, SOCK_DGRAM,0); if (sockfd < 0)
error("ERROR opening socket");
memset((void*)&serv_addr,0,sizeof(struct sockaddr_in));
serv_addr.sin_family=PF_INET;
portno=atoi(port_str);
serv_addr.sin_port = htons(portno);
serv_addr.sin_addr.s_addr=inet_addr(ip_str);
if(serv_addr.sin_addr.s_addr==-1)
error("wrong ip");
int len=sendto(sockfd,buf,size,0,(struct
sockaddr*)&serv_addr,sizeof(serv_addr));
close(sockfd);
return len;
}
I didn't look at this too close.... just wanted to clarify
something first.... you don't have anything to do with the
CRC... that's a built-in feature... ( how ever you want to
phrase it ) are you 100% sure your getting a bad crc error...
where are you seeing this?
jack
--
D.A.M. - Mothers Against Dyslexia
seehttp://www.jacksnodgrass.comfor my contact info.
jack - Grapevine/Richardson
I have checked this in Wireshark and tcpdump. They both indicate bad
CRC for all UDP packets.Fortunately I have been able to solve this .
It appeared that is was caused by the inet_addr function O_o , when I
have changed it to inet_aton the CRC is calculated correctly .
If the bad checksum is indicated on datagrams sent by
the same computer running the libpcap application (tcpdump,
ethereal, wireshark ...), the most probable cause is that
the checksum calculation is off-loaded to the network
interface hardware. The checksums are not calculated yet
at the point of processing where the capture is done.
--
Tauno Voipio
tauno voipio (at) iki fi
.
- References:
- UDP checksum problem
- From: r3gis
- Re: UDP checksum problem
- From: Jack Snodgrass
- Re: UDP checksum problem
- From: r3gis
- UDP checksum problem
- Prev by Date: have to manually restart networking to get wireless connection
- Next by Date: Stats comp.os.linux.networking (last 7 days)
- Previous by thread: Re: UDP checksum problem
- Next by thread: Wifi LR802UWG
- Index(es):
Relevant Pages
|