Lines Matching refs:tt_data
731 struct batadv_tvlv_tt_data **tt_data, in batadv_tt_prepare_tvlv_global_data() argument
749 change_offset = sizeof(**tt_data); in batadv_tt_prepare_tvlv_global_data()
759 *tt_data = kmalloc(tvlv_len, GFP_ATOMIC); in batadv_tt_prepare_tvlv_global_data()
760 if (!*tt_data) { in batadv_tt_prepare_tvlv_global_data()
765 (*tt_data)->flags = BATADV_NO_FLAGS; in batadv_tt_prepare_tvlv_global_data()
766 (*tt_data)->ttvn = atomic_read(&orig_node->last_ttvn); in batadv_tt_prepare_tvlv_global_data()
767 (*tt_data)->num_vlan = htons(num_vlan); in batadv_tt_prepare_tvlv_global_data()
769 tt_vlan = (struct batadv_tvlv_tt_vlan_data *)(*tt_data + 1); in batadv_tt_prepare_tvlv_global_data()
777 tt_change_ptr = (u8 *)*tt_data + change_offset; in batadv_tt_prepare_tvlv_global_data()
805 struct batadv_tvlv_tt_data **tt_data, in batadv_tt_prepare_tvlv_local_data() argument
823 change_offset = sizeof(**tt_data); in batadv_tt_prepare_tvlv_local_data()
833 *tt_data = kmalloc(tvlv_len, GFP_ATOMIC); in batadv_tt_prepare_tvlv_local_data()
834 if (!*tt_data) { in batadv_tt_prepare_tvlv_local_data()
839 (*tt_data)->flags = BATADV_NO_FLAGS; in batadv_tt_prepare_tvlv_local_data()
840 (*tt_data)->ttvn = atomic_read(&bat_priv->tt.vn); in batadv_tt_prepare_tvlv_local_data()
841 (*tt_data)->num_vlan = htons(num_vlan); in batadv_tt_prepare_tvlv_local_data()
843 tt_vlan = (struct batadv_tvlv_tt_vlan_data *)(*tt_data + 1); in batadv_tt_prepare_tvlv_local_data()
851 tt_change_ptr = (u8 *)*tt_data + change_offset; in batadv_tt_prepare_tvlv_local_data()
867 struct batadv_tvlv_tt_data *tt_data; in batadv_tt_tvlv_container_update() local
883 tvlv_len = batadv_tt_prepare_tvlv_local_data(bat_priv, &tt_data, in batadv_tt_tvlv_container_update()
888 tt_data->flags = BATADV_TT_OGM_DIFF; in batadv_tt_tvlv_container_update()
930 batadv_tvlv_container_register(bat_priv, BATADV_TVLV_TT, 1, tt_data, in batadv_tt_tvlv_container_update()
932 kfree(tt_data); in batadv_tt_tvlv_container_update()
2585 struct batadv_tvlv_tt_data *tt_data, in batadv_send_other_tt_response() argument
2600 req_src, tt_data->ttvn, req_dst, in batadv_send_other_tt_response()
2601 ((tt_data->flags & BATADV_TT_FULL_TABLE) ? 'F' : '.')); in batadv_send_other_tt_response()
2613 req_ttvn = tt_data->ttvn; in batadv_send_other_tt_response()
2615 tt_vlan = (struct batadv_tvlv_tt_vlan_data *)(tt_data + 1); in batadv_send_other_tt_response()
2619 ntohs(tt_data->num_vlan))) in batadv_send_other_tt_response()
2623 if (tt_data->flags & BATADV_TT_FULL_TABLE || in batadv_send_other_tt_response()
2717 struct batadv_tvlv_tt_data *tt_data, in batadv_send_my_tt_response() argument
2731 req_src, tt_data->ttvn, in batadv_send_my_tt_response()
2732 ((tt_data->flags & BATADV_TT_FULL_TABLE) ? 'F' : '.')); in batadv_send_my_tt_response()
2737 req_ttvn = tt_data->ttvn; in batadv_send_my_tt_response()
2750 if (tt_data->flags & BATADV_TT_FULL_TABLE || my_ttvn != req_ttvn || in batadv_send_my_tt_response()
2835 struct batadv_tvlv_tt_data *tt_data, in batadv_send_tt_response() argument
2839 return batadv_send_my_tt_response(bat_priv, tt_data, req_src); in batadv_send_tt_response()
2840 return batadv_send_other_tt_response(bat_priv, tt_data, req_src, in batadv_send_tt_response()
2959 struct batadv_tvlv_tt_data *tt_data, in batadv_handle_tt_response() argument
2966 u8 *tvlv_ptr = (u8 *)tt_data; in batadv_handle_tt_response()
2971 resp_src, tt_data->ttvn, num_entries, in batadv_handle_tt_response()
2972 ((tt_data->flags & BATADV_TT_FULL_TABLE) ? 'F' : '.')); in batadv_handle_tt_response()
2981 change_offset *= ntohs(tt_data->num_vlan); in batadv_handle_tt_response()
2982 change_offset += sizeof(*tt_data); in batadv_handle_tt_response()
2986 if (tt_data->flags & BATADV_TT_FULL_TABLE) { in batadv_handle_tt_response()
2987 batadv_tt_fill_gtable(bat_priv, tt_change, tt_data->ttvn, in batadv_handle_tt_response()
2991 tt_data->ttvn, tt_change); in batadv_handle_tt_response()
3568 struct batadv_tvlv_tt_data *tt_data; in batadv_tt_tvlv_ogm_handler_v1() local
3571 if (tvlv_value_len < sizeof(*tt_data)) in batadv_tt_tvlv_ogm_handler_v1()
3574 tt_data = (struct batadv_tvlv_tt_data *)tvlv_value; in batadv_tt_tvlv_ogm_handler_v1()
3575 tvlv_value_len -= sizeof(*tt_data); in batadv_tt_tvlv_ogm_handler_v1()
3577 num_vlan = ntohs(tt_data->num_vlan); in batadv_tt_tvlv_ogm_handler_v1()
3582 tt_vlan = (struct batadv_tvlv_tt_vlan_data *)(tt_data + 1); in batadv_tt_tvlv_ogm_handler_v1()
3589 num_entries, tt_data->ttvn); in batadv_tt_tvlv_ogm_handler_v1()
3609 struct batadv_tvlv_tt_data *tt_data; in batadv_tt_tvlv_unicast_handler_v1() local
3614 if (tvlv_value_len < sizeof(*tt_data)) in batadv_tt_tvlv_unicast_handler_v1()
3617 tt_data = (struct batadv_tvlv_tt_data *)tvlv_value; in batadv_tt_tvlv_unicast_handler_v1()
3618 tvlv_value_len -= sizeof(*tt_data); in batadv_tt_tvlv_unicast_handler_v1()
3621 tt_vlan_len *= ntohs(tt_data->num_vlan); in batadv_tt_tvlv_unicast_handler_v1()
3629 switch (tt_data->flags & BATADV_TT_DATA_TYPE_MASK) { in batadv_tt_tvlv_unicast_handler_v1()
3636 ret = batadv_send_tt_response(bat_priv, tt_data, src, dst); in batadv_tt_tvlv_unicast_handler_v1()
3638 if (tt_data->flags & BATADV_TT_FULL_TABLE) in batadv_tt_tvlv_unicast_handler_v1()
3654 batadv_handle_tt_response(bat_priv, tt_data, in batadv_tt_tvlv_unicast_handler_v1()
3659 if (tt_data->flags & BATADV_TT_FULL_TABLE) in batadv_tt_tvlv_unicast_handler_v1()