aboutsummaryrefslogtreecommitdiffstats
path: root/net/802/garp.c
diff options
context:
space:
mode:
authorPatrick McHardy <kaber@trash.net>2008-07-16 23:51:47 -0400
committerDavid S. Miller <davem@davemloft.net>2008-07-16 23:51:47 -0400
commit51ce7ec92187b22ab1598987bb5f9776f6e0ebad (patch)
tree7617a6e5bfa58e4969c5a7f5ff5688a3129dbdee /net/802/garp.c
parent9a6d276e85aa3d8f308fc5e8de6892daeb60ae5f (diff)
garp: retry sending JoinIn messages after allocation failures
Increase reliability by retrying to send JoinIn messages after memory allocation failures on each TRANSMIT_PDU event until it succeeds. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/802/garp.c')
-rw-r--r--net/802/garp.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/net/802/garp.c b/net/802/garp.c
index 3b78f7b74fd4..1dcb0660c49d 100644
--- a/net/802/garp.c
+++ b/net/802/garp.c
@@ -323,7 +323,10 @@ static void garp_attr_event(struct garp_applicant *app,
323 case GARP_ACTION_NONE: 323 case GARP_ACTION_NONE:
324 break; 324 break;
325 case GARP_ACTION_S_JOIN_IN: 325 case GARP_ACTION_S_JOIN_IN:
326 garp_pdu_append_attr(app, attr, GARP_JOIN_IN); 326 /* When appending the attribute fails, don't update state in
327 * order to retry on next TRANSMIT_PDU event. */
328 if (garp_pdu_append_attr(app, attr, GARP_JOIN_IN) < 0)
329 return;
327 break; 330 break;
328 case GARP_ACTION_S_LEAVE_EMPTY: 331 case GARP_ACTION_S_LEAVE_EMPTY:
329 garp_pdu_append_attr(app, attr, GARP_LEAVE_EMPTY); 332 garp_pdu_append_attr(app, attr, GARP_LEAVE_EMPTY);