Navigation


Changeset 1397:239ba25870d8 in freeDiameter for libfdcore/fdd.y


Ignore:
Timestamp:
Nov 15, 2019, 7:40:37 PM (4 years ago)
Author:
Thomas Klausner <tk@giga.or.at>
Branch:
default
Phase:
public
Message:

Allow parametrizing the number of threads for routing in/out.

This is for high-load situations where freeDiameter was limited
by the corresponding queues.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libfdcore/fdd.y

    r1396 r1397  
    108108%token          SCTPSTREAMS
    109109%token          APPSERVTHREADS
     110%token          ROUTINGINTHREADS
     111%token          ROUTINGOUTTHREADS
     112%token          QINLIMIT
     113%token          QOUTLIMIT
     114%token          QLOCALLIMIT
    110115%token          LISTENON
    111116%token          THRPERSRV
     
    148153                        | conffile norelay
    149154                        | conffile appservthreads
     155                        | conffile routinginthreads
     156                        | conffile routingoutthreads
     157                        | conffile qinlimit
     158                        | conffile qoutlimit
     159                        | conffile qlocallimit
    150160                        | conffile noip
    151161                        | conffile noip6
     
    307317                                        { yyerror (&yylloc, conf, "Invalid value"); YYERROR; } );
    308318                                conf->cnf_dispthr = (uint16_t)$3;
     319                        }
     320                        ;
     321
     322routinginthreads:               ROUTINGINTHREADS '=' INTEGER ';'
     323                        {
     324                                CHECK_PARAMS_DO( ($3 > 0) && ($3 < 256),
     325                                        { yyerror (&yylloc, conf, "Invalid value"); YYERROR; } );
     326                                conf->cnf_rtinthr = (uint16_t)$3;
     327                        }
     328                        ;
     329
     330routingoutthreads:              ROUTINGOUTTHREADS '=' INTEGER ';'
     331                        {
     332                                CHECK_PARAMS_DO( ($3 > 0) && ($3 < 256),
     333                                        { yyerror (&yylloc, conf, "Invalid value"); YYERROR; } );
     334                                conf->cnf_rtoutthr = (uint16_t)$3;
     335                        }
     336                        ;
     337
     338qinlimit:               QINLIMIT '=' INTEGER ';'
     339                        {
     340                                CHECK_PARAMS_DO( ($3 >= 0),
     341                                        { yyerror (&yylloc, conf, "Invalid value"); YYERROR; } );
     342                                conf->cnf_qin_limit = $3;
     343                        }
     344                        ;
     345
     346qoutlimit:              QOUTLIMIT '=' INTEGER ';'
     347                        {
     348                                CHECK_PARAMS_DO( ($3 >= 0),
     349                                        { yyerror (&yylloc, conf, "Invalid value"); YYERROR; } );
     350                                conf->cnf_qout_limit = $3;
     351                        }
     352                        ;
     353
     354qlocallimit:            QLOCALLIMIT '=' INTEGER ';'
     355                        {
     356                                CHECK_PARAMS_DO( ($3 >= 0),
     357                                        { yyerror (&yylloc, conf, "Invalid value"); YYERROR; } );
     358                                conf->cnf_qlocal_limit = $3;
    309359                        }
    310360                        ;
Note: See TracChangeset for help on using the changeset viewer.