mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 09:04:39 +02:00
ipv4: icmp: Unmask upper DSCP bits in icmp_route_lookup()
The function is called to resolve a route for an ICMP message that is sent in response to a situation. Based on the type of the generated ICMP message, the function is either passed the DS field of the packet that generated the ICMP message or a DS field that is derived from it. Unmask the upper DSCP bits before resolving and output route via ip_route_output_key_hash() so that in the future the lookup could be performed according to the full DSCP value. Signed-off-by: Ido Schimmel <idosch@nvidia.com> Reviewed-by: Guillaume Nault <gnault@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
a63cef46ad
commit
4805646c42
|
|
@ -93,6 +93,7 @@
|
|||
#include <net/ip_fib.h>
|
||||
#include <net/l3mdev.h>
|
||||
#include <net/addrconf.h>
|
||||
#include <net/inet_dscp.h>
|
||||
#define CREATE_TRACE_POINTS
|
||||
#include <trace/events/icmp.h>
|
||||
|
||||
|
|
@ -497,7 +498,7 @@ static struct rtable *icmp_route_lookup(struct net *net,
|
|||
fl4->saddr = saddr;
|
||||
fl4->flowi4_mark = mark;
|
||||
fl4->flowi4_uid = sock_net_uid(net, NULL);
|
||||
fl4->flowi4_tos = RT_TOS(tos);
|
||||
fl4->flowi4_tos = tos & INET_DSCP_MASK;
|
||||
fl4->flowi4_proto = IPPROTO_ICMP;
|
||||
fl4->fl4_icmp_type = type;
|
||||
fl4->fl4_icmp_code = code;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user