]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - net/net.c
net: cosmetic: Rename OPT_SIZE to OPT_FIELD_SIZE
[karo-tx-uboot.git] / net / net.c
index f0e8a6798f9c0f623682314e023073f874d67b0b..f6d294e2ac509f183dbfa23cd8e9cddbbdb3732d 100644 (file)
--- a/net/net.c
+++ b/net/net.c
@@ -591,8 +591,8 @@ NetSendPacket(uchar *pkt, int len)
        (void) eth_send(pkt, len);
 }
 
-int
-NetSendUDPPacket(uchar *ether, IPaddr_t dest, int dport, int sport, int len)
+int NetSendUDPPacket(uchar *ether, IPaddr_t dest, int dport, int sport,
+               int payload_len)
 {
        uchar *pkt;
 
@@ -618,14 +618,14 @@ NetSendUDPPacket(uchar *ether, IPaddr_t dest, int dport, int sport, int len)
                pkt = NetArpWaitTxPacket;
                pkt += NetSetEther(pkt, NetArpWaitPacketMAC, PROT_IP);
 
-               NetSetIP(pkt, dest, dport, sport, len);
+               NetSetIP(pkt, dest, dport, sport, payload_len);
                memcpy(pkt + IP_UDP_HDR_SIZE, (uchar *)NetTxPacket +
                       (pkt - (uchar *)NetArpWaitTxPacket) +
-                      IP_UDP_HDR_SIZE, len);
+                      IP_UDP_HDR_SIZE, payload_len);
 
                /* size of the waiting packet */
                NetArpWaitTxPacketSize = (pkt - NetArpWaitTxPacket) +
-                       IP_UDP_HDR_SIZE + len;
+                       IP_UDP_HDR_SIZE + payload_len;
 
                /* and do the ARP request */
                NetArpWaitTry = 1;
@@ -638,8 +638,9 @@ NetSendUDPPacket(uchar *ether, IPaddr_t dest, int dport, int sport, int len)
 
        pkt = (uchar *)NetTxPacket;
        pkt += NetSetEther(pkt, ether, PROT_IP);
-       NetSetIP(pkt, dest, dport, sport, len);
-       eth_send(NetTxPacket, (pkt - NetTxPacket) + IP_UDP_HDR_SIZE + len);
+       NetSetIP(pkt, dest, dport, sport, payload_len);
+       eth_send(NetTxPacket, (pkt - NetTxPacket) + IP_UDP_HDR_SIZE +
+               payload_len);
 
        return 0;       /* transmitted */
 }
@@ -663,7 +664,7 @@ NetSendUDPPacket(uchar *ether, IPaddr_t dest, int dport, int sport, int len)
 static struct rpc_t rpc_specimen;
 #define IP_PKTSIZE (CONFIG_NET_MAXDEFRAG + sizeof(rpc_specimen.u.reply))
 
-#define IP_MAXUDP (IP_PKTSIZE - IP_HDR_SIZE_NO_UDP)
+#define IP_MAXUDP (IP_PKTSIZE - IP_HDR_SIZE)
 
 /*
  * this is the packet being assembled, either data or frag control.
@@ -688,11 +689,11 @@ static struct ip_udp_hdr *__NetDefragment(struct ip_udp_hdr *ip, int *lenp)
        u16 ip_off = ntohs(ip->ip_off);
 
        /* payload starts after IP header, this fragment is in there */
-       payload = (struct hole *)(pkt_buff + IP_HDR_SIZE_NO_UDP);
+       payload = (struct hole *)(pkt_buff + IP_HDR_SIZE);
        offset8 =  (ip_off & IP_OFFS);
        thisfrag = payload + offset8;
        start = offset8 * 8;
-       len = ntohs(ip->ip_len) - IP_HDR_SIZE_NO_UDP;
+       len = ntohs(ip->ip_len) - IP_HDR_SIZE;
 
        if (start + len > IP_MAXUDP) /* fragment extends too far */
                return NULL;
