Pablo Neira Ayuso says: ==================== Netfilter fixes for net The following patchset contains Netfilter fixes for net: 1) Fix a deadlock when module is requested via netlink_bind() in nfnetlink, from Florian Westphal. 2) Fix ipt_rpfilter and ip6t_rpfilter with VRF, from Miaohe Lin. 3) Skip master comparison in SIP helper to fix expectation clash under two valid scenarios, from xiao ruizhu. 4) Remove obsolete comments in nf_conntrack codebase, from Yonatan Goldschmidt. 5) Fix redirect extension module autoload, from Christian Hesse. 6) Fix incorrect mssg option sent to client in synproxy, from Fernando Fernandez. 7) Fix incorrect window calculations in TCP conntrack, from Florian Westphal. 8) Don't bail out when updating basechain policy due to recent offload works, also from Florian. 9) Allow symhash to use modulus 1 as other hash extensions do, from Laura.Garcia. 10) Missing NAT chain module autoload for the inet family, from Phil Sutter. 11) Fix missing adjustment of TCP RST packet in synproxy, from Fernando Fernandez. 12) Skip EAGAIN path when nft_meta_bridge is built-in or not selected. 13) Conntrack bridge does not depend on nf_tables_bridge. 14) Turn NF_TABLES_BRIDGE into tristate to fix possible link break of nft_meta_bridge, from Arnd Bergmann. ====================
Showing the changes to include/net (2 of 44 files). Show all
Unified · Split
| @@ -76,6 +76,11 @@ struct nf_conntrack_expect_policy { · 75 unmodified lines | |||
| 76 | #define NF_CT_EXPECT_CLASS_DEFAULT 0 | 76 | #define NF_CT_EXPECT_CLASS_DEFAULT 0 |
| 77 | #define NF_CT_EXPECT_MAX_CNT 255 | 77 | #define NF_CT_EXPECT_MAX_CNT 255 |
| 78 | 78 | ||
| 79 | /* Allow to reuse expectations with the same tuples from different master | ||
| 80 | * conntracks. | ||
| 81 | */ | ||
| 82 | #define NF_CT_EXP_F_SKIP_MASTER 0x1 | ||
| 83 | |||
| 79 | int nf_conntrack_expect_pernet_init(struct net *net); | 84 | int nf_conntrack_expect_pernet_init(struct net *net); |
| 80 | void nf_conntrack_expect_pernet_fini(struct net *net); | 85 | void nf_conntrack_expect_pernet_fini(struct net *net); |
| 81 | 86 | ||
| @@ -122,10 +127,11 @@ void nf_ct_expect_init(struct nf_conntrack_expect *, unsigned int, u_int8_t, · 40 unmodified lines | |||
| 122 | u_int8_t, const __be16 *, const __be16 *); | 127 | u_int8_t, const __be16 *, const __be16 *); |
| 123 | void nf_ct_expect_put(struct nf_conntrack_expect *exp); | 128 | void nf_ct_expect_put(struct nf_conntrack_expect *exp); |
| 124 | int nf_ct_expect_related_report(struct nf_conntrack_expect *expect, | 129 | int nf_ct_expect_related_report(struct nf_conntrack_expect *expect, |
| 125 | u32 portid, int report); | 130 | u32 portid, int report, unsigned int flags); |
| 126 | static inline int nf_ct_expect_related(struct nf_conntrack_expect *expect) | 131 | static inline int nf_ct_expect_related(struct nf_conntrack_expect *expect, |
| 132 | unsigned int flags) | ||
| 127 | { | 133 | { |
| 128 | return nf_ct_expect_related_report(expect, 0, 0); | 134 | return nf_ct_expect_related_report(expect, 0, 0, flags); |
| 129 | } | 135 | } |
| 130 | 136 | ||
| 131 | #endif /*_NF_CONNTRACK_EXPECT_H*/ | 137 | #endif /*_NF_CONNTRACK_EXPECT_H*/ |
| @@ -68,6 +68,7 @@ struct synproxy_options { · 67 unmodified lines | |||
| 68 | u8 options; | 68 | u8 options; |
| 69 | u8 wscale; | 69 | u8 wscale; |
| 70 | u16 mss; | 70 | u16 mss; |
| 71 | u16 mss_encode; | ||
| 71 | u32 tsval; | 72 | u32 tsval; |
| 72 | u32 tsecr; | 73 | u32 tsecr; |
| 73 | }; | 74 | }; |