Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci-2.6.23
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci-2.6.23
Commits
01e67d08
Commit
01e67d08
authored
May 25, 2007
by
David S. Miller
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[XFRM]: Allow XFRM_ACQ_EXPIRES to be tunable via sysctl.
Signed-off-by:
David S. Miller
<
davem@davemloft.net
>
parent
4738d2fa
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
18 additions
and
7 deletions
+18
-7
include/net/xfrm.h
include/net/xfrm.h
+0
-1
net/core/sysctl_net_core.c
net/core/sysctl_net_core.c
+9
-0
net/xfrm/xfrm_state.c
net/xfrm/xfrm_state.c
+9
-6
No files found.
include/net/xfrm.h
View file @
01e67d08
...
...
@@ -237,7 +237,6 @@ extern int xfrm_policy_register_afinfo(struct xfrm_policy_afinfo *afinfo);
extern
int
xfrm_policy_unregister_afinfo
(
struct
xfrm_policy_afinfo
*
afinfo
);
extern
void
km_policy_notify
(
struct
xfrm_policy
*
xp
,
int
dir
,
struct
km_event
*
c
);
extern
void
km_state_notify
(
struct
xfrm_state
*
x
,
struct
km_event
*
c
);
#define XFRM_ACQ_EXPIRES 30
struct
xfrm_tmpl
;
extern
int
km_query
(
struct
xfrm_state
*
x
,
struct
xfrm_tmpl
*
t
,
struct
xfrm_policy
*
pol
);
...
...
net/core/sysctl_net_core.c
View file @
01e67d08
...
...
@@ -25,6 +25,7 @@ extern int sysctl_core_destroy_delay;
extern
u32
sysctl_xfrm_aevent_etime
;
extern
u32
sysctl_xfrm_aevent_rseqth
;
extern
int
sysctl_xfrm_larval_drop
;
extern
u32
sysctl_xfrm_acq_expires
;
#endif
ctl_table
core_table
[]
=
{
...
...
@@ -127,6 +128,14 @@ ctl_table core_table[] = {
.
mode
=
0644
,
.
proc_handler
=
&
proc_dointvec
},
{
.
ctl_name
=
CTL_UNNUMBERED
,
.
procname
=
"xfrm_acq_expires"
,
.
data
=
&
sysctl_xfrm_acq_expires
,
.
maxlen
=
sizeof
(
int
),
.
mode
=
0644
,
.
proc_handler
=
&
proc_dointvec
},
#endif
/* CONFIG_XFRM */
#endif
/* CONFIG_NET */
{
...
...
net/xfrm/xfrm_state.c
View file @
01e67d08
...
...
@@ -21,18 +21,21 @@
#include <linux/cache.h>
#include <asm/uaccess.h>
#include <linux/audit.h>
#include <linux/cache.h>
#include "xfrm_hash.h"
struct
sock
*
xfrm_nl
;
EXPORT_SYMBOL
(
xfrm_nl
);
u32
sysctl_xfrm_aevent_etime
=
XFRM_AE_ETIME
;
u32
sysctl_xfrm_aevent_etime
__read_mostly
=
XFRM_AE_ETIME
;
EXPORT_SYMBOL
(
sysctl_xfrm_aevent_etime
);
u32
sysctl_xfrm_aevent_rseqth
=
XFRM_AE_SEQT_SIZE
;
u32
sysctl_xfrm_aevent_rseqth
__read_mostly
=
XFRM_AE_SEQT_SIZE
;
EXPORT_SYMBOL
(
sysctl_xfrm_aevent_rseqth
);
u32
sysctl_xfrm_acq_expires
__read_mostly
=
30
;
/* Each xfrm_state may be linked to two tables:
1. Hash table by (spi,daddr,ah/esp) to find SA by SPI. (input,ctl)
...
...
@@ -622,8 +625,8 @@ xfrm_state_find(xfrm_address_t *daddr, xfrm_address_t *saddr,
h
=
xfrm_spi_hash
(
&
x
->
id
.
daddr
,
x
->
id
.
spi
,
x
->
id
.
proto
,
family
);
hlist_add_head
(
&
x
->
byspi
,
xfrm_state_byspi
+
h
);
}
x
->
lft
.
hard_add_expires_seconds
=
XFRM_ACQ_EXPIRES
;
x
->
timer
.
expires
=
jiffies
+
XFRM_ACQ_EXPIRES
*
HZ
;
x
->
lft
.
hard_add_expires_seconds
=
sysctl_xfrm_acq_expires
;
x
->
timer
.
expires
=
jiffies
+
sysctl_xfrm_acq_expires
*
HZ
;
add_timer
(
&
x
->
timer
);
xfrm_state_num
++
;
xfrm_hash_grow_check
(
x
->
bydst
.
next
!=
NULL
);
...
...
@@ -772,9 +775,9 @@ static struct xfrm_state *__find_acq_core(unsigned short family, u8 mode, u32 re
x
->
props
.
family
=
family
;
x
->
props
.
mode
=
mode
;
x
->
props
.
reqid
=
reqid
;
x
->
lft
.
hard_add_expires_seconds
=
XFRM_ACQ_EXPIRES
;
x
->
lft
.
hard_add_expires_seconds
=
sysctl_xfrm_acq_expires
;
xfrm_state_hold
(
x
);
x
->
timer
.
expires
=
jiffies
+
XFRM_ACQ_EXPIRES
*
HZ
;
x
->
timer
.
expires
=
jiffies
+
sysctl_xfrm_acq_expires
*
HZ
;
add_timer
(
&
x
->
timer
);
hlist_add_head
(
&
x
->
bydst
,
xfrm_state_bydst
+
h
);
h
=
xfrm_src_hash
(
daddr
,
saddr
,
family
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment