Lines Matching refs:ipm

434 	struct lcs_ipm_list *ipm;
441 ipm = list_entry(card->ipm_list.next,
443 list_del(&ipm->list);
444 if (ipm->ipm_state != LCS_IPM_STATE_SET_REQUIRED){
446 lcs_send_delipm(card, ipm);
449 kfree(ipm);
1008 &ipm_list->ipm, sizeof (struct lcs_ip_mac_pair));
1009 LCS_DBF_TEXT_(2, trace, "%x",ipm_list->ipm.ip_addr);
1032 &ipm_list->ipm, sizeof (struct lcs_ip_mac_pair));
1033 LCS_DBF_TEXT_(2, trace, "%x",ipm_list->ipm.ip_addr);
1084 struct lcs_ipm_list *ipm, *tmp;
1092 list_for_each_entry_safe(ipm, tmp, &card->ipm_list, list){
1093 switch (ipm->ipm_state) {
1097 list_del_init(&ipm->list);
1099 rc = lcs_send_setipm(card, ipm);
1104 /* store ipm in failed list -> will be added
1107 list_add_tail(&ipm->list, &failed_list);
1109 ipm->ipm_state = LCS_IPM_STATE_ON_CARD;
1111 list_add_tail(&ipm->list, &card->ipm_list);
1115 list_del(&ipm->list);
1117 lcs_send_delipm(card, ipm);
1119 kfree(ipm);
1126 list_for_each_entry_safe(ipm, tmp, &failed_list, list)
1127 list_move_tail(&ipm->list, &card->ipm_list);
1136 lcs_get_mac_for_ipm(__be32 ipm, char *mac, struct net_device *dev)
1139 ip_eth_mc_map(ipm, mac);
1150 struct lcs_ipm_list *ipm;
1157 ipm = list_entry(l, struct lcs_ipm_list, list);
1161 if ( (ipm->ipm.ip_addr == im4->multiaddr) &&
1162 (memcmp(buf, &ipm->ipm.mac_addr,
1167 ipm->ipm_state = LCS_IPM_STATE_DEL_REQUIRED;
1176 struct lcs_ipm_list *tmp, *ipm = NULL;
1184 if ( (tmp->ipm.ip_addr == im4->multiaddr) &&
1185 (memcmp(buf, &tmp->ipm.mac_addr,
1187 ipm = tmp;
1192 return ipm;
1200 struct lcs_ipm_list *ipm;
1208 ipm = lcs_check_addr_entry(card, im4, buf);
1209 if (ipm != NULL)
1211 ipm = kzalloc(sizeof(struct lcs_ipm_list), GFP_ATOMIC);
1212 if (ipm == NULL) {
1217 memcpy(&ipm->ipm.mac_addr, buf, LCS_MAC_LENGTH);
1218 ipm->ipm.ip_addr = im4->multiaddr;
1219 ipm->ipm_state = LCS_IPM_STATE_SET_REQUIRED;
1221 LCS_DBF_HEX(2,trace,&ipm->ipm.ip_addr,4);
1222 list_add(&ipm->list, &card->ipm_list);