mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
[NETFILTER]: Fix fragmentation issues with bridge netfilter
The conntrack code doesn't do re-fragmentation of defragmented packets anymore but relies on fragmentation in the IP layer. Purely bridged packets don't pass through the IP layer, so the bridge netfilter code needs to take care of fragmentation itself. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
550e29bc96
commit
2e2f7aefa8
3 changed files with 15 additions and 5 deletions
|
@ -86,8 +86,6 @@
|
|||
|
||||
int sysctl_ip_default_ttl = IPDEFTTL;
|
||||
|
||||
static int ip_fragment(struct sk_buff *skb, int (*output)(struct sk_buff*));
|
||||
|
||||
/* Generate a checksum for an outgoing IP datagram. */
|
||||
__inline__ void ip_send_check(struct iphdr *iph)
|
||||
{
|
||||
|
@ -421,7 +419,7 @@ static void ip_copy_metadata(struct sk_buff *to, struct sk_buff *from)
|
|||
* single device frame, and queue such a frame for sending.
|
||||
*/
|
||||
|
||||
static int ip_fragment(struct sk_buff *skb, int (*output)(struct sk_buff*))
|
||||
int ip_fragment(struct sk_buff *skb, int (*output)(struct sk_buff*))
|
||||
{
|
||||
struct iphdr *iph;
|
||||
int raw = 0;
|
||||
|
@ -673,6 +671,8 @@ fail:
|
|||
return err;
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL(ip_fragment);
|
||||
|
||||
int
|
||||
ip_generic_getfrag(void *from, char *to, int offset, int len, int odd, struct sk_buff *skb)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue