Lines Matching refs:batadv_ogm_packet
194 struct batadv_ogm_packet *batadv_ogm_packet; in batadv_iv_ogm_iface_enable() local
213 batadv_ogm_packet = (struct batadv_ogm_packet *)ogm_buff; in batadv_iv_ogm_iface_enable()
214 batadv_ogm_packet->packet_type = BATADV_IV_OGM; in batadv_iv_ogm_iface_enable()
215 batadv_ogm_packet->version = BATADV_COMPAT_VERSION; in batadv_iv_ogm_iface_enable()
216 batadv_ogm_packet->ttl = 2; in batadv_iv_ogm_iface_enable()
217 batadv_ogm_packet->flags = BATADV_NO_FLAGS; in batadv_iv_ogm_iface_enable()
218 batadv_ogm_packet->reserved = 0; in batadv_iv_ogm_iface_enable()
219 batadv_ogm_packet->tq = BATADV_TQ_MAX_VALUE; in batadv_iv_ogm_iface_enable()
238 struct batadv_ogm_packet *batadv_ogm_packet; in batadv_iv_ogm_iface_update_mac() local
247 batadv_ogm_packet = ogm_buff; in batadv_iv_ogm_iface_update_mac()
248 ether_addr_copy(batadv_ogm_packet->orig, in batadv_iv_ogm_iface_update_mac()
250 ether_addr_copy(batadv_ogm_packet->prev_sender, in batadv_iv_ogm_iface_update_mac()
260 struct batadv_ogm_packet *batadv_ogm_packet; in batadv_iv_ogm_primary_iface_set() local
269 batadv_ogm_packet = ogm_buff; in batadv_iv_ogm_primary_iface_set()
270 batadv_ogm_packet->ttl = BATADV_TTL; in batadv_iv_ogm_primary_iface_set()
316 const struct batadv_ogm_packet *ogm_packet) in batadv_iv_ogm_aggr_packet()
340 struct batadv_ogm_packet *batadv_ogm_packet; in batadv_iv_ogm_send_to_if() local
350 batadv_ogm_packet = (struct batadv_ogm_packet *)packet_pos; in batadv_iv_ogm_send_to_if()
354 batadv_ogm_packet)) { in batadv_iv_ogm_send_to_if()
360 batadv_ogm_packet->flags |= BATADV_DIRECTLINK; in batadv_iv_ogm_send_to_if()
362 batadv_ogm_packet->flags &= ~BATADV_DIRECTLINK; in batadv_iv_ogm_send_to_if()
372 batadv_ogm_packet->orig, in batadv_iv_ogm_send_to_if()
373 ntohl(batadv_ogm_packet->seqno), in batadv_iv_ogm_send_to_if()
374 batadv_ogm_packet->tq, batadv_ogm_packet->ttl, in batadv_iv_ogm_send_to_if()
375 ((batadv_ogm_packet->flags & BATADV_DIRECTLINK) ? in batadv_iv_ogm_send_to_if()
381 buff_pos += ntohs(batadv_ogm_packet->tvlv_len); in batadv_iv_ogm_send_to_if()
384 batadv_ogm_packet = (struct batadv_ogm_packet *)packet_pos; in batadv_iv_ogm_send_to_if()
439 batadv_iv_ogm_can_aggregate(const struct batadv_ogm_packet *new_bat_ogm_packet, in batadv_iv_ogm_can_aggregate()
447 struct batadv_ogm_packet *batadv_ogm_packet; in batadv_iv_ogm_can_aggregate() local
453 batadv_ogm_packet = (struct batadv_ogm_packet *)forw_packet->skb->data; in batadv_iv_ogm_can_aggregate()
491 !(batadv_ogm_packet->flags & BATADV_DIRECTLINK) && in batadv_iv_ogm_can_aggregate()
492 batadv_ogm_packet->ttl != 1 && in batadv_iv_ogm_can_aggregate()
514 (batadv_ogm_packet->flags & BATADV_DIRECTLINK || in batadv_iv_ogm_can_aggregate()
631 struct batadv_ogm_packet *batadv_ogm_packet; in batadv_iv_ogm_queue_add() local
635 batadv_ogm_packet = (struct batadv_ogm_packet *)packet_buff; in batadv_iv_ogm_queue_add()
636 direct_link = !!(batadv_ogm_packet->flags & BATADV_DIRECTLINK); in batadv_iv_ogm_queue_add()
645 if (batadv_iv_ogm_can_aggregate(batadv_ogm_packet, in batadv_iv_ogm_queue_add()
684 struct batadv_ogm_packet *batadv_ogm_packet, in batadv_iv_ogm_forward() argument
693 if (batadv_ogm_packet->ttl <= 1) { in batadv_iv_ogm_forward()
706 batadv_ogm_packet->flags |= BATADV_NOT_BEST_NEXT_HOP; in batadv_iv_ogm_forward()
711 tvlv_len = ntohs(batadv_ogm_packet->tvlv_len); in batadv_iv_ogm_forward()
713 batadv_ogm_packet->ttl--; in batadv_iv_ogm_forward()
714 ether_addr_copy(batadv_ogm_packet->prev_sender, ethhdr->h_source); in batadv_iv_ogm_forward()
717 batadv_ogm_packet->tq = batadv_hop_penalty(batadv_ogm_packet->tq, in batadv_iv_ogm_forward()
722 batadv_ogm_packet->tq, batadv_ogm_packet->ttl); in batadv_iv_ogm_forward()
725 batadv_ogm_packet->flags |= BATADV_DIRECTLINK; in batadv_iv_ogm_forward()
727 batadv_ogm_packet->flags &= ~BATADV_DIRECTLINK; in batadv_iv_ogm_forward()
729 batadv_iv_ogm_queue_add(bat_priv, (unsigned char *)batadv_ogm_packet, in batadv_iv_ogm_forward()
784 struct batadv_ogm_packet *batadv_ogm_packet; in batadv_iv_ogm_schedule_buff() local
818 batadv_ogm_packet = (struct batadv_ogm_packet *)(*ogm_buff); in batadv_iv_ogm_schedule_buff()
819 batadv_ogm_packet->tvlv_len = htons(tvlv_len); in batadv_iv_ogm_schedule_buff()
823 batadv_ogm_packet->seqno = htonl(seqno); in batadv_iv_ogm_schedule_buff()
919 const struct batadv_ogm_packet *batadv_ogm_packet, in batadv_iv_ogm_orig_update() argument
999 batadv_ogm_packet->tq); in batadv_iv_ogm_orig_update()
1005 orig_ifinfo->last_ttl = batadv_ogm_packet->ttl; in batadv_iv_ogm_orig_update()
1006 neigh_ifinfo->last_ttl = batadv_ogm_packet->ttl; in batadv_iv_ogm_orig_update()
1065 struct batadv_ogm_packet *batadv_ogm_packet, in batadv_iv_ogm_calc_tq() argument
1167 combined_tq = batadv_ogm_packet->tq * in batadv_iv_ogm_calc_tq()
1174 batadv_ogm_packet->tq = combined_tq; in batadv_iv_ogm_calc_tq()
1180 tq_iface_hop_penalty, batadv_ogm_packet->tq, in batadv_iv_ogm_calc_tq()
1187 if (batadv_ogm_packet->tq >= BATADV_TQ_TOTAL_BIDRECT_LIMIT) in batadv_iv_ogm_calc_tq()
1207 const struct batadv_ogm_packet *batadv_ogm_packet, in batadv_iv_ogm_update_seqnos() argument
1221 u32 seqno = ntohl(batadv_ogm_packet->seqno); in batadv_iv_ogm_update_seqnos()
1226 orig_node = batadv_iv_ogm_orig_get(bat_priv, batadv_ogm_packet->orig); in batadv_iv_ogm_update_seqnos()
1321 struct batadv_ogm_packet *ogm_packet; in batadv_iv_ogm_process_per_outif()
1339 ogm_packet = (struct batadv_ogm_packet *)(skb_priv->data + ogm_offset); in batadv_iv_ogm_process_per_outif()
1508 static void batadv_iv_ogm_process_reply(struct batadv_ogm_packet *ogm_packet, in batadv_iv_ogm_process_reply()
1556 struct batadv_ogm_packet *ogm_packet; in batadv_iv_ogm_process()
1564 ogm_packet = (struct batadv_ogm_packet *)(skb->data + ogm_offset); in batadv_iv_ogm_process()
1726 struct batadv_ogm_packet *ogm_packet; in batadv_iv_ogm_receive()
1747 ogm_packet = (struct batadv_ogm_packet *)skb->data; in batadv_iv_ogm_receive()
1758 ogm_packet = (struct batadv_ogm_packet *)packet_pos; in batadv_iv_ogm_receive()