return 0;
 }
 
-/* can not be used in TCP layer after tcp_v6_fill_cb */
-static inline bool inet6_exact_dif_match(struct net *net, struct sk_buff *skb)
-{
-#if defined(CONFIG_NET_L3_MASTER_DEV)
-       if (!net->ipv4.sysctl_tcp_l3mdev_accept &&
-           skb && ipv6_l3mdev_skb(IP6CB(skb)->flags))
-               return true;
-#endif
-       return false;
-}
-
 struct tcp6_request_sock {
        struct tcp_request_sock   tcp6rsk_tcp;
 };
 
 static inline int compute_score(struct sock *sk, struct net *net,
                                const unsigned short hnum,
                                const struct in6_addr *daddr,
-                               const int dif, const int sdif, bool exact_dif)
+                               const int dif, const int sdif)
 {
        int score = -1;
 
                const __be16 sport, const struct in6_addr *daddr,
                const unsigned short hnum, const int dif, const int sdif)
 {
-       bool exact_dif = inet6_exact_dif_match(net, skb);
        struct inet_connection_sock *icsk;
        struct sock *sk, *result = NULL;
        int score, hiscore = 0;
 
        inet_lhash2_for_each_icsk_rcu(icsk, &ilb2->head) {
                sk = (struct sock *)icsk;
-               score = compute_score(sk, net, hnum, daddr, dif, sdif,
-                                     exact_dif);
+               score = compute_score(sk, net, hnum, daddr, dif, sdif);
                if (score > hiscore) {
                        result = lookup_reuseport(net, sk, skb, doff,
                                                  saddr, sport, daddr, hnum);