bulletin 31 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c struct pf_vf_bulletin_content **bulletin, bulletin 1460 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c struct pf_vf_bulletin_content *bulletin; bulletin 1466 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c rc = bnx2x_vf_op_prep(bp, idx, &vf, &bulletin, false); bulletin 1473 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c bulletin->valid_bitmap |= 1 << LINK_VALID; bulletin 1475 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c bulletin->link_speed = state->line_speed; bulletin 1476 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c bulletin->link_flags = 0; bulletin 1479 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c bulletin->link_flags |= VFPF_LINK_REPORT_LINK_DOWN; bulletin 1482 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c bulletin->link_flags |= VFPF_LINK_REPORT_FULL_DUPLEX; bulletin 1485 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c bulletin->link_flags |= VFPF_LINK_REPORT_RX_FC_ON; bulletin 1488 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c bulletin->link_flags |= VFPF_LINK_REPORT_TX_FC_ON; bulletin 1490 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c !(bulletin->link_flags & VFPF_LINK_REPORT_LINK_DOWN)) { bulletin 1491 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c bulletin->valid_bitmap |= 1 << LINK_VALID; bulletin 1492 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c bulletin->link_flags |= VFPF_LINK_REPORT_LINK_DOWN; bulletin 1494 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c (bulletin->link_flags & VFPF_LINK_REPORT_LINK_DOWN)) { bulletin 1495 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c bulletin->valid_bitmap |= 1 << LINK_VALID; bulletin 1496 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c bulletin->link_speed = bnx2x_max_speed_cap(bp); bulletin 1497 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c bulletin->link_flags &= ~VFPF_LINK_REPORT_LINK_DOWN; bulletin 1505 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c vf->link_cfg, bulletin->link_speed, bulletin->link_flags); bulletin 2551 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c struct pf_vf_bulletin_content *bulletin; bulletin 2555 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c bulletin = BP_VF_BULLETIN(bp, vfidx); bulletin 2556 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c if (bulletin->valid_bitmap & (1 << VLAN_VALID)) bulletin 2557 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c bnx2x_set_vf_vlan(bp->dev, vfidx, bulletin->vlan, 0, bulletin 2575 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c struct pf_vf_bulletin_content **bulletin, bulletin 2596 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c *bulletin = BP_VF_BULLETIN(bp, vfidx); bulletin 2609 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c if (!*bulletin) { bulletin 2623 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c struct pf_vf_bulletin_content *bulletin = NULL; bulletin 2629 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c rc = bnx2x_vf_op_prep(bp, vfidx, &vf, &bulletin, true); bulletin 2658 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c if (bulletin->valid_bitmap & (1 << MAC_ADDR_VALID)) bulletin 2660 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c memcpy(&ivi->mac, bulletin->mac, ETH_ALEN); bulletin 2666 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c if (bulletin->valid_bitmap & (1 << VLAN_VALID)) bulletin 2668 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c memcpy(&ivi->vlan, &bulletin->vlan, VLAN_HLEN); bulletin 2701 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c struct pf_vf_bulletin_content *bulletin = NULL; bulletin 2709 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c rc = bnx2x_vf_op_prep(bp, vfidx, &vf, &bulletin, true); bulletin 2718 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c bulletin->valid_bitmap |= 1 << MAC_ADDR_VALID; bulletin 2719 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c memcpy(bulletin->mac, mac, ETH_ALEN); bulletin 2766 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c bnx2x_set_mac_one(bp, (u8 *)&bulletin->mac, mac_obj, true, bulletin 2822 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c struct pf_vf_bulletin_content *bulletin = NULL; bulletin 2842 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c rc = bnx2x_vf_op_prep(bp, vfidx, &vf, &bulletin, true); bulletin 2855 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c bulletin->valid_bitmap |= 1 << VLAN_VALID; bulletin 2857 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c bulletin->valid_bitmap &= ~(1 << VLAN_VALID); bulletin 2858 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c bulletin->vlan = vlan; bulletin 3040 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c u32 bnx2x_crc_vf_bulletin(struct pf_vf_bulletin_content *bulletin) bulletin 3043 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c ((u8 *)bulletin) + sizeof(bulletin->crc), bulletin 3044 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c bulletin->length - sizeof(bulletin->crc)); bulletin 3050 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c struct pf_vf_bulletin_content *bulletin; bulletin 3077 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c bulletin = &bp->shadow_bulletin.content; bulletin 3080 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c if (bp->old_bulletin.version == bulletin->version) bulletin 3084 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c if (bulletin->valid_bitmap & 1 << MAC_ADDR_VALID && bulletin 3085 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c !ether_addr_equal(bulletin->mac, bp->old_bulletin.mac)) { bulletin 3087 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c memcpy(bp->dev->dev_addr, bulletin->mac, ETH_ALEN); bulletin 3090 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c if (bulletin->valid_bitmap & (1 << LINK_VALID)) { bulletin 3092 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c bulletin->link_speed, bulletin->link_flags); bulletin 3094 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c bp->vf_link_vars.line_speed = bulletin->link_speed; bulletin 3097 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c if (bulletin->link_flags & VFPF_LINK_REPORT_LINK_DOWN) bulletin 3101 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c if (bulletin->link_flags & VFPF_LINK_REPORT_FULL_DUPLEX) bulletin 3105 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c if (bulletin->link_flags & VFPF_LINK_REPORT_RX_FC_ON) bulletin 3109 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c if (bulletin->link_flags & VFPF_LINK_REPORT_TX_FC_ON) bulletin 3116 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c memcpy(&bp->old_bulletin, bulletin, bulletin 3174 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c struct pf_vf_bulletin_content *bulletin; bulletin 3183 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c bulletin = BP_VF_BULLETIN(bp, vf_idx); bulletin 3184 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c bulletin->valid_bitmap |= 1 << CHANNEL_DOWN; bulletin 497 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.h u32 bnx2x_crc_vf_bulletin(struct pf_vf_bulletin_content *bulletin); bulletin 499 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.h void bnx2x_vf_bulletin_finalize(struct pf_vf_bulletin_content *bulletin, bulletin 627 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.h static inline void bnx2x_vf_bulletin_finalize(struct pf_vf_bulletin_content *bulletin, bulletin 729 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c struct pf_vf_bulletin_content bulletin = bp->pf2vf_bulletin->content; bulletin 770 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c memcpy(bp->dev->dev_addr, bulletin.mac, ETH_ALEN); bulletin 1292 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c struct pf_vf_bulletin_content *bulletin = bulletin 1305 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c if (bulletin->valid_bitmap & 1 << MAC_ADDR_VALID) { bulletin 1306 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c memcpy(resc->current_mac_addr, bulletin->mac, bulletin 1796 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c struct pf_vf_bulletin_content *bulletin = bulletin 1812 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c if (!(bulletin->valid_bitmap & (1 << VLAN_VALID)) && bulletin 1841 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c struct pf_vf_bulletin_content *bulletin = BP_VF_BULLETIN(bp, vf->index); bulletin 1849 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c if (bulletin->valid_bitmap & 1 << MAC_ADDR_VALID) { bulletin 1874 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c !ether_addr_equal(filter->mac, bulletin->mac)) { bulletin 1891 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c struct pf_vf_bulletin_content *bulletin = BP_VF_BULLETIN(bp, vf->index); bulletin 1895 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c if (bulletin->valid_bitmap & 1 << VLAN_VALID) { bulletin 2276 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c void bnx2x_vf_bulletin_finalize(struct pf_vf_bulletin_content *bulletin, bulletin 2282 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c bulletin->length = support_long ? BULLETIN_CONTENT_SIZE : bulletin 2284 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c bulletin->crc = bnx2x_crc_vf_bulletin(bulletin); bulletin 2290 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c struct pf_vf_bulletin_content *bulletin = BP_VF_BULLETIN(bp, vf); bulletin 2302 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c bulletin->version++; bulletin 2303 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c bnx2x_vf_bulletin_finalize(bulletin, bulletin 2310 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c U64_LO(vf_addr), bulletin->length / 4); bulletin 342 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_bulletin = p_vf->bulletin.p_virt; bulletin 347 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->bulletin.size - crc_size); bulletin 357 drivers/net/ethernet/qlogic/qed/qed_sriov.c return qed_dmae_host2host(p_hwfn, p_ptt, p_vf->bulletin.phys, bulletin 358 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_vf->vf_bulletin, p_vf->bulletin.size / 4, bulletin 463 drivers/net/ethernet/qlogic/qed/qed_sriov.c vf->bulletin.phys = idx * bulletin 466 drivers/net/ethernet/qlogic/qed/qed_sriov.c vf->bulletin.p_virt = p_bulletin_virt + idx; bulletin 467 drivers/net/ethernet/qlogic/qed/qed_sriov.c vf->bulletin.size = sizeof(struct qed_bulletin_content); bulletin 970 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_bulletin = p_vf->bulletin.p_virt; bulletin 1119 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (vf->bulletin.p_virt) bulletin 1120 drivers/net/ethernet/qlogic/qed/qed_sriov.c memset(vf->bulletin.p_virt, 0, sizeof(*vf->bulletin.p_virt)); bulletin 1620 drivers/net/ethernet/qlogic/qed/qed_sriov.c vf->bulletin.size = (vf->bulletin.size < req->bulletin_size) ? bulletin 1621 drivers/net/ethernet/qlogic/qed/qed_sriov.c vf->bulletin.size : req->bulletin_size; bulletin 1679 drivers/net/ethernet/qlogic/qed/qed_sriov.c resp->bulletin_size = vf->bulletin.size; bulletin 1806 drivers/net/ethernet/qlogic/qed/qed_sriov.c ether_addr_copy(filter.mac, p_vf->bulletin.p_virt->mac); bulletin 1833 drivers/net/ethernet/qlogic/qed/qed_sriov.c filter.vlan = p_vf->bulletin.p_virt->pvid; bulletin 1954 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_bitmap = &vf_info->bulletin.p_virt->valid_bitmap; bulletin 1958 drivers/net/ethernet/qlogic/qed/qed_sriov.c vf_info->bulletin.p_virt->default_only_untagged = vf_req; bulletin 1966 drivers/net/ethernet/qlogic/qed/qed_sriov.c params.only_untagged = vf_info->bulletin.p_virt->default_only_untagged; bulletin 3145 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (p_vf->bulletin.p_virt->valid_bitmap & BIT(VLAN_ADDR_FORCED)) bulletin 3179 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (p_vf->bulletin.p_virt->valid_bitmap & BIT(MAC_ADDR_FORCED)) bulletin 3278 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_bulletin_content *p_bulletin = vf->bulletin.p_virt; bulletin 3817 drivers/net/ethernet/qlogic/qed/qed_sriov.c p_bulletin = p_vf->bulletin.p_virt; bulletin 3832 drivers/net/ethernet/qlogic/qed/qed_sriov.c struct qed_bulletin_content *p_bulletin = p_vf->bulletin.p_virt; bulletin 4145 drivers/net/ethernet/qlogic/qed/qed_sriov.c vf_info->bulletin.p_virt->valid_bitmap &= bulletin 4150 drivers/net/ethernet/qlogic/qed/qed_sriov.c vf_info->bulletin.p_virt->valid_bitmap &= bulletin 4154 drivers/net/ethernet/qlogic/qed/qed_sriov.c memcpy(vf_info->bulletin.p_virt->mac, mac, ETH_ALEN); bulletin 4156 drivers/net/ethernet/qlogic/qed/qed_sriov.c vf_info->bulletin.p_virt->valid_bitmap |= feature; bulletin 4179 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (vf_info->bulletin.p_virt->valid_bitmap & BIT(MAC_ADDR_FORCED)) { bulletin 4186 drivers/net/ethernet/qlogic/qed/qed_sriov.c ether_addr_copy(vf_info->bulletin.p_virt->mac, mac); bulletin 4188 drivers/net/ethernet/qlogic/qed/qed_sriov.c vf_info->bulletin.p_virt->valid_bitmap |= feature; bulletin 4216 drivers/net/ethernet/qlogic/qed/qed_sriov.c vf_info->bulletin.p_virt->pvid = pvid; bulletin 4218 drivers/net/ethernet/qlogic/qed/qed_sriov.c vf_info->bulletin.p_virt->valid_bitmap |= feature; bulletin 4220 drivers/net/ethernet/qlogic/qed/qed_sriov.c vf_info->bulletin.p_virt->valid_bitmap &= ~feature; bulletin 4244 drivers/net/ethernet/qlogic/qed/qed_sriov.c vf_info->bulletin.p_virt->vxlan_udp_port = vxlan_port; bulletin 4245 drivers/net/ethernet/qlogic/qed/qed_sriov.c vf_info->bulletin.p_virt->geneve_udp_port = geneve_port; bulletin 4314 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (!p_vf || !p_vf->bulletin.p_virt) bulletin 4317 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (!(p_vf->bulletin.p_virt->valid_bitmap & bulletin 4321 drivers/net/ethernet/qlogic/qed/qed_sriov.c return p_vf->bulletin.p_virt->mac; bulletin 4330 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (!p_vf || !p_vf->bulletin.p_virt) bulletin 4333 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (!(p_vf->bulletin.p_virt->valid_bitmap & BIT(MAC_ADDR_FORCED))) bulletin 4336 drivers/net/ethernet/qlogic/qed/qed_sriov.c return p_vf->bulletin.p_virt->mac; bulletin 4345 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (!p_vf || !p_vf->bulletin.p_virt) bulletin 4348 drivers/net/ethernet/qlogic/qed/qed_sriov.c if (!(p_vf->bulletin.p_virt->valid_bitmap & BIT(VLAN_ADDR_FORCED))) bulletin 4351 drivers/net/ethernet/qlogic/qed/qed_sriov.c return p_vf->bulletin.p_virt->pvid; bulletin 5057 drivers/net/ethernet/qlogic/qed/qed_sriov.c (vf->bulletin.p_virt->valid_bitmap & BIT(MAC_ADDR_FORCED))) { bulletin 5078 drivers/net/ethernet/qlogic/qed/qed_sriov.c vf->bulletin.p_virt->valid_bitmap &= bulletin 199 drivers/net/ethernet/qlogic/qed/qed_sriov.h struct qed_bulletin bulletin; bulletin 209 drivers/net/ethernet/qlogic/qed/qed_vf.c if (p_iov->bulletin.p_virt) { bulletin 213 drivers/net/ethernet/qlogic/qed/qed_vf.c p_iov->bulletin.p_virt, p_iov->bulletin.phys); bulletin 302 drivers/net/ethernet/qlogic/qed/qed_vf.c req->bulletin_addr = p_iov->bulletin.phys; bulletin 303 drivers/net/ethernet/qlogic/qed/qed_vf.c req->bulletin_size = p_iov->bulletin.size; bulletin 409 drivers/net/ethernet/qlogic/qed/qed_vf.c p_iov->bulletin.size = resp->bulletin_size; bulletin 524 drivers/net/ethernet/qlogic/qed/qed_vf.c p_iov->bulletin.size = sizeof(struct qed_bulletin_content); bulletin 525 drivers/net/ethernet/qlogic/qed/qed_vf.c p_iov->bulletin.p_virt = dma_alloc_coherent(&p_hwfn->cdev->pdev->dev, bulletin 526 drivers/net/ethernet/qlogic/qed/qed_vf.c p_iov->bulletin.size, bulletin 527 drivers/net/ethernet/qlogic/qed/qed_vf.c &p_iov->bulletin.phys, bulletin 531 drivers/net/ethernet/qlogic/qed/qed_vf.c p_iov->bulletin.p_virt, bulletin 532 drivers/net/ethernet/qlogic/qed/qed_vf.c (u64)p_iov->bulletin.phys, p_iov->bulletin.size); bulletin 1495 drivers/net/ethernet/qlogic/qed/qed_vf.c crc_size = sizeof(p_iov->bulletin.p_virt->crc); bulletin 1499 drivers/net/ethernet/qlogic/qed/qed_vf.c memcpy(&shadow, p_iov->bulletin.p_virt, p_iov->bulletin.size); bulletin 1507 drivers/net/ethernet/qlogic/qed/qed_vf.c p_iov->bulletin.size - crc_size); bulletin 1512 drivers/net/ethernet/qlogic/qed/qed_vf.c memcpy(&p_iov->bulletin_shadow, &shadow, p_iov->bulletin.size); bulletin 1624 drivers/net/ethernet/qlogic/qed/qed_vf.c struct qed_bulletin_content *bulletin; bulletin 1626 drivers/net/ethernet/qlogic/qed/qed_vf.c bulletin = &p_hwfn->vf_iov_info->bulletin_shadow; bulletin 1627 drivers/net/ethernet/qlogic/qed/qed_vf.c if (!(bulletin->valid_bitmap & (1 << MAC_ADDR_FORCED))) bulletin 1631 drivers/net/ethernet/qlogic/qed/qed_vf.c if (ether_addr_equal(bulletin->mac, mac)) bulletin 1640 drivers/net/ethernet/qlogic/qed/qed_vf.c struct qed_bulletin_content *bulletin; bulletin 1642 drivers/net/ethernet/qlogic/qed/qed_vf.c bulletin = &hwfn->vf_iov_info->bulletin_shadow; bulletin 1644 drivers/net/ethernet/qlogic/qed/qed_vf.c if (bulletin->valid_bitmap & (1 << MAC_ADDR_FORCED)) { bulletin 1647 drivers/net/ethernet/qlogic/qed/qed_vf.c } else if (bulletin->valid_bitmap & (1 << VFPF_BULLETIN_MAC_ADDR)) { bulletin 1654 drivers/net/ethernet/qlogic/qed/qed_vf.c ether_addr_copy(dst_mac, bulletin->mac); bulletin 692 drivers/net/ethernet/qlogic/qed/qed_vf.h struct qed_bulletin bulletin;