Lines Matching defs:vlan
365 struct fip_vlan *vlan;
380 vlan = (struct fip_vlan *)eth_fr;
382 memset(vlan, 0, sizeof(*vlan));
383 memcpy(vlan->eth.h_source, fip->ctl_src_addr, ETH_ALEN);
384 memcpy(vlan->eth.h_dest, fcoe_all_fcfs, ETH_ALEN);
385 vlan->eth.h_proto = htons(ETH_P_FIP);
387 vlan->fip.fip_ver = FIP_VER_ENCAPS(FIP_VER);
388 vlan->fip.fip_op = htons(FIP_OP_VLAN);
389 vlan->fip.fip_subcode = FIP_SC_VL_REQ;
390 vlan->fip.fip_dl_len = htons(sizeof(vlan->desc) / FIP_BPW);
392 vlan->desc.mac.fd_desc.fip_dtype = FIP_DT_MAC;
393 vlan->desc.mac.fd_desc.fip_dlen = sizeof(vlan->desc.mac) / FIP_BPW;
394 memcpy(&vlan->desc.mac.fd_mac, fip->ctl_src_addr, ETH_ALEN);
396 vlan->desc.wwnn.fd_desc.fip_dtype = FIP_DT_NAME;
397 vlan->desc.wwnn.fd_desc.fip_dlen = sizeof(vlan->desc.wwnn) / FIP_BPW;
398 put_unaligned_be64(fip->lp->wwnn, &vlan->desc.wwnn.fd_wwn);
401 skb_put(skb, sizeof(*vlan));
421 struct fcoe_vlan *vlan;
445 vlan = kzalloc(sizeof(*vlan), GFP_ATOMIC);
446 if (!vlan) {
452 vlan->vid = vid & 0x0fff;
453 vlan->state = FIP_VLAN_AVAIL;
454 list_add_tail(&vlan->list, &fnic->vlans);
471 vlan = list_first_entry(&fnic->vlans, struct fcoe_vlan, list);
472 fnic->set_vlan(fnic, vlan->vid);
473 vlan->state = FIP_VLAN_SENT; /* sent now */
474 vlan->sol_count++;
489 struct fcoe_vlan *vlan;
493 vlan = list_first_entry(&fnic->vlans, struct fcoe_vlan, list);
494 fnic->set_vlan(fnic, vlan->vid);
495 vlan->state = FIP_VLAN_SENT; /* sent now */
496 vlan->sol_count = 1;
580 /* set the vlan as used */
584 /* received CVL request, restart vlan disc */
830 u16 q_number, completed_index, bytes_written = 0, vlan, checksum;
852 &vlan);
863 &vlan_stripped, &vlan, &checksum,
1295 struct fcoe_vlan *vlan;
1300 * might not be required since we did this before sending vlan
1305 list_for_each_entry_safe(vlan, next, &fnic->vlans, list) {
1306 list_del(&vlan->list);
1307 kfree(vlan);
1316 struct fcoe_vlan *vlan;
1342 vlan = list_first_entry(&fnic->vlans, struct fcoe_vlan, list);
1344 "fip_timer: vlan %d state %d sol_count %d\n",
1345 vlan->vid, vlan->state, vlan->sol_count);
1346 switch (vlan->state) {
1354 /* if all vlans are in failed state, restart vlan disc */
1362 if (vlan->sol_count >= FCOE_CTLR_MAX_SOL) {
1364 * no response on this vlan, remove from the list.
1365 * Try the next vlan
1369 vlan->vid);
1370 list_del(&vlan->list);
1371 kfree(vlan);
1372 vlan = NULL;
1374 /* we exhausted all vlans, restart vlan disc */
1378 "fip_timer: vlan list empty, "
1379 "trigger vlan disc\n");
1383 /* check the next vlan */
1384 vlan = list_first_entry(&fnic->vlans, struct fcoe_vlan,
1386 fnic->set_vlan(fnic, vlan->vid);
1387 vlan->state = FIP_VLAN_SENT; /* sent now */
1391 vlan->sol_count++;