Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bd784533 authored by Allan Stephens's avatar Allan Stephens Committed by David S. Miller
Browse files

tipc: Expand link sequence gap field to 13 bits



This patch increases the "sequence gap" field of the LINK_PROTOCOL
message header from 8 bits to 13 bits (utilizing 5 previously
unused 0 bits).  This ensures that the field is big enough to
indicate the loss of up to 8191 consecutive messages on the link,
thereby accommodating the current worst-case scenario of 4000
lost messages.

Signed-off-by: default avatarAllan Stephens <allan.stephens@windriver.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 307fdf5e
Loading
Loading
Loading
Loading
+4 −4
Original line number Original line Diff line number Diff line
@@ -2,7 +2,7 @@
 * net/tipc/msg.h: Include file for TIPC message header routines
 * net/tipc/msg.h: Include file for TIPC message header routines
 *
 *
 * Copyright (c) 2000-2007, Ericsson AB
 * Copyright (c) 2000-2007, Ericsson AB
 * Copyright (c) 2005-2007, Wind River Systems
 * Copyright (c) 2005-2008, Wind River Systems
 * All rights reserved.
 * All rights reserved.
 *
 *
 * Redistribution and use in source and binary forms, with or without
 * Redistribution and use in source and binary forms, with or without
@@ -325,7 +325,7 @@ static inline struct tipc_msg *msg_get_wrapped(struct tipc_msg *m)
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   w0:|vers |msg usr|hdr sz |n|resrv|            packet size          |
   w0:|vers |msg usr|hdr sz |n|resrv|            packet size          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   w1:|m typ|rsv=0|   sequence gap    |       broadcast ack no        |
   w1:|m typ|      sequence gap       |       broadcast ack no        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   w2:| link level ack no/bc_gap_from |     seq no / bcast_gap_to     |
   w2:| link level ack no/bc_gap_from |     seq no / bcast_gap_to     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
@@ -388,12 +388,12 @@ static inline struct tipc_msg *msg_get_wrapped(struct tipc_msg *m)


static inline u32 msg_seq_gap(struct tipc_msg *m)
static inline u32 msg_seq_gap(struct tipc_msg *m)
{
{
	return msg_bits(m, 1, 16, 0xff);
	return msg_bits(m, 1, 16, 0x1fff);
}
}


static inline void msg_set_seq_gap(struct tipc_msg *m, u32 n)
static inline void msg_set_seq_gap(struct tipc_msg *m, u32 n)
{
{
	msg_set_bits(m, 1, 16, 0xff, n);
	msg_set_bits(m, 1, 16, 0x1fff, n);
}
}


static inline u32 msg_req_links(struct tipc_msg *m)
static inline u32 msg_req_links(struct tipc_msg *m)