mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 19:51:31 -04:00
net: Fix routing tables with id > 255 for legacy software
Most legacy software do not like tables > 255 as rtm_table is u8 so tb_id is sent &0xff and it is possible to mismatch for example table 510 with table 254 (main). This patch introduces RT_TABLE_COMPAT=252 so the code uses it if tb_id > 255. It makes such old applications happy, new ones are still able to use RTA_TABLE to get a proper table id. Signed-off-by: Krzysztof Piotr Oledzki <[email protected]> Acked-by: Patrick McHardy <[email protected]> Signed-off-by: David S. Miller <[email protected]>
This commit is contained in:
parent
99c6f60e72
commit
709772e6e0
2 changed files with 5 additions and 1 deletions
|
|
@ -960,7 +960,10 @@ int fib_dump_info(struct sk_buff *skb, u32 pid, u32 seq, int event,
|
|||
rtm->rtm_dst_len = dst_len;
|
||||
rtm->rtm_src_len = 0;
|
||||
rtm->rtm_tos = tos;
|
||||
rtm->rtm_table = tb_id;
|
||||
if (tb_id < 256)
|
||||
rtm->rtm_table = tb_id;
|
||||
else
|
||||
rtm->rtm_table = RT_TABLE_COMPAT;
|
||||
NLA_PUT_U32(skb, RTA_TABLE, tb_id);
|
||||
rtm->rtm_type = type;
|
||||
rtm->rtm_flags = fi->fib_flags;
|
||||
|
|
|
|||
Loading…
Reference in a new issue