TRACE_EVENT(fib6_table_lookup,
 
        TP_PROTO(const struct net *net, const struct rt6_info *rt,
-                u32 tb_id, const struct flowi6 *flp),
+                struct fib6_table *table, const struct flowi6 *flp),
 
-       TP_ARGS(net, rt, tb_id, flp),
+       TP_ARGS(net, rt, table, flp),
 
        TP_STRUCT__entry(
                __field(        u32,    tb_id           )
        TP_fast_assign(
                struct in6_addr *in6;
 
-               __entry->tb_id = tb_id;
+               __entry->tb_id = table->tb6_id;
                __entry->oif = flp->flowi6_oif;
                __entry->iif = flp->flowi6_iif;
                __entry->tos = ip6_tclass(flp->flowlabel);
 
 
        rcu_read_unlock();
 
-       trace_fib6_table_lookup(net, rt, table->tb6_id, fl6);
+       trace_fib6_table_lookup(net, rt, table, fl6);
 
        return rt;
 
        if (rt == net->ipv6.ip6_null_entry) {
                rcu_read_unlock();
                dst_hold(&rt->dst);
-               trace_fib6_table_lookup(net, rt, table->tb6_id, fl6);
+               trace_fib6_table_lookup(net, rt, table, fl6);
                return rt;
        } else if (rt->rt6i_flags & RTF_CACHE) {
                if (ip6_hold_safe(net, &rt, true)) {
                        rt6_dst_from_metrics_check(rt);
                }
                rcu_read_unlock();
-               trace_fib6_table_lookup(net, rt, table->tb6_id, fl6);
+               trace_fib6_table_lookup(net, rt, table, fl6);
                return rt;
        } else if (unlikely((fl6->flowi6_flags & FLOWI_FLAG_KNOWN_NH) &&
                            !(rt->rt6i_flags & RTF_GATEWAY))) {
                }
 
 uncached_rt_out:
-               trace_fib6_table_lookup(net, uncached_rt, table->tb6_id, fl6);
+               trace_fib6_table_lookup(net, uncached_rt, table, fl6);
                return uncached_rt;
 
        } else {
                }
                local_bh_enable();
                rcu_read_unlock();
-               trace_fib6_table_lookup(net, pcpu_rt, table->tb6_id, fl6);
+               trace_fib6_table_lookup(net, pcpu_rt, table, fl6);
                return pcpu_rt;
        }
 }
 
        rcu_read_unlock();
 
-       trace_fib6_table_lookup(net, rt, table->tb6_id, fl6);
+       trace_fib6_table_lookup(net, rt, table, fl6);
        return rt;
 };