aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2021-01-31 17:06:34 +0100
committerlaforge <laforge@osmocom.org>2021-02-01 14:30:53 +0000
commit2319014f7efd98a8f86ac0fcb0dfaee257249e96 (patch)
treed363f15311d262210e9dcee557c2d2fa14e7275f
parentaf916f1c7bc15935034364b9c646193cefe54709 (diff)
frame_relay: Send "Fuil Status" ENQUIRY after link recovers
If we are the 'user' side of FR and a link has just recovered, we should ensure the next STATUS is for "full status". This way we learn about the present DLCs as quickly as possible, saving up to 10 seconds of further delay in link recovery. Related: OS#4999 Change-Id: I6f905a18a7d130a3c02b4a3e7a2a2dc24afc0ea1
-rw-r--r--src/gb/frame_relay.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gb/frame_relay.c b/src/gb/frame_relay.c
index 3a51700b..03b847aa 100644
--- a/src/gb/frame_relay.c
+++ b/src/gb/frame_relay.c
@@ -430,8 +430,12 @@ static void check_link_state(struct osmo_fr_link *link, bool valid)
LOGPFRL(link, LOGL_NOTICE, "Link recovered\n");
link->state = true;
- if (link->role == FR_ROLE_USER_EQUIPMENT)
+ if (link->role == FR_ROLE_USER_EQUIPMENT) {
+ /* make sure the next STATUS ENQUIRY is for a full
+ * status report to get the configred DLCs ASAP */
+ link->polling_count = 0;
return;
+ }
llist_for_each_entry(dlc, &link->dlc_list, list) {
if (!dlc->add && !dlc->del)