|
@@ -205,13 +205,12 @@ struct batadv_orig_bat_iv {
|
|
* @last_seen: time when last packet from this node was received
|
|
* @last_seen: time when last packet from this node was received
|
|
* @bcast_seqno_reset: time when the broadcast seqno window was reset
|
|
* @bcast_seqno_reset: time when the broadcast seqno window was reset
|
|
* @capabilities: announced capabilities of this originator
|
|
* @capabilities: announced capabilities of this originator
|
|
|
|
+ * @capa_initialized: bitfield to remember whether a capability was initialized
|
|
* @last_ttvn: last seen translation table version number
|
|
* @last_ttvn: last seen translation table version number
|
|
* @tt_buff: last tt changeset this node received from the orig node
|
|
* @tt_buff: last tt changeset this node received from the orig node
|
|
* @tt_buff_len: length of the last tt changeset this node received from the
|
|
* @tt_buff_len: length of the last tt changeset this node received from the
|
|
* orig node
|
|
* orig node
|
|
* @tt_buff_lock: lock that protects tt_buff and tt_buff_len
|
|
* @tt_buff_lock: lock that protects tt_buff and tt_buff_len
|
|
- * @tt_initialised: bool keeping track of whether or not this node have received
|
|
|
|
- * any translation table information from the orig node yet
|
|
|
|
* @tt_lock: prevents from updating the table while reading it. Table update is
|
|
* @tt_lock: prevents from updating the table while reading it. Table update is
|
|
* made up by two operations (data structure update and metdata -CRC/TTVN-
|
|
* made up by two operations (data structure update and metdata -CRC/TTVN-
|
|
* recalculation) and they have to be executed atomically in order to avoid
|
|
* recalculation) and they have to be executed atomically in order to avoid
|
|
@@ -248,11 +247,11 @@ struct batadv_orig_node {
|
|
unsigned long last_seen;
|
|
unsigned long last_seen;
|
|
unsigned long bcast_seqno_reset;
|
|
unsigned long bcast_seqno_reset;
|
|
uint8_t capabilities;
|
|
uint8_t capabilities;
|
|
|
|
+ uint8_t capa_initialized;
|
|
atomic_t last_ttvn;
|
|
atomic_t last_ttvn;
|
|
unsigned char *tt_buff;
|
|
unsigned char *tt_buff;
|
|
int16_t tt_buff_len;
|
|
int16_t tt_buff_len;
|
|
spinlock_t tt_buff_lock; /* protects tt_buff & tt_buff_len */
|
|
spinlock_t tt_buff_lock; /* protects tt_buff & tt_buff_len */
|
|
- bool tt_initialised;
|
|
|
|
/* prevents from changing the table while reading it */
|
|
/* prevents from changing the table while reading it */
|
|
spinlock_t tt_lock;
|
|
spinlock_t tt_lock;
|
|
DECLARE_BITMAP(bcast_bits, BATADV_TQ_LOCAL_WINDOW_SIZE);
|
|
DECLARE_BITMAP(bcast_bits, BATADV_TQ_LOCAL_WINDOW_SIZE);
|
|
@@ -282,10 +281,12 @@ struct batadv_orig_node {
|
|
* enum batadv_orig_capabilities - orig node capabilities
|
|
* enum batadv_orig_capabilities - orig node capabilities
|
|
* @BATADV_ORIG_CAPA_HAS_DAT: orig node has distributed arp table enabled
|
|
* @BATADV_ORIG_CAPA_HAS_DAT: orig node has distributed arp table enabled
|
|
* @BATADV_ORIG_CAPA_HAS_NC: orig node has network coding enabled
|
|
* @BATADV_ORIG_CAPA_HAS_NC: orig node has network coding enabled
|
|
|
|
+ * @BATADV_ORIG_CAPA_HAS_TT: orig node has tt capability
|
|
*/
|
|
*/
|
|
enum batadv_orig_capabilities {
|
|
enum batadv_orig_capabilities {
|
|
BATADV_ORIG_CAPA_HAS_DAT = BIT(0),
|
|
BATADV_ORIG_CAPA_HAS_DAT = BIT(0),
|
|
BATADV_ORIG_CAPA_HAS_NC = BIT(1),
|
|
BATADV_ORIG_CAPA_HAS_NC = BIT(1),
|
|
|
|
+ BATADV_ORIG_CAPA_HAS_TT = BIT(2),
|
|
};
|
|
};
|
|
|
|
|
|
/**
|
|
/**
|