Lines Matching refs:soft
94 struct arc_rfc1201 *soft = &pkt->soft.rfc1201;
109 switch (soft->proto) {
138 struct arc_rfc1201 *soft = &pkthdr->soft.rfc1201;
150 if (soft->split_flag == 0xFF) { /* Exception Packet */
163 soft, sizeof(pkt->soft));
165 if (!soft->split_flag) { /* not split */
167 soft->split_flag);
171 in->sequence, soft->split_flag,
172 soft->sequence);
173 lp->rfc1201.aborted_seq = soft->sequence;
179 in->sequence = soft->sequence;
190 soft = &pkt->soft.rfc1201;
192 /* up to sizeof(pkt->soft) has already
196 if (length > sizeof(pkt->soft))
198 ofs + sizeof(pkt->soft),
199 pkt->soft.raw + sizeof(pkt->soft),
200 length - sizeof(pkt->soft));
207 if (soft->proto == ARC_P_ARP) {
208 struct arphdr *arp = (struct arphdr *)soft->payload;
256 soft->split_flag, in->sequence);
258 if (in->skb && in->sequence != soft->sequence) {
260 saddr, in->sequence, soft->sequence,
261 soft->split_flag);
268 if (soft->split_flag & 1) { /* first packet in split */
270 soft->split_flag);
273 in->sequence, soft->split_flag,
274 soft->sequence);
279 in->sequence = soft->sequence;
280 in->numpackets = ((unsigned)soft->split_flag >> 1) + 2;
285 soft->split_flag);
286 lp->rfc1201.aborted_seq = soft->sequence;
295 lp->rfc1201.aborted_seq = soft->sequence;
301 soft = &pkt->soft.rfc1201;
306 soft->split_flag = 0; /* end result won't be split */
308 int packetnum = ((unsigned)soft->split_flag >> 1) + 1;
314 if (lp->rfc1201.aborted_seq != soft->sequence) {
316 soft->split_flag,
317 soft->sequence,
330 soft->split_flag);
337 in->sequence, soft->split_flag,
338 soft->sequence);
339 lp->rfc1201.aborted_seq = soft->sequence;
348 soft = &pkt->soft.rfc1201;
376 /* Create the ARCnet hard/soft headers for RFC1201. */
383 struct arc_rfc1201 *soft = &pkt->soft.rfc1201;
388 soft->proto = ARC_P_IP;
391 soft->proto = ARC_P_IPV6;
394 soft->proto = ARC_P_ARP;
397 soft->proto = ARC_P_RARP;
402 soft->proto = ARC_P_IPX;
405 soft->proto = ARC_P_ATALK;
423 soft->sequence = htons(lp->rfc1201.sequence++);
424 soft->split_flag = 0; /* split packets are done elsewhere */
443 struct arc_rfc1201 *soft, int softlen, int bufnum)
456 excsoft.proto = soft->proto;
470 lp->hw.copy_to_card(dev, bufnum, ofs, soft, softlen);
487 pkt->soft.rfc1201.split_flag = 0;
500 pkt->soft.rfc1201.sequence);
505 load_pkt(dev, &pkt->hard, &pkt->soft.rfc1201, length, bufnum);
515 struct arc_rfc1201 *soft = &out->pkt->soft.rfc1201, *newsoft;
521 out->segnum, out->numsegs, soft->sequence);
523 /* the "new" soft header comes right before the data chunk */
525 (out->pkt->soft.raw + out->length - out->dataleft);
527 if (!out->segnum) /* first packet; newsoft == soft */
531 newsoft->proto = soft->proto;
532 newsoft->sequence = soft->sequence;