Lines Matching refs:client

36 				    struct mpoa_client *client)  in in_cache_get()  argument
40 read_lock_bh(&client->ingress_lock); in in_cache_get()
41 entry = client->in_cache; in in_cache_get()
45 read_unlock_bh(&client->ingress_lock); in in_cache_get()
50 read_unlock_bh(&client->ingress_lock); in in_cache_get()
56 struct mpoa_client *client, in in_cache_get_with_mask() argument
61 read_lock_bh(&client->ingress_lock); in in_cache_get_with_mask()
62 entry = client->in_cache; in in_cache_get_with_mask()
66 read_unlock_bh(&client->ingress_lock); in in_cache_get_with_mask()
71 read_unlock_bh(&client->ingress_lock); in in_cache_get_with_mask()
78 struct mpoa_client *client) in in_cache_get_by_vcc() argument
82 read_lock_bh(&client->ingress_lock); in in_cache_get_by_vcc()
83 entry = client->in_cache; in in_cache_get_by_vcc()
87 read_unlock_bh(&client->ingress_lock); in in_cache_get_by_vcc()
92 read_unlock_bh(&client->ingress_lock); in in_cache_get_by_vcc()
98 struct mpoa_client *client) in in_cache_add_entry() argument
111 write_lock_bh(&client->ingress_lock); in in_cache_add_entry()
112 entry->next = client->in_cache; in in_cache_add_entry()
114 if (client->in_cache != NULL) in in_cache_add_entry()
115 client->in_cache->prev = entry; in in_cache_add_entry()
116 client->in_cache = entry; in in_cache_add_entry()
118 memcpy(entry->MPS_ctrl_ATM_addr, client->mps_ctrl_addr, ATM_ESA_LEN); in in_cache_add_entry()
121 entry->retry_time = client->parameters.mpc_p4; in in_cache_add_entry()
127 write_unlock_bh(&client->ingress_lock); in in_cache_add_entry()
191 struct mpoa_client *client) in in_cache_remove_entry() argument
203 client->in_cache = entry->next; in in_cache_remove_entry()
206 client->in_ops->put(entry); in in_cache_remove_entry()
207 if (client->in_cache == NULL && client->eg_cache == NULL) { in in_cache_remove_entry()
209 msg_to_mpoad(&msg, client); in in_cache_remove_entry()
214 eg_cache_entry *eg_entry = client->eg_ops->get_by_vcc(vcc, in in_cache_remove_entry()
215 client); in in_cache_remove_entry()
217 client->eg_ops->put(eg_entry); in in_cache_remove_entry()
226 static void clear_count_and_expired(struct mpoa_client *client) in clear_count_and_expired() argument
233 write_lock_bh(&client->ingress_lock); in clear_count_and_expired()
234 entry = client->in_cache; in clear_count_and_expired()
241 client->in_ops->remove_entry(entry, client); in clear_count_and_expired()
245 write_unlock_bh(&client->ingress_lock); in clear_count_and_expired()
249 static void check_resolving_entries(struct mpoa_client *client) in check_resolving_entries() argument
259 read_lock_bh(&client->ingress_lock); in check_resolving_entries()
260 entry = client->in_cache; in check_resolving_entries()
265 < client->parameters.mpc_p6) { in check_resolving_entries()
275 if (entry->retry_time > client->parameters.mpc_p5) { in check_resolving_entries()
277 entry->retry_time = client->parameters.mpc_p4; in check_resolving_entries()
284 memcpy(msg.MPS_ctrl, client->mps_ctrl_addr, ATM_ESA_LEN); in check_resolving_entries()
289 msg_to_mpoad(&msg, client); in check_resolving_entries()
295 read_unlock_bh(&client->ingress_lock); in check_resolving_entries()
299 static void refresh_entries(struct mpoa_client *client) in refresh_entries() argument
302 struct in_cache_entry *entry = client->in_cache; in refresh_entries()
307 read_lock_bh(&client->ingress_lock); in refresh_entries()
321 read_unlock_bh(&client->ingress_lock); in refresh_entries()
426 struct mpoa_client *client) in eg_cache_remove_entry() argument
436 client->eg_cache = entry->next; in eg_cache_remove_entry()
439 client->eg_ops->put(entry); in eg_cache_remove_entry()
440 if (client->in_cache == NULL && client->eg_cache == NULL) { in eg_cache_remove_entry()
442 msg_to_mpoad(&msg, client); in eg_cache_remove_entry()
447 in_cache_entry *in_entry = client->in_ops->get_by_vcc(vcc, client); in eg_cache_remove_entry()
449 client->in_ops->put(in_entry); in eg_cache_remove_entry()
457 struct mpoa_client *client) in eg_cache_add_entry() argument
471 write_lock_irq(&client->egress_lock); in eg_cache_add_entry()
472 entry->next = client->eg_cache; in eg_cache_add_entry()
474 if (client->eg_cache != NULL) in eg_cache_add_entry()
475 client->eg_cache->prev = entry; in eg_cache_add_entry()
476 client->eg_cache = entry; in eg_cache_add_entry()
478 memcpy(entry->MPS_ctrl_ATM_addr, client->mps_ctrl_addr, ATM_ESA_LEN); in eg_cache_add_entry()
487 write_unlock_irq(&client->egress_lock); in eg_cache_add_entry()
500 static void clear_expired(struct mpoa_client *client) in clear_expired() argument
508 write_lock_irq(&client->egress_lock); in clear_expired()
509 entry = client->eg_cache; in clear_expired()
517 msg_to_mpoad(&msg, client); in clear_expired()
518 client->eg_ops->remove_entry(entry, client); in clear_expired()
522 write_unlock_irq(&client->egress_lock); in clear_expired()