generic: fix bcm fullconenat for nft support in linux 5.x

This commit is contained in:
coolsnowwolf 2025-11-14 15:52:41 +08:00
parent b6184adf70
commit de2ce72a88
3 changed files with 16 additions and 4 deletions

View File

@ -53,8 +53,12 @@
if (priv->sreg_proto_min) {
if (nft_dump_register(skb, NFTA_MASQ_REG_PROTO_MIN,
priv->sreg_proto_min) ||
@@ -112,6 +120,9 @@ static void nft_masq_eval(const struct n
@@ -112,6 +120,11 @@ static void nft_masq_eval(const struct n
struct nft_regs *regs,
const struct nft_pktinfo *pkt)
{
+ struct nft_masq *priv = nft_expr_priv(expr);
+ struct nf_nat_range2 range;
switch (nft_pf(pkt)) {
case NFPROTO_IPV4:
+ if (priv->fullcone) {

View File

@ -53,8 +53,12 @@
if (priv->sreg_proto_min) {
if (nft_dump_register(skb, NFTA_MASQ_REG_PROTO_MIN,
priv->sreg_proto_min) ||
@@ -112,6 +120,9 @@ static void nft_masq_eval(const struct n
@@ -112,6 +120,11 @@ static void nft_masq_eval(const struct n
struct nft_regs *regs,
const struct nft_pktinfo *pkt)
{
+ struct nft_masq *priv = nft_expr_priv(expr);
+ struct nf_nat_range2 range;
switch (nft_pf(pkt)) {
case NFPROTO_IPV4:
+ if (priv->fullcone) {
@ -62,4 +66,4 @@
+ }
return nft_masq_ipv4_eval(expr, regs, pkt);
case NFPROTO_IPV6:
return nft_masq_ipv6_eval(expr, regs, pkt);
return nft_masq_ipv6_eval(expr, regs, pkt);

View File

@ -53,8 +53,12 @@
if (priv->sreg_proto_min) {
if (nft_dump_register(skb, NFTA_MASQ_REG_PROTO_MIN,
priv->sreg_proto_min) ||
@@ -112,6 +120,9 @@ static void nft_masq_eval(const struct n
@@ -112,6 +120,11 @@ static void nft_masq_eval(const struct n
struct nft_regs *regs,
const struct nft_pktinfo *pkt)
{
+ struct nft_masq *priv = nft_expr_priv(expr);
+ struct nf_nat_range2 range;
switch (nft_pf(pkt)) {
case NFPROTO_IPV4:
+ if (priv->fullcone) {