-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[INET]: Collect frag queues management objects together
There are some objects that are common in all the places which are used to keep track of frag queues, they are: * hash table * LRU list * rw lock * rnd number for hash function * the number of queues * the amount of memory occupied by queues * secret timer Move all this stuff into one structure (struct inet_frags) to make it possible use them uniformly in the future. Like with the previous patch this mostly consists of hunks like - write_lock(&ipfrag_lock); + write_lock(&ip4_frags.lock); To address the issue with exporting the number of queues and the amount of memory occupied by queues outside the .c file they are declared in, I introduce a couple of helpers. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
- Loading branch information
Pavel Emelyanov
authored and
David S. Miller
committed
Oct 15, 2007
1 parent
5ab11c9
commit 7eb9515
Showing
10 changed files
with
224 additions
and
179 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
/* | ||
* inet fragments management | ||
* | ||
* This program is free software; you can redistribute it and/or | ||
* modify it under the terms of the GNU General Public License | ||
* as published by the Free Software Foundation; either version | ||
* 2 of the License, or (at your option) any later version. | ||
* | ||
* Authors: Pavel Emelyanov <xemul@openvz.org> | ||
* Started as consolidation of ipv4/ip_fragment.c, | ||
* ipv6/reassembly. and ipv6 nf conntrack reassembly | ||
*/ | ||
|
||
#include <linux/list.h> | ||
#include <linux/spinlock.h> | ||
#include <linux/module.h> | ||
#include <linux/timer.h> | ||
#include <linux/mm.h> | ||
|
||
#include <net/inet_frag.h> | ||
|
||
void inet_frags_init(struct inet_frags *f) | ||
{ | ||
int i; | ||
|
||
for (i = 0; i < INETFRAGS_HASHSZ; i++) | ||
INIT_HLIST_HEAD(&f->hash[i]); | ||
|
||
INIT_LIST_HEAD(&f->lru_list); | ||
rwlock_init(&f->lock); | ||
|
||
f->rnd = (u32) ((num_physpages ^ (num_physpages>>7)) ^ | ||
(jiffies ^ (jiffies >> 6))); | ||
|
||
f->nqueues = 0; | ||
atomic_set(&f->mem, 0); | ||
|
||
} | ||
EXPORT_SYMBOL(inet_frags_init); | ||
|
||
void inet_frags_fini(struct inet_frags *f) | ||
{ | ||
} | ||
EXPORT_SYMBOL(inet_frags_fini); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.