Skip to content

Commit

Permalink
batman-adv: simplify bat_ogm_receive API call
Browse files Browse the repository at this point in the history
Most of the values in that call are derived from the skb, so we can hand
over the skb instead.

Reported-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
  • Loading branch information
Marek Lindner committed Feb 16, 2012
1 parent 76543d1 commit 8780dad
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 9 deletions.
11 changes: 7 additions & 4 deletions net/batman-adv/bat_iv_ogm.c
Original file line number Diff line number Diff line change
Expand Up @@ -1140,13 +1140,16 @@ static void bat_ogm_process(const struct ethhdr *ethhdr,
orig_node_free_ref(orig_node);
}

void bat_ogm_receive(const struct ethhdr *ethhdr, unsigned char *packet_buff,
int packet_len, struct hard_iface *if_incoming)
void bat_ogm_receive(struct hard_iface *if_incoming, struct sk_buff *skb)
{
struct batman_ogm_packet *batman_ogm_packet;
int buff_pos = 0;
unsigned char *tt_buff;
struct ethhdr *ethhdr;
int buff_pos = 0, packet_len;
unsigned char *tt_buff, *packet_buff;

packet_len = skb_headlen(skb);
ethhdr = (struct ethhdr *)skb_mac_header(skb);
packet_buff = skb->data;
batman_ogm_packet = (struct batman_ogm_packet *)packet_buff;

/* unpack the aggregated packets and process them one by one */
Expand Down
3 changes: 1 addition & 2 deletions net/batman-adv/bat_ogm.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ void bat_ogm_init_primary(struct hard_iface *hard_iface);
void bat_ogm_update_mac(struct hard_iface *hard_iface);
void bat_ogm_schedule(struct hard_iface *hard_iface, int tt_num_changes);
void bat_ogm_emit(struct forw_packet *forw_packet);
void bat_ogm_receive(const struct ethhdr *ethhdr, unsigned char *packet_buff,
int packet_len, struct hard_iface *if_incoming);
void bat_ogm_receive(struct hard_iface *if_incoming, struct sk_buff *skb);

#endif /* _NET_BATMAN_ADV_OGM_H_ */
4 changes: 1 addition & 3 deletions net/batman-adv/routing.c
Original file line number Diff line number Diff line change
Expand Up @@ -272,9 +272,7 @@ int recv_bat_ogm_packet(struct sk_buff *skb, struct hard_iface *hard_iface)
if (skb_linearize(skb) < 0)
return NET_RX_DROP;

ethhdr = (struct ethhdr *)skb_mac_header(skb);

bat_ogm_receive(ethhdr, skb->data, skb_headlen(skb), hard_iface);
bat_ogm_receive(hard_iface, skb);

kfree_skb(skb);
return NET_RX_SUCCESS;
Expand Down

0 comments on commit 8780dad

Please sign in to comment.