Lines Matching refs:sol
387 } __packed * sol;
390 skb = dev_alloc_skb(sizeof(*sol));
394 sol = (struct fip_sol *)skb->data;
396 memset(sol, 0, sizeof(*sol));
397 memcpy(sol->eth.h_dest, fcf ? fcf->fcf_mac : fcoe_all_fcfs, ETH_ALEN);
398 memcpy(sol->eth.h_source, fip->ctl_src_addr, ETH_ALEN);
399 sol->eth.h_proto = htons(ETH_P_FIP);
401 sol->fip.fip_ver = FIP_VER_ENCAPS(FIP_VER);
402 sol->fip.fip_op = htons(FIP_OP_DISC);
403 sol->fip.fip_subcode = FIP_SC_SOL;
404 sol->fip.fip_dl_len = htons(sizeof(sol->desc) / FIP_BPW);
405 sol->fip.fip_flags = htons(FIP_FL_FPMA);
407 sol->fip.fip_flags |= htons(FIP_FL_SPMA);
409 sol->desc.mac.fd_desc.fip_dtype = FIP_DT_MAC;
410 sol->desc.mac.fd_desc.fip_dlen = sizeof(sol->desc.mac) / FIP_BPW;
411 memcpy(sol->desc.mac.fd_mac, fip->ctl_src_addr, ETH_ALEN);
413 sol->desc.wwnn.fd_desc.fip_dtype = FIP_DT_NAME;
414 sol->desc.wwnn.fd_desc.fip_dlen = sizeof(sol->desc.wwnn) / FIP_BPW;
415 put_unaligned_be64(fip->lp->wwnn, &sol->desc.wwnn.fd_wwn);
418 sol->desc.size.fd_desc.fip_dtype = FIP_DT_FCOE_SIZE;
419 sol->desc.size.fd_desc.fip_dlen = sizeof(sol->desc.size) / FIP_BPW;
420 sol->desc.size.fd_size = htons(fcoe_size);
422 skb_put(skb, sizeof(*sol));