Lines Matching refs:sol
267 } __attribute__((packed)) *sol;
270 skb = dev_alloc_skb(sizeof(*sol));
274 sol = (struct fip_sol *)skb->data;
276 memset(sol, 0, sizeof(*sol));
277 memcpy(sol->eth.h_dest, fcf ? fcf->fcf_mac : fcoe_all_fcfs, ETH_ALEN);
278 memcpy(sol->eth.h_source, fip->ctl_src_addr, ETH_ALEN);
279 sol->eth.h_proto = htons(ETH_P_FIP);
281 sol->fip.fip_ver = FIP_VER_ENCAPS(FIP_VER);
282 sol->fip.fip_op = htons(FIP_OP_DISC);
283 sol->fip.fip_subcode = FIP_SC_SOL;
284 sol->fip.fip_dl_len = htons(sizeof(sol->desc) / FIP_BPW);
285 sol->fip.fip_flags = htons(FIP_FL_FPMA);
287 sol->fip.fip_flags |= htons(FIP_FL_SPMA);
289 sol->desc.mac.fd_desc.fip_dtype = FIP_DT_MAC;
290 sol->desc.mac.fd_desc.fip_dlen = sizeof(sol->desc.mac) / FIP_BPW;
291 memcpy(sol->desc.mac.fd_mac, fip->ctl_src_addr, ETH_ALEN);
293 sol->desc.wwnn.fd_desc.fip_dtype = FIP_DT_NAME;
294 sol->desc.wwnn.fd_desc.fip_dlen = sizeof(sol->desc.wwnn) / FIP_BPW;
295 put_unaligned_be64(fip->lp->wwnn, &sol->desc.wwnn.fd_wwn);
298 sol->desc.size.fd_desc.fip_dtype = FIP_DT_FCOE_SIZE;
299 sol->desc.size.fd_desc.fip_dlen = sizeof(sol->desc.size) / FIP_BPW;
300 sol->desc.size.fd_size = htons(fcoe_size);
302 skb_put(skb, sizeof(*sol));