LVS
lvs-devel
Google
 
Web LinuxVirtualServer.org

Re: [PATCH net-next 12/15] ipvlan: Cache net in ipvlan_process_v4_outbou

To: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
Subject: Re: [PATCH net-next 12/15] ipvlan: Cache net in ipvlan_process_v4_outbound and ipvlan_process_v6_outbound
Cc: David Miller <davem@xxxxxxxxxxxxx>, netfilter-devel@xxxxxxxxxxxxxxx, linux-netdev <netdev@xxxxxxxxxxxxxxx>, Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>, lvs-devel@xxxxxxxxxxxxxxx
From: Mahesh Bandewar <maheshb@xxxxxxxxxx>
Date: Tue, 6 Oct 2015 18:24:06 -0700
On Tue, Oct 6, 2015 at 6:19 PM, Mahesh Bandewar <maheshb@xxxxxxxxxx> wrote:
> On Tue, Oct 6, 2015 at 11:53 AM, Eric W. Biederman
> <ebiederm@xxxxxxxxxxxx> wrote:
>> Compute net once in ipvlan_process_v4_outbound and ipvlan_process_v6_outbound
>> and store it in a variable so that net does not need to be recomputed next 
>> time
>> it is used.
>>
> It's used exactly once at this moment so don't know what "next time"
> is. Do you have any additional patch(es) planned?
>
OK. Got it! I was little early in sending that and did not look at the
entire patch-series.

>> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
>> ---
>>  drivers/net/ipvlan/ipvlan_core.c | 6 ++++--
>>  1 file changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/net/ipvlan/ipvlan_core.c 
>> b/drivers/net/ipvlan/ipvlan_core.c
>> index 75dcf36c0366..976f30b291f6 100644
>> --- a/drivers/net/ipvlan/ipvlan_core.c
>> +++ b/drivers/net/ipvlan/ipvlan_core.c
>> @@ -344,6 +344,7 @@ static int ipvlan_process_v4_outbound(struct sk_buff 
>> *skb)
>>  {
>>         const struct iphdr *ip4h = ip_hdr(skb);
>>         struct net_device *dev = skb->dev;
>> +       struct net *net = dev_net(dev);
>>         struct rtable *rt;
>>         int err, ret = NET_XMIT_DROP;
>>         struct flowi4 fl4 = {
>> @@ -354,7 +355,7 @@ static int ipvlan_process_v4_outbound(struct sk_buff 
>> *skb)
>>                 .saddr = ip4h->saddr,
>>         };
>>
>> -       rt = ip_route_output_flow(dev_net(dev), &fl4, NULL);
>> +       rt = ip_route_output_flow(net, &fl4, NULL);
>>         if (IS_ERR(rt))
>>                 goto err;
>>
>> @@ -381,6 +382,7 @@ static int ipvlan_process_v6_outbound(struct sk_buff 
>> *skb)
>>  {
>>         const struct ipv6hdr *ip6h = ipv6_hdr(skb);
>>         struct net_device *dev = skb->dev;
>> +       struct net *net = dev_net(dev);
>>         struct dst_entry *dst;
>>         int err, ret = NET_XMIT_DROP;
>>         struct flowi6 fl6 = {
>> @@ -393,7 +395,7 @@ static int ipvlan_process_v6_outbound(struct sk_buff 
>> *skb)
>>                 .flowi6_proto = ip6h->nexthdr,
>>         };
>>
>> -       dst = ip6_route_output(dev_net(dev), NULL, &fl6);
>> +       dst = ip6_route_output(net, NULL, &fl6);
>>         if (dst->error) {
>>                 ret = dst->error;
>>                 dst_release(dst);
>> --
>> 2.2.1
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe netdev" in
>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe lvs-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

<Prev in Thread] Current Thread [Next in Thread>