Message ID | 20240905165140.3105140-6-idosch@nvidia.com (mailing list archive) |
---|---|
State | Accepted |
Commit | e7191e517a03d025405c7df730b400ad4118474e |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | Unmask upper DSCP bits - part 4 (last) | expand |
On Thu, Sep 05, 2024 at 07:51:33PM +0300, Ido Schimmel wrote: > Unmask the upper DSCP bits when initializing an IPv4 flow key via > ip_tunnel_init_flow() before passing it to ip_route_output_key() so that > in the future we could perform the FIB lookup according to the full DSCP > value. > > Signed-off-by: Ido Schimmel <idosch@nvidia.com> > --- > net/ipv4/ip_tunnel.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/net/ipv4/ip_tunnel.c b/net/ipv4/ip_tunnel.c > index 18964394d6bd..b632c128ecb7 100644 > --- a/net/ipv4/ip_tunnel.c > +++ b/net/ipv4/ip_tunnel.c > @@ -293,7 +293,7 @@ static int ip_tunnel_bind_dev(struct net_device *dev) > > ip_tunnel_init_flow(&fl4, iph->protocol, iph->daddr, > iph->saddr, tunnel->parms.o_key, > - RT_TOS(iph->tos), dev_net(dev), > + iph->tos & INET_DSCP_MASK, dev_net(dev), The net/inet_dscp.h header file is only included in patch 6, while it's needed here in patch 5. > tunnel->parms.link, tunnel->fwmark, 0, 0); > rt = ip_route_output_key(tunnel->net, &fl4); > > -- > 2.46.0 >
On Fri, Sep 06, 2024 at 01:36:35PM +0200, Guillaume Nault wrote: > On Thu, Sep 05, 2024 at 07:51:33PM +0300, Ido Schimmel wrote: > > Unmask the upper DSCP bits when initializing an IPv4 flow key via > > ip_tunnel_init_flow() before passing it to ip_route_output_key() so that > > in the future we could perform the FIB lookup according to the full DSCP > > value. > > > > Signed-off-by: Ido Schimmel <idosch@nvidia.com> > > --- > > net/ipv4/ip_tunnel.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/net/ipv4/ip_tunnel.c b/net/ipv4/ip_tunnel.c > > index 18964394d6bd..b632c128ecb7 100644 > > --- a/net/ipv4/ip_tunnel.c > > +++ b/net/ipv4/ip_tunnel.c > > @@ -293,7 +293,7 @@ static int ip_tunnel_bind_dev(struct net_device *dev) > > > > ip_tunnel_init_flow(&fl4, iph->protocol, iph->daddr, > > iph->saddr, tunnel->parms.o_key, > > - RT_TOS(iph->tos), dev_net(dev), > > + iph->tos & INET_DSCP_MASK, dev_net(dev), > > The net/inet_dscp.h header file is only included in patch 6, while it's > needed here in patch 5. Thanks. Probably happened when I reordered the patches. However, it doesn't affect bisectability since the header is included via include/net/ip.h > > > tunnel->parms.link, tunnel->fwmark, 0, 0); > > rt = ip_route_output_key(tunnel->net, &fl4); > > > > -- > > 2.46.0 > > >
On Fri, Sep 06, 2024 at 04:45:35PM +0300, Ido Schimmel wrote: > On Fri, Sep 06, 2024 at 01:36:35PM +0200, Guillaume Nault wrote: > > On Thu, Sep 05, 2024 at 07:51:33PM +0300, Ido Schimmel wrote: > > > Unmask the upper DSCP bits when initializing an IPv4 flow key via > > > ip_tunnel_init_flow() before passing it to ip_route_output_key() so that > > > in the future we could perform the FIB lookup according to the full DSCP > > > value. > > > > > > Signed-off-by: Ido Schimmel <idosch@nvidia.com> > > > --- > > > net/ipv4/ip_tunnel.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/net/ipv4/ip_tunnel.c b/net/ipv4/ip_tunnel.c > > > index 18964394d6bd..b632c128ecb7 100644 > > > --- a/net/ipv4/ip_tunnel.c > > > +++ b/net/ipv4/ip_tunnel.c > > > @@ -293,7 +293,7 @@ static int ip_tunnel_bind_dev(struct net_device *dev) > > > > > > ip_tunnel_init_flow(&fl4, iph->protocol, iph->daddr, > > > iph->saddr, tunnel->parms.o_key, > > > - RT_TOS(iph->tos), dev_net(dev), > > > + iph->tos & INET_DSCP_MASK, dev_net(dev), > > > > The net/inet_dscp.h header file is only included in patch 6, while it's > > needed here in patch 5. > > Thanks. Probably happened when I reordered the patches. However, it > doesn't affect bisectability since the header is included via include/net/ip.h Okay, no need for a v2 then. I'll ack the remaining patches. And thanks again for your work! > > > tunnel->parms.link, tunnel->fwmark, 0, 0); > > > rt = ip_route_output_key(tunnel->net, &fl4); > > > > > > -- > > > 2.46.0 > > > > > >
On Thu, Sep 05, 2024 at 07:51:33PM +0300, Ido Schimmel wrote: > Unmask the upper DSCP bits when initializing an IPv4 flow key via > ip_tunnel_init_flow() before passing it to ip_route_output_key() so that > in the future we could perform the FIB lookup according to the full DSCP > value. Reviewed-by: Guillaume Nault <gnault@redhat.com>
diff --git a/net/ipv4/ip_tunnel.c b/net/ipv4/ip_tunnel.c index 18964394d6bd..b632c128ecb7 100644 --- a/net/ipv4/ip_tunnel.c +++ b/net/ipv4/ip_tunnel.c @@ -293,7 +293,7 @@ static int ip_tunnel_bind_dev(struct net_device *dev) ip_tunnel_init_flow(&fl4, iph->protocol, iph->daddr, iph->saddr, tunnel->parms.o_key, - RT_TOS(iph->tos), dev_net(dev), + iph->tos & INET_DSCP_MASK, dev_net(dev), tunnel->parms.link, tunnel->fwmark, 0, 0); rt = ip_route_output_key(tunnel->net, &fl4);
Unmask the upper DSCP bits when initializing an IPv4 flow key via ip_tunnel_init_flow() before passing it to ip_route_output_key() so that in the future we could perform the FIB lookup according to the full DSCP value. Signed-off-by: Ido Schimmel <idosch@nvidia.com> --- net/ipv4/ip_tunnel.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)