From: Xufeng Zhang <xufeng.zhang@windriver.com>
To: Rongqing Li <rongqing.li@windriver.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH] quagga/ripd: Fix two bugs after received SIGHUP signal
Date: Thu, 24 Oct 2013 17:45:02 +0800 [thread overview]
Message-ID: <5268EC1E.6020706@windriver.com> (raw)
In-Reply-To: <5268E8F4.3040409@windriver.com>
On 10/24/2013 05:31 PM, Rongqing Li wrote:
> You should send it to openembedded-devel@lists.openembedded.org
>
> and with title [PATCH meta-networking]
>
>
> On 10/24/2013 05:34 PM, Xufeng Zhang wrote:
>> There are two problems for ripd implementation after received
>> SIGHUP signal:
>> 1). ripd didn't clean up ifp->connected list before reload
>> configuration file which makes the same advertise packet
>> being sent multiple times(depends on how many SIGHUP was recieved).
>> 2). ripd reset ri->split_horizon flag to RIP_NO_SPLIT_HORIZON
>> during restart which is different from the flag when ripd is
>> firstly started up, leading to unnecessary route to be advertised.
>>
>> [YOCTO #5266]
>> [ CQID: WIND00372703 ]
>
>
> Romve CQID
Ok, thanks a lot!
Thanks,
Xufeng
>
> Thanks
>
> -Roy
>
>>
>> Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com>
>> ---
>> .../ripd-fix-two-bugs-after-received-SIGHUP.patch | 49
>> ++++++++++++++++++++
>> .../recipes-protocols/quagga/quagga.inc | 3 +-
>> 2 files changed, 51 insertions(+), 1 deletions(-)
>> create mode 100644
>> meta-networking/recipes-protocols/quagga/files/ripd-fix-two-bugs-after-received-SIGHUP.patch
>>
>>
>> diff --git
>> a/meta-networking/recipes-protocols/quagga/files/ripd-fix-two-bugs-after-received-SIGHUP.patch
>> b/meta-networking/recipes-protocols/quagga/files/ripd-fix-two-bugs-after-received-SIGHUP.patch
>>
>> new file mode 100644
>> index 0000000..c081143
>> --- /dev/null
>> +++
>> b/meta-networking/recipes-protocols/quagga/files/ripd-fix-two-bugs-after-received-SIGHUP.patch
>>
>> @@ -0,0 +1,49 @@
>> +ripd: Fix two bugs after received SIGHUP signal
>> +
>> +There are two problems for ripd implementation after received
>> +SIGHUP signal:
>> +1). ripd didn't clean up ifp->connected list before reload
>> + configuration file.
>> +2). ripd reset ri->split_horizon flag to RIP_NO_SPLIT_HORIZON
>> + which lead to the unnecessary route to be advertised.
>> +
>> +Upstream-Status: Pending
>> +
>> +Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com>
>> +---
>> +--- a/ripd/rip_interface.c
>> ++++ b/ripd/rip_interface.c
>> +@@ -500,6 +500,8 @@
>> + struct listnode *node;
>> + struct interface *ifp;
>> + struct rip_interface *ri;
>> ++ struct connected *ifc;
>> ++ struct listnode *conn_node, *next;
>> +
>> + for (ALL_LIST_ELEMENTS_RO (iflist, node, ifp))
>> + {
>> +@@ -514,6 +516,13 @@
>> + thread_cancel (ri->t_wakeup);
>> + ri->t_wakeup = NULL;
>> + }
>> ++
>> ++ for (conn_node = listhead (ifp->connected); conn_node;
>> conn_node = next)
>> ++ {
>> ++ ifc = listgetdata (conn_node);
>> ++ next = conn_node->next;
>> ++ listnode_delete (ifp->connected, ifc);
>> ++ }
>> + }
>> + }
>> +
>> +@@ -548,8 +557,8 @@
>> + ri->key_chain = NULL;
>> + }
>> +
>> +- ri->split_horizon = RIP_NO_SPLIT_HORIZON;
>> +- ri->split_horizon_default = RIP_NO_SPLIT_HORIZON;
>> ++ ri->split_horizon = RIP_SPLIT_HORIZON;
>> ++ ri->split_horizon_default = RIP_SPLIT_HORIZON;
>> +
>> + ri->list[RIP_FILTER_IN] = NULL;
>> + ri->list[RIP_FILTER_OUT] = NULL;
>> diff --git a/meta-networking/recipes-protocols/quagga/quagga.inc
>> b/meta-networking/recipes-protocols/quagga/quagga.inc
>> index 89b9f7a..bf37067 100644
>> --- a/meta-networking/recipes-protocols/quagga/quagga.inc
>> +++ b/meta-networking/recipes-protocols/quagga/quagga.inc
>> @@ -31,7 +31,8 @@ SRC_URI =
>> "http://download.savannah.gnu.org/releases/quagga${QUAGGASUBDIR}/quagg
>> file://quagga.default \
>> file://watchquagga.init \
>> file://watchquagga.default \
>> - file://volatiles.03_quagga"
>> + file://volatiles.03_quagga \
>> + file://ripd-fix-two-bugs-after-received-SIGHUP.patch"
>>
>> PACKAGECONFIG ??= ""
>> PACKAGECONFIG[cap] =
>> "--enable-capabilities,--disable-capabilities,libcap"
>>
>
prev parent reply other threads:[~2013-10-24 9:37 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-24 9:34 [PATCH] quagga/ripd: Fix two bugs after received SIGHUP signal Xufeng Zhang
2013-10-24 9:31 ` Rongqing Li
2013-10-24 9:45 ` Xufeng Zhang [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5268EC1E.6020706@windriver.com \
--to=xufeng.zhang@windriver.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=rongqing.li@windriver.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.