@@ -705,7 +706,7 @@ static struct ip_udp_hdr *__NetDefragment(struct ip_udp_hdr *ip, int *lenp)
                payload[0].prev_hole = 0;
                first_hole = 0;
                /* any IP header will work, copy the first we received */
-               memcpy(localip, ip, IP_HDR_SIZE_NO_UDP);
+               memcpy(localip, ip, IP_HDR_SIZE);
        }
 
        /*
@@ -788,12 +789,12 @@ static struct ip_udp_hdr *__NetDefragment(struct ip_udp_hdr *ip, int *lenp)
        }
 
        /* finally copy this fragment and possibly return whole packet */
-       memcpy((uchar *)thisfrag, indata + IP_HDR_SIZE_NO_UDP, len);
+       memcpy((uchar *)thisfrag, indata + IP_HDR_SIZE, len);
        if (!done)
                return NULL;
 
        localip->ip_len = htons(total_len);
-       *lenp = total_len + IP_HDR_SIZE_NO_UDP;
+       *lenp = total_len + IP_HDR_SIZE;
        return localip;
 }
 
@@ -823,9 +824,9 @@ static inline struct ip_udp_hdr *NetDefragment(struct ip_udp_hdr *ip, int *lenp)
  * @parma ip   IP packet containing the ICMP
  */
 static void receive_icmp(struct ip_udp_hdr *ip, int len,
-                       IPaddr_t src_ip, Ethernet_t *et)
+                       IPaddr_t src_ip, struct ethernet_hdr *et)
 {
-       ICMP_t *icmph = (ICMP_t *)&ip->udp_src;
+       struct icmp_hdr *icmph = (struct icmp_hdr *)&ip->udp_src;
 
        switch (icmph->type) {
        case ICMP_REDIRECT:
@@ -851,11 +852,11 @@ static void receive_icmp(struct ip_udp_hdr *ip, int len,
 void
 NetReceive(uchar *inpkt, int len)
 {
-       Ethernet_t *et;
+       struct ethernet_hdr *et;
        struct ip_udp_hdr *ip;
-       IPaddr_t tmp;
+       IPaddr_t dst_ip;
        IPaddr_t src_ip;
-       int     x;
+       int eth_proto;
 #if defined(CONFIG_CMD_CDP)
        int iscdp;
 #endif
@@ -865,7 +866,7 @@ NetReceive(uchar *inpkt, int len)
 
        NetRxPacket = inpkt;
        NetRxPacketLen = len;
-       et = (Ethernet_t *)inpkt;
+       et = (struct ethernet_hdr *)inpkt;
 
        /* too small packet? */
        if (len < ETHER_HDR_SIZE)
@@ -890,25 +891,28 @@ NetReceive(uchar *inpkt, int len)
        if (mynvlanid == (ushort)-1)
                mynvlanid = VLAN_NONE;
 
-       x = ntohs(et->et_protlen);
+       eth_proto = ntohs(et->et_protlen);
 
        debug("packet received\n");
 
-       if (x < 1514) {
+       if (eth_proto < 1514) {
+               struct e802_hdr *et802 = (struct e802_hdr *)et;
                /*
-                *      Got a 802 packet.  Check the other protocol field.
+                *      Got a 802.2 packet.  Check the other protocol field.
+                *      XXX VLAN over 802.2+SNAP not implemented!
                 */
-               x = ntohs(et->et_prot);
+               eth_proto = ntohs(et802->et_prot);
 
                ip = (struct ip_udp_hdr *)(inpkt + E802_HDR_SIZE);
                len -= E802_HDR_SIZE;
 
-       } else if (x != PROT_VLAN) {    /* normal packet */
+       } else if (eth_proto != PROT_VLAN) {    /* normal packet */
                ip = (struct ip_udp_hdr *)(inpkt + ETHER_HDR_SIZE);
                len -= ETHER_HDR_SIZE;
 
        } else {                        /* VLAN packet */
-               VLAN_Ethernet_t *vet = (VLAN_Ethernet_t *)et;
+               struct vlan_ethernet_hdr *vet =
+                       (struct vlan_ethernet_hdr *)et;
 
                debug("VLAN packet received\n");
 
@@ -926,17 +930,17 @@ NetReceive(uchar *inpkt, int len)
 
                cti = ntohs(vet->vet_tag);
                vlanid = cti & VLAN_IDMASK;
-               x = ntohs(vet->vet_type);
+               eth_proto = ntohs(vet->vet_type);
 
                ip = (struct ip_udp_hdr *)(inpkt + VLAN_ETHER_HDR_SIZE);
                len -= VLAN_ETHER_HDR_SIZE;
        }
 
-       debug("Receive from protocol 0x%x\n", x);
+       debug("Receive from protocol 0x%x\n", eth_proto);
 
 #if defined(CONFIG_CMD_CDP)
        if (iscdp) {
-               CDPHandler((uchar *)ip, len);
+               cdp_receive((uchar *)ip, len);
                return;
        }
 #endif
@@ -949,7 +953,7 @@ NetReceive(uchar *inpkt, int len)
                        return;
        }
 
-       switch (x) {
+       switch (eth_proto) {
 
        case PROT_ARP:
                ArpReceive(et, ip, len);
@@ -983,15 +987,15 @@ NetReceive(uchar *inpkt, int len)
                if ((ip->ip_hl_v & 0x0f) > 0x05)
                        return;
                /* Check the Checksum of the header */
-               if (!NetCksumOk((uchar *)ip, IP_HDR_SIZE_NO_UDP / 2)) {
+               if (!NetCksumOk((uchar *)ip, IP_HDR_SIZE / 2)) {
                        puts("checksum bad\n");
                        return;
                }
                /* If it is not for us, ignore it */
-               tmp = NetReadIP(&ip->ip_dst);
-               if (NetOurIP && tmp != NetOurIP && tmp != 0xFFFFFFFF) {
+               dst_ip = NetReadIP(&ip->ip_dst);
+               if (NetOurIP && dst_ip != NetOurIP && dst_ip != 0xFFFFFFFF) {
 #ifdef CONFIG_MCAST_TFTP
-                       if (Mcast_addr != tmp)
+                       if (Mcast_addr != dst_ip)
 #endif
                                return;
                }
@@ -1218,7 +1222,7 @@ NetEthHdrSize(void)
 int
 NetSetEther(uchar *xet, uchar * addr, uint prot)
 {
-       Ethernet_t *et = (Ethernet_t *)xet;
+       struct ethernet_hdr *et = (struct ethernet_hdr *)xet;
        ushort myvlanid;
 
        myvlanid = ntohs(NetOurVLAN);
@@ -1231,7 +1235,8 @@ NetSetEther(uchar *xet, uchar * addr, uint prot)
                et->et_protlen = htons(prot);
                return ETHER_HDR_SIZE;
        } else {
-               VLAN_Ethernet_t *vet = (VLAN_Ethernet_t *)xet;
+               struct vlan_ethernet_hdr *vet =
+                       (struct vlan_ethernet_hdr *)xet;
 
                vet->vet_vlan_type = htons(PROT_VLAN);
                vet->vet_tag = htons((0 << 5) | (myvlanid & VLAN_IDMASK));
@@ -1273,7 +1278,7 @@ void NetSetIP(uchar *xip, IPaddr_t dest, int dport, int sport, int len)
        ip->udp_dst  = htons(dport);
        ip->udp_len  = htons(UDP_HDR_SIZE + len);
        ip->udp_xsum = 0;
-       ip->ip_sum   = ~NetCksum((uchar *)ip, IP_HDR_SIZE_NO_UDP / 2);
+       ip->ip_sum   = ~NetCksum((uchar *)ip, IP_HDR_SIZE / 2);
 }
 
 void copy_filename(char *dst, const char *src, int size)