diff --git a/src/mtp_layer3.c b/src/mtp_layer3.c index 928a05c..95e5dfc 100644 --- a/src/mtp_layer3.c +++ b/src/mtp_layer3.c @@ -23,7 +23,6 @@ #include #include #include -#include #include #include @@ -36,23 +35,6 @@ static int mtp_int_submit(struct mtp_link_set *set, int pc, int sls, int type, const uint8_t *data, unsigned int length); -void mtp_link_submit(struct mtp_link *link, struct msgb *msg) -{ - if (link->set->app && link->set->app->type == APP_STP) { - if (!link->set->app->route_src.up || !link->set->app->route_dst.up) { - LOGP(DINP, LOGL_NOTICE, "Not sending data as application is down %d/%s.\n", - link->set->app->nr, link->set->app->name); - msgb_free(msg); - return; - } - } - - rate_ctr_inc(&link->ctrg->ctr[MTP_LNK_OUT]); - rate_ctr_inc(&link->set->ctrg->ctr[MTP_LSET_TOTA_OUT_MSG]); - link->write(link, msg); -} - - struct msgb *mtp_msg_alloc(struct mtp_link_set *set) { struct mtp_level_3_hdr *hdr; diff --git a/src/ss7_application.c b/src/ss7_application.c index 847a96e..0609603 100644 --- a/src/ss7_application.c +++ b/src/ss7_application.c @@ -26,6 +26,7 @@ #include #include #include +#include #include @@ -381,3 +382,19 @@ void ss7_application_pass_isup(struct ss7_application *app, int pass) if (app->route_dst.set) app->route_dst.set->pass_all_isup = pass; } + +void mtp_link_submit(struct mtp_link *link, struct msgb *msg) +{ + if (link->set->app && link->set->app->type == APP_STP) { + if (!link->set->app->route_src.up || !link->set->app->route_dst.up) { + LOGP(DINP, LOGL_NOTICE, "Not sending data as application is down %d/%s.\n", + link->set->app->nr, link->set->app->name); + msgb_free(msg); + return; + } + } + + rate_ctr_inc(&link->ctrg->ctr[MTP_LNK_OUT]); + rate_ctr_inc(&link->set->ctrg->ctr[MTP_LSET_TOTA_OUT_MSG]); + link->write(link, msg); +}