Merge branch 'master' of git://git.denx.de/u-boot-net
[oweals/u-boot.git] / net / net.c
index e9754e47b8fb6db54642673c3342fa4f28878879..e6547f9eddc860838e245483277c8d12b59ef87a 100644 (file)
--- a/net/net.c
+++ b/net/net.c
@@ -738,7 +738,7 @@ int PingSend(void)
        ip->ip_tos   = 0;
        ip->ip_len   = htons(IP_HDR_SIZE_NO_UDP + 8);
        ip->ip_id    = htons(NetIPID++);
-       ip->ip_off   = htons(0x4000);   /* No fragmentation */
+       ip->ip_off   = htons(IP_FLAGS_DFRAG);   /* Don't fragment */
        ip->ip_ttl   = 255;
        ip->ip_p     = 0x01;            /* ICMP */
        ip->ip_sum   = 0;
@@ -1402,7 +1402,8 @@ NetReceive(volatile uchar * inpkt, int len)
                if ((ip->ip_hl_v & 0xf0) != 0x40) {
                        return;
                }
-               if (ip->ip_off & htons(0x1fff)) { /* Can't deal w/ fragments */
+               /* Can't deal with fragments */
+               if (ip->ip_off & htons(IP_OFFS | IP_FLAGS_MFRAG)) {
                        return;
                }
                /* can't deal with headers > 20 bytes */
@@ -1701,7 +1702,7 @@ NetSetIP(volatile uchar * xip, IPaddr_t dest, int dport, int sport, int len)
        ip->ip_tos   = 0;
        ip->ip_len   = htons(IP_HDR_SIZE + len);
        ip->ip_id    = htons(NetIPID++);
-       ip->ip_off   = htons(0x4000);   /* No fragmentation */
+       ip->ip_off   = htons(IP_FLAGS_DFRAG);   /* Don't fragment */
        ip->ip_ttl   = 255;
        ip->ip_p     = 17;              /* UDP */
        ip->ip_sum   = 0;