Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
49b1b087
Commit
49b1b087
authored
Jun 28, 2003
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
bk://are.twiddle.net/axp-2.5
into home.osdl.org:/home/torvalds/v2.5/linux
parents
39f6e22a
4e004d91
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
31 additions
and
31 deletions
+31
-31
drivers/net/ppp_generic.c
drivers/net/ppp_generic.c
+28
-28
include/net/dst.h
include/net/dst.h
+2
-2
net/ipv6/route.c
net/ipv6/route.c
+1
-1
No files found.
drivers/net/ppp_generic.c
View file @
49b1b087
...
@@ -1348,16 +1348,9 @@ ppp_input(struct ppp_channel *chan, struct sk_buff *skb)
...
@@ -1348,16 +1348,9 @@ ppp_input(struct ppp_channel *chan, struct sk_buff *skb)
struct
channel
*
pch
=
chan
->
ppp
;
struct
channel
*
pch
=
chan
->
ppp
;
int
proto
;
int
proto
;
if
(
pch
==
0
)
if
(
pch
==
0
||
skb
->
len
==
0
)
{
goto
drop
;
kfree_skb
(
skb
);
return
;
/* need to have PPP header */
if
(
!
pskb_may_pull
(
skb
,
2
))
{
if
(
pch
->
ppp
)
{
++
pch
->
ppp
->
stats
.
rx_length_errors
;
ppp_receive_error
(
pch
->
ppp
);
}
goto
drop
;
}
}
proto
=
PPP_PROTO
(
skb
);
proto
=
PPP_PROTO
(
skb
);
...
@@ -1374,10 +1367,6 @@ ppp_input(struct ppp_channel *chan, struct sk_buff *skb)
...
@@ -1374,10 +1367,6 @@ ppp_input(struct ppp_channel *chan, struct sk_buff *skb)
ppp_do_recv
(
pch
->
ppp
,
skb
,
pch
);
ppp_do_recv
(
pch
->
ppp
,
skb
,
pch
);
}
}
read_unlock_bh
(
&
pch
->
upl
);
read_unlock_bh
(
&
pch
->
upl
);
return
;
drop:
kfree_skb
(
skb
);
return
;
}
}
/* Put a 0-length skb in the receive queue as an error indication */
/* Put a 0-length skb in the receive queue as an error indication */
...
@@ -1409,13 +1398,23 @@ ppp_input_error(struct ppp_channel *chan, int code)
...
@@ -1409,13 +1398,23 @@ ppp_input_error(struct ppp_channel *chan, int code)
static
void
static
void
ppp_receive_frame
(
struct
ppp
*
ppp
,
struct
sk_buff
*
skb
,
struct
channel
*
pch
)
ppp_receive_frame
(
struct
ppp
*
ppp
,
struct
sk_buff
*
skb
,
struct
channel
*
pch
)
{
{
if
(
skb
->
len
>=
2
)
{
#ifdef CONFIG_PPP_MULTILINK
#ifdef CONFIG_PPP_MULTILINK
/* XXX do channel-level decompression here */
/* XXX do channel-level decompression here */
if
(
PPP_PROTO
(
skb
)
==
PPP_MP
)
if
(
PPP_PROTO
(
skb
)
==
PPP_MP
)
ppp_receive_mp_frame
(
ppp
,
skb
,
pch
);
ppp_receive_mp_frame
(
ppp
,
skb
,
pch
);
else
else
#endif
/* CONFIG_PPP_MULTILINK */
#endif
/* CONFIG_PPP_MULTILINK */
ppp_receive_nonmp_frame
(
ppp
,
skb
);
ppp_receive_nonmp_frame
(
ppp
,
skb
);
return
;
}
if
(
skb
->
len
>
0
)
/* note: a 0-length skb is used as an error indication */
++
ppp
->
stats
.
rx_length_errors
;
kfree_skb
(
skb
);
ppp_receive_error
(
ppp
);
}
}
static
void
static
void
...
@@ -1448,7 +1447,7 @@ ppp_receive_nonmp_frame(struct ppp *ppp, struct sk_buff *skb)
...
@@ -1448,7 +1447,7 @@ ppp_receive_nonmp_frame(struct ppp *ppp, struct sk_buff *skb)
if
(
ppp
->
vj
==
0
||
(
ppp
->
flags
&
SC_REJ_COMP_TCP
))
if
(
ppp
->
vj
==
0
||
(
ppp
->
flags
&
SC_REJ_COMP_TCP
))
goto
err
;
goto
err
;
if
(
skb_tailroom
(
skb
)
<
124
||
skb_is_nonlinear
(
skb
)
)
{
if
(
skb_tailroom
(
skb
)
<
124
)
{
/* copy to a new sk_buff with more tailroom */
/* copy to a new sk_buff with more tailroom */
ns
=
dev_alloc_skb
(
skb
->
len
+
128
);
ns
=
dev_alloc_skb
(
skb
->
len
+
128
);
if
(
ns
==
0
)
{
if
(
ns
==
0
)
{
...
@@ -1460,6 +1459,9 @@ ppp_receive_nonmp_frame(struct ppp *ppp, struct sk_buff *skb)
...
@@ -1460,6 +1459,9 @@ ppp_receive_nonmp_frame(struct ppp *ppp, struct sk_buff *skb)
kfree_skb
(
skb
);
kfree_skb
(
skb
);
skb
=
ns
;
skb
=
ns
;
}
}
else
if
(
!
pskb_may_pull
(
skb
,
skb
->
len
))
goto
err
;
len
=
slhc_uncompress
(
ppp
->
vj
,
skb
->
data
+
2
,
skb
->
len
-
2
);
len
=
slhc_uncompress
(
ppp
->
vj
,
skb
->
data
+
2
,
skb
->
len
-
2
);
if
(
len
<=
0
)
{
if
(
len
<=
0
)
{
printk
(
KERN_DEBUG
"PPP: VJ decompression error
\n
"
);
printk
(
KERN_DEBUG
"PPP: VJ decompression error
\n
"
);
...
@@ -2033,12 +2035,12 @@ ppp_set_compress(struct ppp *ppp, unsigned long arg)
...
@@ -2033,12 +2035,12 @@ ppp_set_compress(struct ppp *ppp, unsigned long arg)
static
void
static
void
ppp_ccp_peek
(
struct
ppp
*
ppp
,
struct
sk_buff
*
skb
,
int
inbound
)
ppp_ccp_peek
(
struct
ppp
*
ppp
,
struct
sk_buff
*
skb
,
int
inbound
)
{
{
unsigned
char
*
dp
=
skb
->
data
+
2
;
unsigned
char
*
dp
;
int
len
;
int
len
;
if
(
!
pskb_may_pull
(
skb
,
CCP_HDRLEN
+
2
)
if
(
!
pskb_may_pull
(
skb
,
CCP_HDRLEN
+
2
)
)
||
skb
->
len
<
(
len
=
CCP_LENGTH
(
dp
))
+
2
)
return
;
/* no header */
return
;
/* too short */
dp
=
skb
->
data
+
2
;
switch
(
CCP_CODE
(
dp
))
{
switch
(
CCP_CODE
(
dp
))
{
case
CCP_CONFREQ
:
case
CCP_CONFREQ
:
...
@@ -2071,10 +2073,8 @@ ppp_ccp_peek(struct ppp *ppp, struct sk_buff *skb, int inbound)
...
@@ -2071,10 +2073,8 @@ ppp_ccp_peek(struct ppp *ppp, struct sk_buff *skb, int inbound)
case
CCP_CONFACK
:
case
CCP_CONFACK
:
if
((
ppp
->
flags
&
(
SC_CCP_OPEN
|
SC_CCP_UP
))
!=
SC_CCP_OPEN
)
if
((
ppp
->
flags
&
(
SC_CCP_OPEN
|
SC_CCP_UP
))
!=
SC_CCP_OPEN
)
break
;
break
;
if
(
!
pskb_may_pull
(
skb
,
len
=
CCP_LENGTH
(
dp
))
+
2
)
if
(
!
pskb_may_pull
(
skb
,
len
))
return
;
/* too short */
break
;
dp
+=
CCP_HDRLEN
;
dp
+=
CCP_HDRLEN
;
len
-=
CCP_HDRLEN
;
len
-=
CCP_HDRLEN
;
if
(
len
<
CCP_OPT_MINLEN
||
len
<
CCP_OPT_LENGTH
(
dp
))
if
(
len
<
CCP_OPT_MINLEN
||
len
<
CCP_OPT_LENGTH
(
dp
))
...
...
include/net/dst.h
View file @
49b1b087
...
@@ -22,8 +22,8 @@
...
@@ -22,8 +22,8 @@
*/
*/
#define RT_CACHE_DEBUG 0
#define RT_CACHE_DEBUG 0
#define DST_GC_MIN (
1*HZ
)
#define DST_GC_MIN (
HZ/10
)
#define DST_GC_INC (
5*HZ
)
#define DST_GC_INC (
HZ/2
)
#define DST_GC_MAX (120*HZ)
#define DST_GC_MAX (120*HZ)
/* Each dst_entry has reference count and sits in some parent list(s).
/* Each dst_entry has reference count and sits in some parent list(s).
...
...
net/ipv6/route.c
View file @
49b1b087
...
@@ -72,7 +72,7 @@
...
@@ -72,7 +72,7 @@
static
int
ip6_rt_max_size
=
4096
;
static
int
ip6_rt_max_size
=
4096
;
static
int
ip6_rt_gc_min_interval
=
5
*
HZ
;
static
int
ip6_rt_gc_min_interval
=
HZ
/
2
;
static
int
ip6_rt_gc_timeout
=
60
*
HZ
;
static
int
ip6_rt_gc_timeout
=
60
*
HZ
;
int
ip6_rt_gc_interval
=
30
*
HZ
;
int
ip6_rt_gc_interval
=
30
*
HZ
;
static
int
ip6_rt_gc_elasticity
=
9
;
static
int
ip6_rt_gc_elasticity
=
9
;
...
...
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