diff mbox series

[nf] netfilter: flowtable: incorrect pppoe tuple in reply direction

Message ID 20240410232306.3379-1-pablo@netfilter.org
State Changes Requested
Headers show
Series [nf] netfilter: flowtable: incorrect pppoe tuple in reply direction | expand

Commit Message

Pablo Neira Ayuso April 10, 2024, 11:23 p.m. UTC
pppoe traffic coming in reply direction does not match the flowtable
entry because the pppoe header is expected to be at the network header
offset. This bug causes a mismatch in the flow table lookup, so pppoe
packets in the reply direction enter the classical forwarding path in
the flow table.

Fixes: 72efd585f714 ("netfilter: flowtable: add pppoe support")
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
---
 net/netfilter/nf_flow_table_ip.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/net/netfilter/nf_flow_table_ip.c b/net/netfilter/nf_flow_table_ip.c
index 9e9e105052da..5383bed3d3e0 100644
--- a/net/netfilter/nf_flow_table_ip.c
+++ b/net/netfilter/nf_flow_table_ip.c
@@ -157,7 +157,7 @@  static void nf_flow_tuple_encap(struct sk_buff *skb,
 		tuple->encap[i].proto = skb->protocol;
 		break;
 	case htons(ETH_P_PPP_SES):
-		phdr = (struct pppoe_hdr *)skb_mac_header(skb);
+		phdr = (struct pppoe_hdr *)skb_network_header(skb);
 		tuple->encap[i].id = ntohs(phdr->sid);
 		tuple->encap[i].proto = skb->protocol;
 		break;