mac80211: properly forward the RANN IE
Increase hopcount and convert metric to LE before forwarding the RANN action frame. Signed-off-by: Rui Paulo <rpaulo@gmail.com> Signed-off-by: Javier Cardona <javier@cozybit.com> Reviewed-by: Andrey Yurovsky <andrey@cozybit.com> Tested-by: Brian Cavagnolo <brian@cozybit.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
committed by
John W. Linville
parent
d611f062f4
commit
a6a58b4f14
@@ -686,6 +686,7 @@ static void hwmp_rann_frame_process(struct ieee80211_sub_if_data *sdata,
|
|||||||
orig_addr = rann->rann_addr;
|
orig_addr = rann->rann_addr;
|
||||||
orig_dsn = rann->rann_seq;
|
orig_dsn = rann->rann_seq;
|
||||||
hopcount = rann->rann_hopcount;
|
hopcount = rann->rann_hopcount;
|
||||||
|
hopcount++;
|
||||||
metric = rann->rann_metric;
|
metric = rann->rann_metric;
|
||||||
mhwmp_dbg("received RANN from %pM\n", orig_addr);
|
mhwmp_dbg("received RANN from %pM\n", orig_addr);
|
||||||
|
|
||||||
@@ -706,7 +707,8 @@ static void hwmp_rann_frame_process(struct ieee80211_sub_if_data *sdata,
|
|||||||
mesh_path_sel_frame_tx(MPATH_RANN, flags, orig_addr,
|
mesh_path_sel_frame_tx(MPATH_RANN, flags, orig_addr,
|
||||||
cpu_to_le32(orig_dsn),
|
cpu_to_le32(orig_dsn),
|
||||||
0, NULL, 0, sdata->dev->broadcast,
|
0, NULL, 0, sdata->dev->broadcast,
|
||||||
hopcount, ttl, 0, cpu_to_le32(metric),
|
hopcount, ttl, 0,
|
||||||
|
cpu_to_le32(metric + mpath->metric),
|
||||||
0, sdata);
|
0, sdata);
|
||||||
mpath->dsn = orig_dsn;
|
mpath->dsn = orig_dsn;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user