net: Always align tx packets
Make sure that TX packets are always cache-aligned. Signed-off-by: Mario Six <mario.six@gdsys.cc> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
This commit is contained in:
parent
acaee30608
commit
2d8f25ed7b
@ -182,7 +182,8 @@ void arp_receive(struct ethernet_hdr *et, struct ip_udp_hdr *ip, int len)
|
||||
(net_read_ip(&arp->ar_spa).s_addr & net_netmask.s_addr))
|
||||
udelay(5000);
|
||||
#endif
|
||||
net_send_packet((uchar *)et, eth_hdr_size + ARP_HDR_SIZE);
|
||||
memcpy(net_tx_packet, et, eth_hdr_size + ARP_HDR_SIZE);
|
||||
net_send_packet(net_tx_packet, eth_hdr_size + ARP_HDR_SIZE);
|
||||
return;
|
||||
|
||||
case ARPOP_REPLY: /* arp reply */
|
||||
|
@ -107,7 +107,8 @@ void ping_receive(struct ethernet_hdr *et, struct ip_udp_hdr *ip, int len)
|
||||
icmph->type = ICMP_ECHO_REPLY;
|
||||
icmph->checksum = 0;
|
||||
icmph->checksum = compute_ip_checksum(icmph, len - IP_HDR_SIZE);
|
||||
net_send_packet((uchar *)et, eth_hdr_size + len);
|
||||
memcpy(net_tx_packet, et, eth_hdr_size + len);
|
||||
net_send_packet(net_tx_packet, eth_hdr_size + len);
|
||||
return;
|
||||
/* default:
|
||||
return;*/
|
||||
|
Loading…
Reference in New Issue
Block a user