]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/netat/ddp.c
xnu-792.22.5.tar.gz
[apple/xnu.git] / bsd / netat / ddp.c
index 187a056760f72c936d0e4e11d4f060120a6b9c52..8b46b79ebae69687c505b3a7d0f4382a6697b8c9 100644 (file)
@@ -94,8 +94,6 @@ void (*ddp_AURPsendx)();
 at_ifaddr_t *aurp_ifID = 0;
 extern pktsIn,pktsOut;
 int pktsDropped,pktsHome;
-atlock_t ddpall_lock;
-atlock_t ddpinp_lock;
 
 extern int *atp_pidM;
 extern int *adsp_pidM;
@@ -458,7 +456,6 @@ void ddp_notify_nbp(socket, pid, ddptype)
 
        if (at_state.flags & AT_ST_STARTED) {
                /* *** NBP_CLOSE_NOTE processing (from ddp_nbp.c) *** */
-               ATDISABLE(nve_lock, NVE_LOCK);
                 for ((nve_entry = TAILQ_FIRST(&name_registry)); nve_entry; nve_entry = nve_next) {
                         nve_next = TAILQ_NEXT(nve_entry, nve_link);
                        if ((at_socket)socket == nve_entry->address.socket &&
@@ -470,7 +467,6 @@ void ddp_notify_nbp(socket, pid, ddptype)
                                nbp_delete_entry(nve_entry);
                        }
                }
-               ATENABLE(nve_lock, NVE_LOCK);
        }
 } /* ddp_notify_nbp */
 
@@ -485,12 +481,12 @@ static void fillin_pkt_chain(m)
 
        if (UAS_VALUE(ddp->checksum)) {
                tmp = ddp_checksum(m, 4);
-               UAS_ASSIGN(ddp->checksum, tmp);
+               UAS_ASSIGN_HTON(ddp->checksum, tmp);
        }
 
        for (tmp_m=gbuf_next(tmp_m); tmp_m; tmp_m=gbuf_next(tmp_m)) {
                tmp_ddp = (at_ddp_t *)gbuf_rptr(tmp_m);
-               tmp_ddp->length = gbuf_msgsize(tmp_m);
+               DDPLEN_ASSIGN(tmp_ddp, gbuf_msgsize(tmp_m));
                tmp_ddp->hopcount = 
                  tmp_ddp->unused = 0;
                NET_NET(tmp_ddp->src_net, ddp->src_net);
@@ -498,7 +494,7 @@ static void fillin_pkt_chain(m)
                tmp_ddp->src_socket = ddp->src_socket;
                if (UAS_VALUE(tmp_ddp->checksum)) {
                        tmp = ddp_checksum(tmp_m, 4);
-                       UAS_ASSIGN(tmp_ddp->checksum, tmp);
+                       UAS_ASSIGN_HTON(ddp->checksum, tmp);
                }
        }
 }
@@ -579,7 +575,7 @@ int ddp_output(mp, src_socket, src_addr_included)
        at_ddp_stats.xmit_bytes += len;
        at_ddp_stats.xmit_packets++;
 
-       ddp->length = len;
+       DDPLEN_ASSIGN(ddp, len);
        ddp->hopcount = 
          ddp->unused = 0;
 
@@ -859,7 +855,7 @@ int ddp_output(mp, src_socket, src_addr_included)
             * it doesn't know net#, consequently can't do 
             * AMT_LOOKUP.  That task left to aarp now.
             */
-           aarp_send_data(m,ifID,&dest_at_addr, loop);
+           aarp_send_data(m,ifID, &dest_at_addr, loop);
            break;
        case ET_ADDR :
            pat_output(ifID, m, &dest_addr, 0);
@@ -942,7 +938,7 @@ void ddp_input(mp, ifID)
         * {extended ddp, ... }.
         */
        ddp = (at_ddp_t *)gbuf_rptr(mp);
-       len = ddp->length;
+       len = DDPLEN_VALUE(ddp);
 
        if (msgsize != len) {
                if ((unsigned) msgsize > len) {
@@ -991,10 +987,10 @@ void ddp_input(mp, ifID)
         * if the checksum is true, then upstream wants us to calc
         */
        if (UAS_VALUE(ddp->checksum) && 
-           (UAS_VALUE(ddp->checksum) != ddp_checksum(mp, 4))) {
+           (UAS_VALUE_NTOH(ddp->checksum) != ddp_checksum(mp, 4))) {
                dPrintf(D_M_DDP, D_L_WARNING,
                        ("Checksum error on incoming pkt, calc 0x%x, exp 0x%x",
-                       ddp_checksum(mp, 4), UAS_VALUE(ddp->checksum)));
+                       ddp_checksum(mp, 4), UAS_VALUE_NTOH(ddp->checksum)));
                snmpStats.dd_checkSum++;
                at_ddp_stats.rcv_bad_checksum++;
                gbuf_freem(mp);
@@ -1153,6 +1149,7 @@ int ddp_router_output(mp, ifID, addr_type, router_net, router_node, enet_addr)
        }
        ddp = (at_ddp_t *)gbuf_rptr(mp);
 
+#ifdef AURP_SUPPORT
        if (ifID->ifFlags & AT_IFF_AURP) { /* AURP link? */
                if (ddp_AURPsendx) {
                        fillin_pkt_chain(mp);
@@ -1165,6 +1162,7 @@ int ddp_router_output(mp, ifID, addr_type, router_net, router_node, enet_addr)
                        return EPROTOTYPE;
                }
        }
+#endif
 
        /* keep some of the tests for now ####### */
 
@@ -1317,15 +1315,14 @@ void rt_delete(NetStop, NetStart)
        RT_entry *found;
        int s;
 
-       ATDISABLE(s, ddpinp_lock);
        if ((found = rt_bdelete(NetStop, NetStart)) != 0) {
                bzero(found, sizeof(RT_entry));
                found->right = RT_table_freelist;
                RT_table_freelist = found;
        }
-       ATENABLE(s, ddpinp_lock);
 }
 
+#ifdef AURP_SUPPORT
 int ddp_AURPfuncx(code, param, node)
        int code;
        void *param;
@@ -1397,7 +1394,7 @@ int ddp_AURPfuncx(code, param, node)
 
        return 0;
 }
-
+#endif
 
 /* checks to see if address of packet is for one of our interfaces
    returns *ifID if it's for us, NULL if not