]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: ipv6: ioam6: use consistent dst names
authorJustin Iurman <justin.iurman@uliege.be>
Tue, 15 Apr 2025 11:25:53 +0000 (13:25 +0200)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 17 Apr 2025 10:52:34 +0000 (12:52 +0200)
Be consistent and use the same terminology as other lwt users: orig_dst
is the dst_entry before the transformation, while dst is either the
dst_entry in the cache or the dst_entry after the transformation

Signed-off-by: Justin Iurman <justin.iurman@uliege.be>
Link: https://patch.msgid.link/20250415112554.23823-2-justin.iurman@uliege.be
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
net/ipv6/ioam6_iptunnel.c

index 09065187378e6e330ba232c4dc1d59680541f976..57200b9991a1dca637b6c6dde0600f6bfe397436 100644 (file)
@@ -336,7 +336,8 @@ static int ioam6_do_encap(struct net *net, struct sk_buff *skb,
 
 static int ioam6_output(struct net *net, struct sock *sk, struct sk_buff *skb)
 {
-       struct dst_entry *dst = skb_dst(skb), *cache_dst = NULL;
+       struct dst_entry *orig_dst = skb_dst(skb);
+       struct dst_entry *dst = NULL;
        struct ioam6_lwt *ilwt;
        int err = -EINVAL;
        u32 pkt_cnt;
@@ -344,7 +345,7 @@ static int ioam6_output(struct net *net, struct sock *sk, struct sk_buff *skb)
        if (skb->protocol != htons(ETH_P_IPV6))
                goto drop;
 
-       ilwt = ioam6_lwt_state(dst->lwtstate);
+       ilwt = ioam6_lwt_state(orig_dst->lwtstate);
 
        /* Check for insertion frequency (i.e., "k over n" insertions) */
        pkt_cnt = atomic_fetch_inc(&ilwt->pkt_cnt);
@@ -352,7 +353,7 @@ static int ioam6_output(struct net *net, struct sock *sk, struct sk_buff *skb)
                goto out;
 
        local_bh_disable();
-       cache_dst = dst_cache_get(&ilwt->cache);
+       dst = dst_cache_get(&ilwt->cache);
        local_bh_enable();
 
        switch (ilwt->mode) {
@@ -362,7 +363,7 @@ do_inline:
                if (ipv6_hdr(skb)->nexthdr == NEXTHDR_HOP)
                        goto out;
 
-               err = ioam6_do_inline(net, skb, &ilwt->tuninfo, cache_dst);
+               err = ioam6_do_inline(net, skb, &ilwt->tuninfo, dst);
                if (unlikely(err))
                        goto drop;
 
@@ -372,7 +373,7 @@ do_encap:
                /* Encapsulation (ip6ip6) */
                err = ioam6_do_encap(net, skb, &ilwt->tuninfo,
                                     ilwt->has_tunsrc, &ilwt->tunsrc,
-                                    &ilwt->tundst, cache_dst);
+                                    &ilwt->tundst, dst);
                if (unlikely(err))
                        goto drop;
 
@@ -390,7 +391,7 @@ do_encap:
                goto drop;
        }
 
-       if (unlikely(!cache_dst)) {
+       if (unlikely(!dst)) {
                struct ipv6hdr *hdr = ipv6_hdr(skb);
                struct flowi6 fl6;
 
@@ -401,20 +402,20 @@ do_encap:
                fl6.flowi6_mark = skb->mark;
                fl6.flowi6_proto = hdr->nexthdr;
 
-               cache_dst = ip6_route_output(net, NULL, &fl6);
-               if (cache_dst->error) {
-                       err = cache_dst->error;
+               dst = ip6_route_output(net, NULL, &fl6);
+               if (dst->error) {
+                       err = dst->error;
                        goto drop;
                }
 
                /* cache only if we don't create a dst reference loop */
-               if (dst->lwtstate != cache_dst->lwtstate) {
+               if (orig_dst->lwtstate != dst->lwtstate) {
                        local_bh_disable();
-                       dst_cache_set_ip6(&ilwt->cache, cache_dst, &fl6.saddr);
+                       dst_cache_set_ip6(&ilwt->cache, dst, &fl6.saddr);
                        local_bh_enable();
                }
 
-               err = skb_cow_head(skb, LL_RESERVED_SPACE(cache_dst->dev));
+               err = skb_cow_head(skb, LL_RESERVED_SPACE(dst->dev));
                if (unlikely(err))
                        goto drop;
        }
@@ -422,16 +423,16 @@ do_encap:
        /* avoid lwtunnel_output() reentry loop when destination is the same
         * after transformation (e.g., with the inline mode)
         */
-       if (dst->lwtstate != cache_dst->lwtstate) {
+       if (orig_dst->lwtstate != dst->lwtstate) {
                skb_dst_drop(skb);
-               skb_dst_set(skb, cache_dst);
+               skb_dst_set(skb, dst);
                return dst_output(net, sk, skb);
        }
 out:
-       dst_release(cache_dst);
-       return dst->lwtstate->orig_output(net, sk, skb);
+       dst_release(dst);
+       return orig_dst->lwtstate->orig_output(net, sk, skb);
 drop:
-       dst_release(cache_dst);
+       dst_release(dst);
        kfree_skb(skb);
        return err;
 }