From 2319014f7efd98a8f86ac0fcb0dfaee257249e96 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sun, 31 Jan 2021 17:06:34 +0100 Subject: 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 --- src/gb/frame_relay.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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) -- cgit v1.2.3