diff options
| -rw-r--r-- | net/atm/mpc.c | 13 | ||||
| -rw-r--r-- | net/atm/mpoa_caches.c | 12 |
2 files changed, 7 insertions, 18 deletions
diff --git a/net/atm/mpc.c b/net/atm/mpc.c index b87c2a88bdce..0d2b994af511 100644 --- a/net/atm/mpc.c +++ b/net/atm/mpc.c | |||
| @@ -560,7 +560,6 @@ static int atm_mpoa_vcc_attach(struct atm_vcc *vcc, void __user *arg) | |||
| 560 | struct atmmpc_ioc ioc_data; | 560 | struct atmmpc_ioc ioc_data; |
| 561 | in_cache_entry *in_entry; | 561 | in_cache_entry *in_entry; |
| 562 | uint32_t ipaddr; | 562 | uint32_t ipaddr; |
| 563 | unsigned char *ip; | ||
| 564 | 563 | ||
| 565 | bytes_left = copy_from_user(&ioc_data, arg, sizeof(struct atmmpc_ioc)); | 564 | bytes_left = copy_from_user(&ioc_data, arg, sizeof(struct atmmpc_ioc)); |
| 566 | if (bytes_left != 0) { | 565 | if (bytes_left != 0) { |
| @@ -583,9 +582,8 @@ static int atm_mpoa_vcc_attach(struct atm_vcc *vcc, void __user *arg) | |||
| 583 | if (in_entry != NULL) mpc->in_ops->put(in_entry); | 582 | if (in_entry != NULL) mpc->in_ops->put(in_entry); |
| 584 | return -EINVAL; | 583 | return -EINVAL; |
| 585 | } | 584 | } |
| 586 | ip = (unsigned char*)&in_entry->ctrl_info.in_dst_ip; | ||
| 587 | printk("mpoa: (%s) mpc_vcc_attach: attaching ingress SVC, entry = %u.%u.%u.%u\n", | 585 | printk("mpoa: (%s) mpc_vcc_attach: attaching ingress SVC, entry = %u.%u.%u.%u\n", |
| 588 | mpc->dev->name, ip[0], ip[1], ip[2], ip[3]); | 586 | mpc->dev->name, NIPQUAD(in_entry->ctrl_info.in_dst_ip)); |
| 589 | in_entry->shortcut = vcc; | 587 | in_entry->shortcut = vcc; |
| 590 | mpc->in_ops->put(in_entry); | 588 | mpc->in_ops->put(in_entry); |
| 591 | } else { | 589 | } else { |
| @@ -616,10 +614,8 @@ static void mpc_vcc_close(struct atm_vcc *vcc, struct net_device *dev) | |||
| 616 | dprintk("mpoa: (%s) mpc_vcc_close:\n", dev->name); | 614 | dprintk("mpoa: (%s) mpc_vcc_close:\n", dev->name); |
| 617 | in_entry = mpc->in_ops->get_by_vcc(vcc, mpc); | 615 | in_entry = mpc->in_ops->get_by_vcc(vcc, mpc); |
| 618 | if (in_entry) { | 616 | if (in_entry) { |
| 619 | unsigned char *ip __attribute__ ((unused)) = | ||
| 620 | (unsigned char *)&in_entry->ctrl_info.in_dst_ip; | ||
| 621 | dprintk("mpoa: (%s) mpc_vcc_close: ingress SVC closed ip = %u.%u.%u.%u\n", | 617 | dprintk("mpoa: (%s) mpc_vcc_close: ingress SVC closed ip = %u.%u.%u.%u\n", |
| 622 | mpc->dev->name, ip[0], ip[1], ip[2], ip[3]); | 618 | mpc->dev->name, NIPQUAD(in_entry->ctrl_info.in_dst_ip)); |
| 623 | in_entry->shortcut = NULL; | 619 | in_entry->shortcut = NULL; |
| 624 | mpc->in_ops->put(in_entry); | 620 | mpc->in_ops->put(in_entry); |
| 625 | } | 621 | } |
| @@ -1154,18 +1150,17 @@ static void ingress_purge_rcvd(struct k_message *msg, struct mpoa_client *mpc) | |||
| 1154 | { | 1150 | { |
| 1155 | uint32_t dst_ip = msg->content.in_info.in_dst_ip; | 1151 | uint32_t dst_ip = msg->content.in_info.in_dst_ip; |
| 1156 | uint32_t mask = msg->ip_mask; | 1152 | uint32_t mask = msg->ip_mask; |
| 1157 | unsigned char *ip = (unsigned char *)&dst_ip; | ||
| 1158 | in_cache_entry *entry = mpc->in_ops->get_with_mask(dst_ip, mpc, mask); | 1153 | in_cache_entry *entry = mpc->in_ops->get_with_mask(dst_ip, mpc, mask); |
| 1159 | 1154 | ||
| 1160 | if(entry == NULL){ | 1155 | if(entry == NULL){ |
| 1161 | printk("mpoa: (%s) ingress_purge_rcvd: purge for a non-existing entry, ", mpc->dev->name); | 1156 | printk("mpoa: (%s) ingress_purge_rcvd: purge for a non-existing entry, ", mpc->dev->name); |
| 1162 | printk("ip = %u.%u.%u.%u\n", ip[0], ip[1], ip[2], ip[3]); | 1157 | printk("ip = %u.%u.%u.%u\n", NIPQUAD(dst_ip)); |
| 1163 | return; | 1158 | return; |
| 1164 | } | 1159 | } |
| 1165 | 1160 | ||
| 1166 | do { | 1161 | do { |
| 1167 | dprintk("mpoa: (%s) ingress_purge_rcvd: removing an ingress entry, ip = %u.%u.%u.%u\n" , | 1162 | dprintk("mpoa: (%s) ingress_purge_rcvd: removing an ingress entry, ip = %u.%u.%u.%u\n" , |
| 1168 | mpc->dev->name, ip[0], ip[1], ip[2], ip[3]); | 1163 | mpc->dev->name, NIPQUAD(dst_ip)); |
| 1169 | write_lock_bh(&mpc->ingress_lock); | 1164 | write_lock_bh(&mpc->ingress_lock); |
| 1170 | mpc->in_ops->remove_entry(entry, mpc); | 1165 | mpc->in_ops->remove_entry(entry, mpc); |
| 1171 | write_unlock_bh(&mpc->ingress_lock); | 1166 | write_unlock_bh(&mpc->ingress_lock); |
diff --git a/net/atm/mpoa_caches.c b/net/atm/mpoa_caches.c index 781ed1b9329d..fbf13cdcf46e 100644 --- a/net/atm/mpoa_caches.c +++ b/net/atm/mpoa_caches.c | |||
| @@ -87,7 +87,6 @@ static in_cache_entry *in_cache_get_by_vcc(struct atm_vcc *vcc, | |||
| 87 | static in_cache_entry *in_cache_add_entry(uint32_t dst_ip, | 87 | static in_cache_entry *in_cache_add_entry(uint32_t dst_ip, |
| 88 | struct mpoa_client *client) | 88 | struct mpoa_client *client) |
| 89 | { | 89 | { |
| 90 | unsigned char *ip __attribute__ ((unused)) = (unsigned char *)&dst_ip; | ||
| 91 | in_cache_entry* entry = kmalloc(sizeof(in_cache_entry), GFP_KERNEL); | 90 | in_cache_entry* entry = kmalloc(sizeof(in_cache_entry), GFP_KERNEL); |
| 92 | 91 | ||
| 93 | if (entry == NULL) { | 92 | if (entry == NULL) { |
| @@ -95,7 +94,7 @@ static in_cache_entry *in_cache_add_entry(uint32_t dst_ip, | |||
| 95 | return NULL; | 94 | return NULL; |
| 96 | } | 95 | } |
| 97 | 96 | ||
| 98 | dprintk("mpoa: mpoa_caches.c: adding an ingress entry, ip = %u.%u.%u.%u\n", ip[0], ip[1], ip[2], ip[3]); | 97 | dprintk("mpoa: mpoa_caches.c: adding an ingress entry, ip = %u.%u.%u.%u\n", NIPQUAD(dst_ip)); |
| 99 | memset(entry,0,sizeof(in_cache_entry)); | 98 | memset(entry,0,sizeof(in_cache_entry)); |
| 100 | 99 | ||
| 101 | atomic_set(&entry->use, 1); | 100 | atomic_set(&entry->use, 1); |
| @@ -152,10 +151,7 @@ static int cache_hit(in_cache_entry *entry, struct mpoa_client *mpc) | |||
| 152 | 151 | ||
| 153 | if( entry->count > mpc->parameters.mpc_p1 && | 152 | if( entry->count > mpc->parameters.mpc_p1 && |
| 154 | entry->entry_state == INGRESS_INVALID){ | 153 | entry->entry_state == INGRESS_INVALID){ |
| 155 | unsigned char *ip __attribute__ ((unused)) = | 154 | dprintk("mpoa: (%s) mpoa_caches.c: threshold exceeded for ip %u.%u.%u.%u, sending MPOA res req\n", mpc->dev->name, NIPQUAD(entry->ctrl_info.in_dst_ip)); |
| 156 | (unsigned char *)&entry->ctrl_info.in_dst_ip; | ||
| 157 | |||
| 158 | dprintk("mpoa: (%s) mpoa_caches.c: threshold exceeded for ip %u.%u.%u.%u, sending MPOA res req\n", mpc->dev->name, ip[0], ip[1], ip[2], ip[3]); | ||
| 159 | entry->entry_state = INGRESS_RESOLVING; | 155 | entry->entry_state = INGRESS_RESOLVING; |
| 160 | msg.type = SND_MPOA_RES_RQST; | 156 | msg.type = SND_MPOA_RES_RQST; |
| 161 | memcpy(msg.MPS_ctrl, mpc->mps_ctrl_addr, ATM_ESA_LEN ); | 157 | memcpy(msg.MPS_ctrl, mpc->mps_ctrl_addr, ATM_ESA_LEN ); |
| @@ -187,11 +183,9 @@ static void in_cache_remove_entry(in_cache_entry *entry, | |||
| 187 | { | 183 | { |
| 188 | struct atm_vcc *vcc; | 184 | struct atm_vcc *vcc; |
| 189 | struct k_message msg; | 185 | struct k_message msg; |
| 190 | unsigned char *ip; | ||
| 191 | 186 | ||
| 192 | vcc = entry->shortcut; | 187 | vcc = entry->shortcut; |
| 193 | ip = (unsigned char *)&entry->ctrl_info.in_dst_ip; | 188 | dprintk("mpoa: mpoa_caches.c: removing an ingress entry, ip = %u.%u.%u.%u\n",NIPQUAD(entry->ctrl_info.in_dst_ip)); |
| 194 | dprintk("mpoa: mpoa_caches.c: removing an ingress entry, ip = %u.%u.%u.%u\n",ip[0], ip[1], ip[2], ip[3]); | ||
| 195 | 189 | ||
| 196 | if (entry->prev != NULL) | 190 | if (entry->prev != NULL) |
| 197 | entry->prev->next = entry->next; | 191 | entry->prev->next = entry->next; |
