| .. | .. |
|---|
| 69 | 69 | __IP_INC_STATS(net, IPSTATS_MIB_OUTFORWDATAGRAMS); |
|---|
| 70 | 70 | __IP_ADD_STATS(net, IPSTATS_MIB_OUTOCTETS, skb->len); |
|---|
| 71 | 71 | |
|---|
| 72 | +#ifdef CONFIG_NET_SWITCHDEV |
|---|
| 73 | + if (skb->offload_l3_fwd_mark) { |
|---|
| 74 | + consume_skb(skb); |
|---|
| 75 | + return 0; |
|---|
| 76 | + } |
|---|
| 77 | +#endif |
|---|
| 78 | + |
|---|
| 72 | 79 | if (unlikely(opt->optlen)) |
|---|
| 73 | 80 | ip_forward_options(skb); |
|---|
| 74 | 81 | |
|---|
| .. | .. |
|---|
| 144 | 151 | !skb_sec_path(skb)) |
|---|
| 145 | 152 | ip_rt_send_redirect(skb); |
|---|
| 146 | 153 | |
|---|
| 147 | | - if (net->ipv4.sysctl_ip_fwd_update_priority) |
|---|
| 154 | + if (READ_ONCE(net->ipv4.sysctl_ip_fwd_update_priority)) |
|---|
| 148 | 155 | skb->priority = rt_tos2priority(iph->tos); |
|---|
| 149 | 156 | |
|---|
| 150 | 157 | return NF_HOOK(NFPROTO_IPV4, NF_INET_FORWARD, |
|---|