Lines Matching defs:tt_data
780 * @tt_data: uninitialised pointer to the address of the TVLV buffer
795 struct batadv_tvlv_tt_data **tt_data,
813 change_offset = struct_size(*tt_data, vlan_data, num_vlan);
822 *tt_data = kmalloc(tvlv_len, GFP_ATOMIC);
823 if (!*tt_data) {
828 (*tt_data)->flags = BATADV_NO_FLAGS;
829 (*tt_data)->ttvn = atomic_read(&orig_node->last_ttvn);
830 (*tt_data)->num_vlan = htons(num_vlan);
832 tt_vlan = (*tt_data)->vlan_data;
841 tt_change_ptr = (u8 *)*tt_data + change_offset;
853 * @tt_data: uninitialised pointer to the address of the TVLV buffer
869 struct batadv_tvlv_tt_data **tt_data,
892 change_offset = struct_size(*tt_data, vlan_data, num_vlan);
901 *tt_data = kmalloc(tvlv_len, GFP_ATOMIC);
902 if (!*tt_data) {
907 (*tt_data)->flags = BATADV_NO_FLAGS;
908 (*tt_data)->ttvn = atomic_read(&bat_priv->tt.vn);
909 (*tt_data)->num_vlan = htons(num_vlan);
911 tt_vlan = (*tt_data)->vlan_data;
924 tt_change_ptr = (u8 *)*tt_data + change_offset;
940 struct batadv_tvlv_tt_data *tt_data;
965 tvlv_len = batadv_tt_prepare_tvlv_local_data(bat_priv, &tt_data,
970 tt_data->flags = BATADV_TT_OGM_DIFF;
1018 batadv_tvlv_container_register(bat_priv, BATADV_TVLV_TT, 1, tt_data,
1020 kfree(tt_data);
2942 * @tt_data: tt data containing the tt request information
2949 struct batadv_tvlv_tt_data *tt_data,
2963 req_src, tt_data->ttvn, req_dst,
2964 ((tt_data->flags & BATADV_TT_FULL_TABLE) ? 'F' : '.'));
2976 req_ttvn = tt_data->ttvn;
2980 !batadv_tt_global_check_crc(req_dst_orig_node, tt_data->vlan_data,
2981 ntohs(tt_data->num_vlan)))
2985 if (tt_data->flags & BATADV_TT_FULL_TABLE ||
3010 /* allocate the tvlv, put the tt_data and all the tt_vlan_data
3072 * @tt_data: tt data containing the tt request information
3078 struct batadv_tvlv_tt_data *tt_data,
3092 req_src, tt_data->ttvn,
3093 ((tt_data->flags & BATADV_TT_FULL_TABLE) ? 'F' : '.'));
3098 req_ttvn = tt_data->ttvn;
3111 if (tt_data->flags & BATADV_TT_FULL_TABLE || my_ttvn != req_ttvn ||
3138 /* allocate the tvlv, put the tt_data and all the tt_vlan_data
3189 * @tt_data: tt data containing the tt request information
3196 struct batadv_tvlv_tt_data *tt_data,
3200 return batadv_send_my_tt_response(bat_priv, tt_data, req_src);
3201 return batadv_send_other_tt_response(bat_priv, tt_data, req_src,
3313 * @tt_data: tt data containing the tt request information
3318 struct batadv_tvlv_tt_data *tt_data,
3325 u8 *tvlv_ptr = (u8 *)tt_data;
3329 resp_src, tt_data->ttvn, num_entries,
3330 ((tt_data->flags & BATADV_TT_FULL_TABLE) ? 'F' : '.'));
3338 tvlv_ptr += struct_size(tt_data, vlan_data, ntohs(tt_data->num_vlan));
3341 if (tt_data->flags & BATADV_TT_FULL_TABLE) {
3342 batadv_tt_fill_gtable(bat_priv, tt_change, tt_data->ttvn,
3346 tt_data->ttvn, tt_change);
3938 struct batadv_tvlv_tt_data *tt_data;
3942 if (tvlv_value_len < sizeof(*tt_data))
3945 tt_data = tvlv_value;
3946 num_vlan = ntohs(tt_data->num_vlan);
3948 tt_data_sz = struct_size(tt_data, vlan_data, num_vlan);
3952 tt_change = (struct batadv_tvlv_tt_change *)((void *)tt_data
3958 batadv_tt_update_orig(bat_priv, orig, tt_data->vlan_data, num_vlan,
3959 tt_change, num_entries, tt_data->ttvn);
3979 struct batadv_tvlv_tt_data *tt_data;
3984 if (tvlv_value_len < sizeof(*tt_data))
3987 tt_data = tvlv_value;
3988 tvlv_value_len -= sizeof(*tt_data);
3990 tt_vlan_len = flex_array_size(tt_data, vlan_data,
3991 ntohs(tt_data->num_vlan));
3999 switch (tt_data->flags & BATADV_TT_DATA_TYPE_MASK) {
4006 ret = batadv_send_tt_response(bat_priv, tt_data, src, dst);
4008 if (tt_data->flags & BATADV_TT_FULL_TABLE)
4024 batadv_handle_tt_response(bat_priv, tt_data,
4029 if (tt_data->flags & BATADV_TT_FULL_TABLE)