Navigation


Changeset 1238:8f9684264fe0 in freeDiameter for libfdcore/p_ce.c


Ignore:
Timestamp:
Oct 10, 2013, 11:08:46 PM (11 years ago)
Author:
Sebastien Decugis <sdecugis@freediameter.net>
Branch:
default
Phase:
public
Message:

Change management of the p_reqin_count counter to be updated only on routable messages. This should limit the errors in the counter value resulting from rejected or discarded link-local messages.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libfdcore/p_ce.c

    r1230 r1238  
    635635        CHECK_FCT_DO( fd_msg_new_answer_from_req ( fd_g_config->cnf_dict, cer, MSGFL_ANSW_ERROR ), goto destroy );
    636636        CHECK_FCT_DO( fd_msg_rescode_set(*cer, error->pei_errcode, error->pei_message, error->pei_avp, 1 ), goto destroy );
    637         CHECK_FCT_DO( fd_out_send(cer, *recv_cnx, NULL), goto destroy );
     637        CHECK_FCT_DO( fd_out_send(cer, *recv_cnx, NULL, 0), goto destroy );
    638638       
    639639        if (error->pei_avp_free) {
     
    659659        /* Send CER on the new connection */
    660660        CHECK_FCT( create_CER(peer, initiator, &cer) );
    661         CHECK_FCT( fd_out_send(&cer, initiator, peer) );
     661        CHECK_FCT( fd_out_send(&cer, initiator, peer, 0) );
    662662       
    663663        /* Are we doing an election ? */
     
    714714
    715715                /* msg now contains an answer message to send back */
    716                 CHECK_FCT_DO( fd_out_send(msg, NULL, peer), /* In case of error the message has already been dumped */ );
     716                CHECK_FCT_DO( fd_out_send(msg, NULL, peer, 0), /* In case of error the message has already been dumped */ );
    717717        }
    718718       
     
    943943        }
    944944       
    945         /* Update the counter to match with the answer being sent */
    946         CHECK_POSIX( pthread_mutex_lock(&peer->p_state_mtx) );
    947         peer->p_reqin_count++;
    948         CHECK_POSIX( pthread_mutex_unlock(&peer->p_state_mtx) );
    949 
    950945        /* Reply a CEA */
    951946        CHECK_FCT( fd_msg_new_answer_from_req ( fd_g_config->cnf_dict, &msg, 0 ) );
     
    956951        fd_hook_call(HOOK_PEER_CONNECT_SUCCESS, msg, peer, NULL, NULL);
    957952       
    958         CHECK_FCT( fd_out_send(&msg, peer->p_cnxctx, peer ) );
     953        CHECK_FCT( fd_out_send(&msg, peer->p_cnxctx, peer, 0 ) );
    959954       
    960955        /* Handshake if needed */
Note: See TracChangeset for help on using the changeset viewer.