• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7800-V1.0.2.28/package/qca-nss-drv/src/

Lines Matching refs:if_num

34  * stats based on the if_num which is an index.
40 uint32_t if_num; /**< Interface number */
56 * Verify if_num passed to us.
58 static bool nss_capwap_verify_if_num(uint32_t if_num)
60 if (nss_is_dynamic_interface(if_num) == false) {
64 if (nss_dynamic_interface_get_type(if_num) != NSS_DYNAMIC_INTERFACE_TYPE_CAPWAP) {
75 static void nss_capwap_refcnt_inc(int32_t if_num)
77 if_num = if_num - NSS_DYNAMIC_IF_START;
78 atomic_inc(&nss_capwap_hdl[if_num]->refcnt);
79 nss_assert(atomic_read(&nss_capwap_hdl[if_num]->refcnt) > 0);
86 static void nss_capwap_refcnt_dec(int32_t if_num)
88 if_num = if_num - NSS_DYNAMIC_IF_START;
89 nss_assert(atomic_read(&nss_capwap_hdl[if_num]->refcnt) > 0);
90 atomic_dec(&nss_capwap_hdl[if_num]->refcnt);
97 static uint32_t nss_capwap_refcnt(int32_t if_num)
99 if_num = if_num - NSS_DYNAMIC_IF_START;
100 return atomic_read(&nss_capwap_hdl[if_num]->refcnt);
107 static void nss_capwap_set_msg_callback(int32_t if_num, nss_capwap_msg_callback_t cb, void *app_data)
111 h = nss_capwap_hdl[if_num - NSS_DYNAMIC_IF_START];
124 static nss_capwap_msg_callback_t nss_capwap_get_msg_callback(int32_t if_num, void **app_data)
128 h = nss_capwap_hdl[if_num - NSS_DYNAMIC_IF_START];
207 uint32_t if_num;
209 if_num = ncm->interface - NSS_DYNAMIC_IF_START;
210 if (nss_capwap_hdl[if_num] != NULL) {
211 nss_capwapmgr_update_stats(nss_capwap_hdl[if_num], &ntm->msg.stats);
239 static bool nss_capwap_instance_alloc(struct nss_ctx_instance *nss_ctx, uint32_t if_num)
248 nss_warning("%p: no memory for allocating CAPWAP instance for interface : %d", nss_ctx, if_num);
253 h->if_num = if_num;
256 if (nss_capwap_hdl[if_num - NSS_DYNAMIC_IF_START] != NULL) {
259 nss_warning("%p: Another thread is already allocated instance for :%d", nss_ctx, if_num);
263 nss_capwap_hdl[if_num - NSS_DYNAMIC_IF_START] = h;
279 int32_t if_num;
293 if_num = msg->cm.interface - NSS_DYNAMIC_IF_START;
295 if (!nss_capwap_hdl[if_num]) {
297 nss_warning("%p: capwap tunnel if_num is not there: %d", nss_ctx, msg->cm.interface);
351 nss_tx_status_t nss_capwap_tx_data(struct nss_ctx_instance *nss_ctx, struct sk_buff *os_buf, uint32_t if_num)
353 return nss_if_tx_buf(nss_ctx, os_buf, if_num);
367 bool nss_capwap_get_stats(uint32_t if_num, struct nss_capwap_tunnel_stats *stats)
369 if (nss_capwap_verify_if_num(if_num) == false) {
373 if_num = if_num - NSS_DYNAMIC_IF_START;
375 if (nss_capwap_hdl[if_num] == NULL) {
380 memcpy(stats, &nss_capwap_hdl[if_num]->stats, sizeof(struct nss_capwap_tunnel_stats));
391 struct nss_ctx_instance *nss_capwap_notify_register(uint32_t if_num, nss_capwap_msg_callback_t cb, void *app_data)
397 if (nss_capwap_verify_if_num(if_num) == false) {
398 nss_warning("%p: notfiy register received for invalid interface %d", nss_ctx, if_num);
403 if (nss_capwap_hdl[if_num - NSS_DYNAMIC_IF_START] != NULL) {
405 nss_warning("%p: notfiy register tunnel already exists for interface %d", nss_ctx, if_num);
416 * unregister the CAPWAP notifier for the given interface number (if_num).
419 nss_tx_status_t nss_capwap_notify_unregister(struct nss_ctx_instance *nss_ctx, uint32_t if_num)
424 if (nss_capwap_verify_if_num(if_num) == false) {
425 nss_warning("%p: notify unregister received for invalid interface %d", nss_ctx, if_num);
431 nss_warning("%p: notify unregister received for invalid nss_top %d", nss_ctx, if_num);
435 index = if_num - NSS_DYNAMIC_IF_START;
439 nss_warning("%p: notify unregister received for unallocated if_num: %d", nss_ctx, if_num);
447 if (nss_capwap_refcnt(if_num) != 0) {
449 nss_warning("%p: notify unregister tunnel %d: has reference", nss_ctx, if_num);
453 nss_capwap_set_msg_callback(if_num, NULL, NULL);
464 struct nss_ctx_instance *nss_capwap_data_register(uint32_t if_num, nss_capwap_buf_callback_t cb, struct net_device *netdev, uint32_t features)
470 if (nss_capwap_verify_if_num(if_num) == false) {
471 nss_warning("%p: data register received for invalid interface %d", nss_ctx, if_num);
476 if (nss_ctx->nss_top->subsys_dp_register[if_num].ndev != NULL) {
482 core_status = nss_core_register_handler(if_num, nss_capwap_msg_handler, NULL);
484 nss_warning("%p: nss core register handler failed for if_num:%d with error :%d", nss_ctx, if_num, core_status);
488 if (nss_capwap_instance_alloc(nss_ctx, if_num) == false) {
489 nss_warning("%p: couldn't allocate tunnel instance for if_num:%d", nss_ctx, if_num);
493 nss_ctx->nss_top->subsys_dp_register[if_num].cb = cb;
494 nss_ctx->nss_top->subsys_dp_register[if_num].app_data = NULL;
495 nss_ctx->nss_top->subsys_dp_register[if_num].ndev = netdev;
496 nss_ctx->nss_top->subsys_dp_register[if_num].features = features;
506 bool nss_capwap_data_unregister(uint32_t if_num)
512 if (nss_capwap_verify_if_num(if_num) == false) {
513 nss_warning("%p: data unregister received for invalid interface %d", nss_ctx, if_num);
521 if (nss_capwap_refcnt(if_num) != 0) {
523 nss_warning("%p: notify unregister tunnel %d: has reference", nss_ctx, if_num);
526 h = nss_capwap_hdl[if_num - NSS_DYNAMIC_IF_START];
527 nss_capwap_hdl[if_num - NSS_DYNAMIC_IF_START] = NULL;
530 (void) nss_core_unregister_handler(if_num);
532 nss_ctx->nss_top->subsys_dp_register[if_num].cb = NULL;
533 nss_ctx->nss_top->subsys_dp_register[if_num].app_data = NULL;
534 nss_ctx->nss_top->subsys_dp_register[if_num].ndev = NULL;
535 nss_ctx->nss_top->subsys_dp_register[if_num].features = 0;
578 void nss_capwap_msg_init(struct nss_capwap_msg *ncm, uint16_t if_num, uint32_t type, uint32_t len,
581 nss_cmn_msg_init(&ncm->cm, if_num, type, len, (void*)cb, app_data);