Lines Matching full:soft

95 	struct arc_rfc1201 *soft = &pkt->soft.rfc1201;  in type_trans()  local
110 switch (soft->proto) { in type_trans()
139 struct arc_rfc1201 *soft = &pkthdr->soft.rfc1201; in rx() local
151 if (soft->split_flag == 0xFF) { /* Exception Packet */ in rx()
164 soft, sizeof(pkt->soft)); in rx()
166 if (!soft->split_flag) { /* not split */ in rx()
168 soft->split_flag); in rx()
172 in->sequence, soft->split_flag, in rx()
173 soft->sequence); in rx()
174 lp->rfc1201.aborted_seq = soft->sequence; in rx()
180 in->sequence = soft->sequence; in rx()
191 soft = &pkt->soft.rfc1201; in rx()
193 /* up to sizeof(pkt->soft) has already in rx()
197 if (length > sizeof(pkt->soft)) in rx()
199 ofs + sizeof(pkt->soft), in rx()
200 pkt->soft.raw + sizeof(pkt->soft), in rx()
201 length - sizeof(pkt->soft)); in rx()
208 if (soft->proto == ARC_P_ARP) { in rx()
209 struct arphdr *arp = (struct arphdr *)soft->payload; in rx()
257 soft->split_flag, in->sequence); in rx()
259 if (in->skb && in->sequence != soft->sequence) { in rx()
261 saddr, in->sequence, soft->sequence, in rx()
262 soft->split_flag); in rx()
269 if (soft->split_flag & 1) { /* first packet in split */ in rx()
271 soft->split_flag); in rx()
274 in->sequence, soft->split_flag, in rx()
275 soft->sequence); in rx()
280 in->sequence = soft->sequence; in rx()
281 in->numpackets = ((unsigned)soft->split_flag >> 1) + 2; in rx()
286 soft->split_flag); in rx()
287 lp->rfc1201.aborted_seq = soft->sequence; in rx()
296 lp->rfc1201.aborted_seq = soft->sequence; in rx()
302 soft = &pkt->soft.rfc1201; in rx()
307 soft->split_flag = 0; /* end result won't be split */ in rx()
309 int packetnum = ((unsigned)soft->split_flag >> 1) + 1; in rx()
315 if (lp->rfc1201.aborted_seq != soft->sequence) { in rx()
317 soft->split_flag, in rx()
318 soft->sequence, in rx()
331 soft->split_flag); in rx()
338 in->sequence, soft->split_flag, in rx()
339 soft->sequence); in rx()
340 lp->rfc1201.aborted_seq = soft->sequence; in rx()
349 soft = &pkt->soft.rfc1201; in rx()
377 /* Create the ARCnet hard/soft headers for RFC1201. */
384 struct arc_rfc1201 *soft = &pkt->soft.rfc1201; in build_header() local
389 soft->proto = ARC_P_IP; in build_header()
392 soft->proto = ARC_P_IPV6; in build_header()
395 soft->proto = ARC_P_ARP; in build_header()
398 soft->proto = ARC_P_RARP; in build_header()
403 soft->proto = ARC_P_IPX; in build_header()
406 soft->proto = ARC_P_ATALK; in build_header()
424 soft->sequence = htons(lp->rfc1201.sequence++); in build_header()
425 soft->split_flag = 0; /* split packets are done elsewhere */ in build_header()
444 struct arc_rfc1201 *soft, int softlen, int bufnum) in load_pkt() argument
457 excsoft.proto = soft->proto; in load_pkt()
471 lp->hw.copy_to_card(dev, bufnum, ofs, soft, softlen); in load_pkt()
488 pkt->soft.rfc1201.split_flag = 0; in prepare_tx()
501 pkt->soft.rfc1201.sequence); in prepare_tx()
506 load_pkt(dev, &pkt->hard, &pkt->soft.rfc1201, length, bufnum); in prepare_tx()
516 struct arc_rfc1201 *soft = &out->pkt->soft.rfc1201, *newsoft; in continue_tx() local
522 out->segnum, out->numsegs, soft->sequence); in continue_tx()
524 /* the "new" soft header comes right before the data chunk */ in continue_tx()
526 (out->pkt->soft.raw + out->length - out->dataleft); in continue_tx()
528 if (!out->segnum) /* first packet; newsoft == soft */ in continue_tx()
532 newsoft->proto = soft->proto; in continue_tx()
533 newsoft->sequence = soft->sequence; in continue_tx()