Lines Matching defs:vdp_profp

80 	vdp_profile_t	*vdp_profp;
82 for (vdp_profp = list_head(&vdp_instp->vdp_inst_profiles);
83 vdp_profp != NULL;
84 vdp_profp = list_next(&vdp_instp->vdp_inst_profiles, vdp_profp)) {
85 if (vdp_profp->vdp_prof_vnic_id == id) {
86 if (vdp_profp->vdp_prof_deleted)
90 return (vdp_profp);
102 vdp_profile_t *vdp_profp;
104 for (vdp_profp = list_head(&vdp_instp->vdp_inst_profiles);
105 vdp_profp != NULL;
106 vdp_profp = list_next(&vdp_instp->vdp_inst_profiles, vdp_profp)) {
107 if (bcmp(vsiid, vdp_profp->vdp_prof_vsiid, 16) == 0) {
108 logtrace("vdp_profp found based on vsiid\n");
109 return (vdp_profp);
121 vdp_create_profile_tlv(vdp_inst_t *vdp_instp, vdp_profile_t *vdp_profp,
124 vdp_tlv_t *vdp_tlvp = &vdp_profp->vdp_prof_tlv;
141 vdp_hton24(vdp_tlvp->vdp_tlv_vsi_type, vdp_profp->vdp_prof_id_type);
144 vdp_tlvp->vdp_tlv_vsi_type_ver = vdp_profp->vdp_prof_id_vers;
147 vdp_tlvp->vdp_tlv_vsiid_format = vdp_profp->vdp_prof_vsiid_format;
150 bcopy(&vdp_profp->vdp_prof_vsiid[10], &vdp_tlvp->vdp_tlv_vsiid[10],
154 vdp_tlvp->vdp_tlv_fltr_format = vdp_profp->vdp_prof_fltr_info_format;
158 htons(vdp_profp->vdp_prof_fltr_entries);
161 wptr = vdp_profp->vdp_prof_wire_tlv;
162 bzero(wptr, sizeof (vdp_profp->vdp_prof_wire_tlv));
168 bcopy(&vdp_profp->vdp_prof_mgr_tlv, wptr, sizeof (vdp_tlv_mgr_t));
172 if (vdp_profp->vdp_prof_mgr_enc_tlv.vtme_type_len > 0) {
173 bcopy(&vdp_profp->vdp_prof_mgr_enc_tlv, wptr,
179 bcopy(&vdp_profp->vdp_prof_tlv, wptr, sizeof (vdp_tlv_t));
181 bcopy(&vdp_profp->vdp_prof_tlv_fltr_mac, wptr, sizeof (vtf_mac_t));
184 vdp_profp->vdp_prof_tlv_len = wptr - vdp_profp->vdp_prof_wire_tlv;
185 assert(vdp_profp->vdp_prof_tlv_len <= ETHERMTU);
190 vdp_free_profp(vdp_profile_t *vdp_profp)
192 vdp_inst_t *vdp_instp = vdp_profp->vdp_prof_instp;
194 list_remove(&vdp_instp->vdp_inst_profiles, vdp_profp);
195 free(vdp_profp);
209 vdp_profile_t *vdp_profp = arg;
210 vdp_inst_t *vdp_instp = vdp_profp->vdp_prof_instp;
219 vdp_profp->vdp_prof_timer_id = -1;
221 if (vdp_profp->vdp_prof_proc_state == VDP_PROF_INIT) {
222 assert(vdp_profp->vdp_prof_cmd_pending != VDP_TLV_NONE);
224 vdp_create_profile_tlv(vdp_instp, vdp_profp,
225 vdp_profp->vdp_prof_cmd_pending == VDP_TLV_ASSOC);
226 vdp_profp->vdp_prof_cmd_pending = VDP_TLV_NONE;
227 vdp_profp->vdp_prof_timer_id =
232 vdp_profp->vdp_prof_wire_tlv, vdp_profp->vdp_prof_tlv_len);
235 vdp_profp->vdp_prof_proc_state = VDP_PROF_TIMEDOUT;
236 vdp_profp->vdp_prof_vsi_state = VDP_TLV_TIMEDOUT;
238 vdp_profp->vdp_prof_timer_id, NULL);
239 vdp_profp->vdp_prof_timer_id = -1;
240 if (vdp_profp->vdp_prof_deleted) {
241 vdp_free_profp(vdp_profp);
244 VDP_PROF_STAT_UPDATE(vdp_profp, opkts, 1);
245 vdp_profp->vdp_prof_proc_state = VDP_PROF_PROCESSING;
247 } else if (vdp_profp->vdp_prof_proc_state == VDP_PROF_WAIT_SYS_CMD) {
248 if (vdp_profp->vdp_prof_cmd_pending != VDP_TLV_NONE) {
249 vdp_profp->vdp_prof_proc_state = VDP_PROF_INIT;
252 vdp_profp->vdp_prof_proc_state = VDP_PROF_TX_KEEP_ALIVE;
253 vdp_profp->vdp_prof_timer_id =
259 vdp_profp->vdp_prof_wire_tlv, vdp_profp->vdp_prof_tlv_len);
262 vdp_profp->vdp_prof_proc_state = VDP_PROF_TIMEDOUT;
263 vdp_profp->vdp_prof_vsi_state = VDP_TLV_TIMEDOUT;
265 vdp_profp->vdp_prof_timer_id, NULL);
266 vdp_profp->vdp_prof_timer_id = -1;
267 if (vdp_profp->vdp_prof_deleted) {
268 vdp_free_profp(vdp_profp);
271 VDP_PROF_STAT_UPDATE(vdp_profp, kas, 1);
272 VDP_PROF_STAT_UPDATE(vdp_profp, opkts, 1);
278 vdp_profp->vdp_prof_proc_state = VDP_PROF_TIMEDOUT;
279 vdp_profp->vdp_prof_vsi_state = VDP_TLV_TIMEDOUT;
280 vdp_profp->vdp_prof_cmd_pending = VDP_TLV_NONE;
284 if (vdp_profp->vdp_prof_deleted) {
285 vdp_free_profp(vdp_profp);
380 vdp_profile_t *vdp_profp;
443 vdp_profp = vdp_profile_lookup_by_vsiid(vdp_instp, tlv_vsiid);
444 if (vdp_profp == NULL) {
445 logtrace("vdp_ecp_cb: could not find vdp_profp \n");
448 } else if (vdp_profp->vdp_prof_deleted) {
449 if (vdp_profp->vdp_prof_timer_id != -1)
451 vdp_profp->vdp_prof_timer_id, 0);
453 vdp_profp->vdp_prof_timer_id =
455 0, vdp_process_timeout, vdp_profp);
462 VDP_PROF_STAT_UPDATE(vdp_profp, ipkts, 1);
468 vdp_tlv_type = LLDP_TLV_TYPE(&vdp_profp->vdp_prof_tlv);
485 if (vdp_profp->vdp_prof_mgr_enc_tlv.vtme_type_len > 0 &&
490 vdp_profp->vdp_prof_timer_id, NULL)) {
491 logtrace("vdp_ecp_cb: vdp_profp KA timer not found \n");
493 vdp_profp->vdp_prof_timer_id = -1;
495 vdp_profp->vdp_prof_timer_id = -1;
497 vdp_profp->vdp_prof_proc_state = VDP_PROF_WAIT_SYS_CMD;
498 vdp_profp->vdp_prof_cmd_pending = VDP_TLV_DEASSOC;
499 vdp_profp->vdp_prof_timer_id =
501 0, vdp_process_timeout, vdp_profp);
505 if (vdp_profp->vdp_prof_proc_state == VDP_PROF_PROCESSING) {
506 vdp_profp->vdp_prof_proc_state = VDP_PROF_WAIT_SYS_CMD;
507 vdp_profp->vdp_prof_vsi_state = tlv_type;
509 if (vdp_profp->vdp_prof_proc_state == VDP_PROF_TX_KEEP_ALIVE) {
510 vdp_profp->vdp_prof_proc_state = VDP_PROF_WAIT_SYS_CMD;
512 if (vdp_profp->vdp_prof_proc_state == VDP_PROF_WAIT_SYS_CMD) {
513 if (vdp_profp->vdp_prof_cmd_pending != VDP_TLV_NONE) {
515 vdp_profp, B_FALSE);
516 vdp_profp->vdp_prof_proc_state = VDP_PROF_INIT;
517 vdp_profp->vdp_prof_timer_id =
519 0, vdp_process_timeout, vdp_profp);
523 vdp_profp->vdp_prof_timer_id =
526 vdp_process_timeout, vdp_profp);
533 vdp_profp->vdp_prof_proc_state = VDP_PROF_TX_DEASSOC;
534 vdp_profp->vdp_prof_vsi_state = VDP_TLV_DEASSOC;
535 if (vdp_profp->vdp_prof_cmd_pending == VDP_TLV_DEASSOC)
536 vdp_profp->vdp_prof_cmd_pending = VDP_TLV_NONE;
537 if (vdp_profp->vdp_prof_deleted) {
538 vdp_free_profp(vdp_profp);
697 vdp_profile_t *vdp_profp;
705 vdp_profp = vdp_profile_lookup_by_linkid(vdp_instp,
707 if (vdp_profp == NULL) {
711 vstats->vs_ipkts = vdp_profp->vdp_prof_ipkts;
712 vstats->vs_opkts = vdp_profp->vdp_prof_opkts;
713 vstats->vs_kas = vdp_profp->vdp_prof_kas;
766 vdp_profile_t *vdp_profp;
794 for (vdp_profp = list_head(&vdp_instp->vdp_inst_profiles);
795 vdp_profp != NULL;
796 vdp_profp = list_next(&vdp_instp->vdp_inst_profiles,
797 vdp_profp)) {
801 vdp_profp->vdp_prof_vnic_id))
854 vdp_profile_t *vdp_profp;
880 for (vdp_profp = list_head(&vdp_instp->vdp_inst_profiles);
881 vdp_profp != NULL;
882 vdp_profp = list_next(&vdp_instp->vdp_inst_profiles,
883 vdp_profp)) {
885 vdp_profp->vdp_prof_vnic_name, 0xFF,
886 vdp_profp->vdp_prof_vsi_state);
890 vdp_profp->vdp_prof_vnic_id))
897 vdp_profp->vdp_prof_vnic_name);
899 vdp_profp->vdp_prof_vsi_state;
904 vdp_profp->vdp_prof_vsiid_format;
905 bcopy((char *restrict)vdp_profp->vdp_prof_vsiid,
907 sizeof (vdp_profp->vdp_prof_vsiid));
909 vdp_profp->vdp_prof_id_type;
911 vdp_profp->vdp_prof_id_vers;
913 vdp_profp->vdp_prof_cmd_pending;
919 vdp_profp);
955 i_vdp_tlv_del_locked(vdp_inst_t *vdp_instp, vdp_profile_t *vdp_profp)
957 vdp_profp->vdp_prof_deleted = B_TRUE;
966 if (vdp_profp->vdp_prof_vsi_state == VDP_TLV_TIMEDOUT ||
967 ((vdp_profp->vdp_prof_vsi_state == VDP_TLV_DEASSOC) &&
968 (vdp_profp->vdp_prof_proc_state != VDP_PROF_INIT))) {
975 vdp_profp->vdp_prof_timer_id, NULL);
976 vdp_profp->vdp_prof_vsi_state = VDP_TLV_DEASSOC;
977 vdp_profp->vdp_prof_timer_id = -1;
978 vdp_free_profp(vdp_profp);
988 vdp_profp->vdp_prof_cmd_pending = VDP_TLV_DEASSOC;
989 if (vdp_profp->vdp_prof_proc_state == VDP_PROF_WAIT_SYS_CMD) {
991 vdp_profp->vdp_prof_timer_id, 0);
1002 vdp_profile_t *vdp_profp;
1013 for (vdp_profp = list_head(&vdp_instp->vdp_inst_profiles);
1014 vdp_profp != NULL;
1015 vdp_profp = list_next(&vdp_instp->vdp_inst_profiles,
1016 vdp_profp)) {
1017 if (vdp_profp->vdp_prof_deleted)
1019 if (i_vdp_tlv_del_locked(vdp_instp, vdp_profp)) {
1041 vdp_profile_t *vdp_profp;
1048 vdp_profp = vdp_profile_lookup_by_linkid(vdp_instp,
1050 if (vdp_profp == NULL) {
1054 (void) i_vdp_tlv_del_locked(vdp_instp, vdp_profp);
1066 vdp_profile_t *vdp_profp;
1077 vdp_profp = vdp_profile_lookup_by_linkid(vdp_instp,
1079 if (vdp_profp != NULL) {
1084 vdp_profp = malloc(sizeof (vdp_profile_t));
1085 if (vdp_profp == NULL) {
1090 bzero(vdp_profp, sizeof (vdp_profile_t));
1091 vdp_profp->vdp_prof_vnic_id = vdp_argp->vdpt_virt_link_id;
1092 vdp_profp->vdp_prof_vsi_state = VDP_TLV_DEASSOC;
1093 vdp_profp->vdp_prof_cmd_pending = VDP_TLV_ASSOC;
1094 vdp_profp->vdp_prof_proc_state = VDP_PROF_INIT;
1095 (void) strlcpy(vdp_profp->vdp_prof_vnic_name,
1098 vdp_profp->vdp_prof_vsiid_format = vdp_argp->vdpt_tlv_vsiid_format;
1099 if (vdp_profp->vdp_prof_vsiid_format != VDP_TLV_VSIID_FMT_MAC) {
1101 free(vdp_profp);
1106 bcopy(link_infop->vli_virt_link_mac, &vdp_profp->vdp_prof_vsiid[10],
1108 vdp_profp->vdp_prof_vnic_id = vdp_argp->vdpt_virt_link_id;
1111 free(vdp_profp);
1114 vdp_profp->vdp_prof_fltr_entries = vdp_argp->vdpt_tlv_fltr_entries;
1115 vdp_profp->vdp_prof_fltr_info_format =
1117 bzero(&vdp_profp->vdp_prof_tlv_fltr_mac, sizeof (vtf_mac_t));
1121 vdp_profp->vdp_prof_tlv_fltr_mac.vtf_mac_addr, ETHERADDRL);
1124 free(vdp_profp);
1130 vdp_profp->vdp_prof_tlv_fltr_mac.vtf_mac_ps_pcp_vid =
1133 vdp_profp->vdp_prof_id_type = vdp_argp->vdpt_tlv_type_id;
1134 vdp_profp->vdp_prof_id_vers = vdp_argp->vdpt_tlv_type_version;
1137 bzero(&vdp_profp->vdp_prof_mgr_tlv, sizeof (vdp_tlv_mgr_t));
1138 vdp_profp->vdp_prof_mgr_tlv.vdp_mgr_tlv_type_len = VDP_TLV_MGR_ID;
1139 vdp_profp->vdp_prof_mgr_tlv.vdp_mgr_tlv_type_len <<=
1141 vdp_profp->vdp_prof_mgr_tlv.vdp_mgr_tlv_type_len |=
1143 vdp_profp->vdp_prof_mgr_tlv.vdp_mgr_tlv_type_len =
1144 htons(vdp_profp->vdp_prof_mgr_tlv.vdp_mgr_tlv_type_len);
1147 vdp_profp->vdp_prof_mgr_tlv.vdp_mgr_tlv_id,
1151 bzero(&vdp_profp->vdp_prof_mgr_enc_tlv, sizeof (vdp_tlv_mgrenc_t));
1155 vdp_profp->vdp_prof_mgr_enc_tlv.vtme_type_len =
1157 vdp_profp->vdp_prof_mgr_enc_tlv.vtme_type_len <<=
1160 vdp_profp->vdp_prof_mgr_enc_tlv.vtme_type_len |=
1162 vdp_profp->vdp_prof_mgr_enc_tlv.vtme_type_len =
1163 htons(vdp_profp->vdp_prof_mgr_enc_tlv.vtme_type_len);
1166 vdp_hton24(vdp_profp->vdp_prof_mgr_enc_tlv.vtme_ouistype,
1168 vdp_profp->vdp_prof_mgr_enc_tlv.vtme_ouistype[3] =
1170 vdp_profp->vdp_prof_mgr_enc_tlv.vtme_encid =
1174 vdp_profp->vdp_prof_instp = vdp_instp;
1175 list_insert_tail(&vdp_instp->vdp_inst_profiles, vdp_profp);
1179 vdp_profp->vdp_prof_timer_id =
1181 vdp_process_timeout, vdp_profp);
1255 vdp_tlv_fltr_to_str(char *buf, int n, vdp_profile_t *vdp_profp)
1257 switch (vdp_profp->vdp_prof_fltr_info_format) {
1260 vdp_profp->vdp_prof_tlv_fltr_mac.vtf_mac_addr;
1264 ntohs(vdp_profp->vdp_prof_tlv_fltr_mac.vtf_mac_ps_pcp_vid));