mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 12:11:40 +00:00
ipv4: udp_tunnel: Unmask upper DSCP bits in udp_tunnel_dst_lookup()
Unmask the upper DSCP bits when calling ip_route_output_key() so that in the future it could perform the FIB lookup according to the full DSCP value. Note that callers of udp_tunnel_dst_lookup() pass the entire DS field in the 'tos' argument. 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
345663e6a7
commit
2c60fc9ca2
@ -6,6 +6,7 @@
|
|||||||
#include <net/dst_metadata.h>
|
#include <net/dst_metadata.h>
|
||||||
#include <net/udp.h>
|
#include <net/udp.h>
|
||||||
#include <net/udp_tunnel.h>
|
#include <net/udp_tunnel.h>
|
||||||
|
#include <net/inet_dscp.h>
|
||||||
|
|
||||||
int udp_sock_create4(struct net *net, struct udp_port_cfg *cfg,
|
int udp_sock_create4(struct net *net, struct udp_port_cfg *cfg,
|
||||||
struct socket **sockp)
|
struct socket **sockp)
|
||||||
@ -232,7 +233,7 @@ struct rtable *udp_tunnel_dst_lookup(struct sk_buff *skb,
|
|||||||
fl4.saddr = key->u.ipv4.src;
|
fl4.saddr = key->u.ipv4.src;
|
||||||
fl4.fl4_dport = dport;
|
fl4.fl4_dport = dport;
|
||||||
fl4.fl4_sport = sport;
|
fl4.fl4_sport = sport;
|
||||||
fl4.flowi4_tos = RT_TOS(tos);
|
fl4.flowi4_tos = tos & INET_DSCP_MASK;
|
||||||
fl4.flowi4_flags = key->flow_flags;
|
fl4.flowi4_flags = key->flow_flags;
|
||||||
|
|
||||||
rt = ip_route_output_key(net, &fl4);
|
rt = ip_route_output_key(net, &fl4);
|
||||||
|
Loading…
Reference in New Issue
Block a user