Lines Matching refs:soft

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