Lines Matching refs:forw_packet_aggr
634 struct batadv_forw_packet *forw_packet_aggr; in batadv_iv_ogm_aggregate_new() local
653 forw_packet_aggr = kmalloc(sizeof(*forw_packet_aggr), GFP_ATOMIC); in batadv_iv_ogm_aggregate_new()
654 if (!forw_packet_aggr) in batadv_iv_ogm_aggregate_new()
665 forw_packet_aggr->skb = netdev_alloc_skb_ip_align(NULL, skb_size); in batadv_iv_ogm_aggregate_new()
666 if (!forw_packet_aggr->skb) in batadv_iv_ogm_aggregate_new()
668 forw_packet_aggr->skb->priority = TC_PRIO_CONTROL; in batadv_iv_ogm_aggregate_new()
669 skb_reserve(forw_packet_aggr->skb, ETH_HLEN); in batadv_iv_ogm_aggregate_new()
671 skb_buff = skb_put(forw_packet_aggr->skb, packet_len); in batadv_iv_ogm_aggregate_new()
672 forw_packet_aggr->packet_len = packet_len; in batadv_iv_ogm_aggregate_new()
675 forw_packet_aggr->own = own_packet; in batadv_iv_ogm_aggregate_new()
676 forw_packet_aggr->if_incoming = if_incoming; in batadv_iv_ogm_aggregate_new()
677 forw_packet_aggr->if_outgoing = if_outgoing; in batadv_iv_ogm_aggregate_new()
678 forw_packet_aggr->num_packets = 0; in batadv_iv_ogm_aggregate_new()
679 forw_packet_aggr->direct_link_flags = BATADV_NO_FLAGS; in batadv_iv_ogm_aggregate_new()
680 forw_packet_aggr->send_time = send_time; in batadv_iv_ogm_aggregate_new()
684 forw_packet_aggr->direct_link_flags |= 1; in batadv_iv_ogm_aggregate_new()
688 hlist_add_head(&forw_packet_aggr->list, &bat_priv->forw_bat_list); in batadv_iv_ogm_aggregate_new()
692 INIT_DELAYED_WORK(&forw_packet_aggr->delayed_work, in batadv_iv_ogm_aggregate_new()
695 &forw_packet_aggr->delayed_work, in batadv_iv_ogm_aggregate_new()
700 kfree(forw_packet_aggr); in batadv_iv_ogm_aggregate_new()
711 static void batadv_iv_ogm_aggregate(struct batadv_forw_packet *forw_packet_aggr, in batadv_iv_ogm_aggregate() argument
718 skb_buff = skb_put(forw_packet_aggr->skb, packet_len); in batadv_iv_ogm_aggregate()
720 forw_packet_aggr->packet_len += packet_len; in batadv_iv_ogm_aggregate()
721 forw_packet_aggr->num_packets++; in batadv_iv_ogm_aggregate()
725 new_direct_link_flag = BIT(forw_packet_aggr->num_packets); in batadv_iv_ogm_aggregate()
726 forw_packet_aggr->direct_link_flags |= new_direct_link_flag; in batadv_iv_ogm_aggregate()
750 struct batadv_forw_packet *forw_packet_aggr = NULL; in batadv_iv_ogm_queue_add() local
772 forw_packet_aggr = forw_packet_pos; in batadv_iv_ogm_queue_add()
781 if (!forw_packet_aggr) { in batadv_iv_ogm_queue_add()
797 batadv_iv_ogm_aggregate(forw_packet_aggr, packet_buff, in batadv_iv_ogm_queue_add()