Lines Matching refs:ipm

429 	struct lcs_ipm_list *ipm;
436 ipm = list_entry(card->ipm_list.next,
438 list_del(&ipm->list);
439 if (ipm->ipm_state != LCS_IPM_STATE_SET_REQUIRED){
441 lcs_send_delipm(card, ipm);
444 kfree(ipm);
1004 &ipm_list->ipm, sizeof (struct lcs_ip_mac_pair));
1005 LCS_DBF_TEXT_(2, trace, "%x",ipm_list->ipm.ip_addr);
1028 &ipm_list->ipm, sizeof (struct lcs_ip_mac_pair));
1029 LCS_DBF_TEXT_(2, trace, "%x",ipm_list->ipm.ip_addr);
1080 struct lcs_ipm_list *ipm, *tmp;
1088 list_for_each_entry_safe(ipm, tmp, &card->ipm_list, list){
1089 switch (ipm->ipm_state) {
1093 list_del_init(&ipm->list);
1095 rc = lcs_send_setipm(card, ipm);
1100 /* store ipm in failed list -> will be added
1103 list_add_tail(&ipm->list, &failed_list);
1105 ipm->ipm_state = LCS_IPM_STATE_ON_CARD;
1107 list_add_tail(&ipm->list, &card->ipm_list);
1111 list_del(&ipm->list);
1113 lcs_send_delipm(card, ipm);
1115 kfree(ipm);
1122 list_for_each_entry_safe(ipm, tmp, &failed_list, list)
1123 list_move_tail(&ipm->list, &card->ipm_list);
1132 lcs_get_mac_for_ipm(__be32 ipm, char *mac, struct net_device *dev)
1135 ip_eth_mc_map(ipm, mac);
1146 struct lcs_ipm_list *ipm;
1153 ipm = list_entry(l, struct lcs_ipm_list, list);
1157 if ( (ipm->ipm.ip_addr == im4->multiaddr) &&
1158 (memcmp(buf, &ipm->ipm.mac_addr,
1163 ipm->ipm_state = LCS_IPM_STATE_DEL_REQUIRED;
1172 struct lcs_ipm_list *tmp, *ipm = NULL;
1180 if ( (tmp->ipm.ip_addr == im4->multiaddr) &&
1181 (memcmp(buf, &tmp->ipm.mac_addr,
1183 ipm = tmp;
1188 return ipm;
1196 struct lcs_ipm_list *ipm;
1204 ipm = lcs_check_addr_entry(card, im4, buf);
1205 if (ipm != NULL)
1207 ipm = kzalloc(sizeof(struct lcs_ipm_list), GFP_ATOMIC);
1208 if (ipm == NULL) {
1213 memcpy(&ipm->ipm.mac_addr, buf, LCS_MAC_LENGTH);
1214 ipm->ipm.ip_addr = im4->multiaddr;
1215 ipm->ipm_state = LCS_IPM_STATE_SET_REQUIRED;
1217 LCS_DBF_HEX(2,trace,&ipm->ipm.ip_addr,4);
1218 list_add(&ipm->list, &card->ipm_list);