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
nexedi
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)
struct
channel
*
pch
=
chan
->
ppp
;
int
proto
;
if
(
pch
==
0
)
goto
drop
;
/* 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
;
if
(
pch
==
0
||
skb
->
len
==
0
)
{
kfree_skb
(
skb
);
return
;
}
proto
=
PPP_PROTO
(
skb
);
...
...
@@ -1374,10 +1367,6 @@ ppp_input(struct ppp_channel *chan, struct sk_buff *skb)
ppp_do_recv
(
pch
->
ppp
,
skb
,
pch
);
}
read_unlock_bh
(
&
pch
->
upl
);
return
;
drop:
kfree_skb
(
skb
);
return
;
}
/* 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)
static
void
ppp_receive_frame
(
struct
ppp
*
ppp
,
struct
sk_buff
*
skb
,
struct
channel
*
pch
)
{
if
(
skb
->
len
>=
2
)
{
#ifdef CONFIG_PPP_MULTILINK
/* XXX do channel-level decompression here */
if
(
PPP_PROTO
(
skb
)
==
PPP_MP
)
ppp_receive_mp_frame
(
ppp
,
skb
,
pch
);
else
/* XXX do channel-level decompression here */
if
(
PPP_PROTO
(
skb
)
==
PPP_MP
)
ppp_receive_mp_frame
(
ppp
,
skb
,
pch
);
else
#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
...
...
@@ -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
))
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 */
ns
=
dev_alloc_skb
(
skb
->
len
+
128
);
if
(
ns
==
0
)
{
...
...
@@ -1460,6 +1459,9 @@ ppp_receive_nonmp_frame(struct ppp *ppp, struct sk_buff *skb)
kfree_skb
(
skb
);
skb
=
ns
;
}
else
if
(
!
pskb_may_pull
(
skb
,
skb
->
len
))
goto
err
;
len
=
slhc_uncompress
(
ppp
->
vj
,
skb
->
data
+
2
,
skb
->
len
-
2
);
if
(
len
<=
0
)
{
printk
(
KERN_DEBUG
"PPP: VJ decompression error
\n
"
);
...
...
@@ -2033,12 +2035,12 @@ ppp_set_compress(struct ppp *ppp, unsigned long arg)
static
void
ppp_ccp_peek
(
struct
ppp
*
ppp
,
struct
sk_buff
*
skb
,
int
inbound
)
{
unsigned
char
*
dp
=
skb
->
data
+
2
;
unsigned
char
*
dp
;
int
len
;
if
(
!
pskb_may_pull
(
skb
,
CCP_HDRLEN
+
2
)
||
skb
->
len
<
(
len
=
CCP_LENGTH
(
dp
))
+
2
)
return
;
/* too short */
if
(
!
pskb_may_pull
(
skb
,
CCP_HDRLEN
+
2
)
)
return
;
/* no header */
dp
=
skb
->
data
+
2
;
switch
(
CCP_CODE
(
dp
))
{
case
CCP_CONFREQ
:
...
...
@@ -2071,10 +2073,8 @@ ppp_ccp_peek(struct ppp *ppp, struct sk_buff *skb, int inbound)
case
CCP_CONFACK
:
if
((
ppp
->
flags
&
(
SC_CCP_OPEN
|
SC_CCP_UP
))
!=
SC_CCP_OPEN
)
break
;
if
(
!
pskb_may_pull
(
skb
,
len
))
break
;
if
(
!
pskb_may_pull
(
skb
,
len
=
CCP_LENGTH
(
dp
))
+
2
)
return
;
/* too short */
dp
+=
CCP_HDRLEN
;
len
-=
CCP_HDRLEN
;
if
(
len
<
CCP_OPT_MINLEN
||
len
<
CCP_OPT_LENGTH
(
dp
))
...
...
include/net/dst.h
View file @
49b1b087
...
...
@@ -22,8 +22,8 @@
*/
#define RT_CACHE_DEBUG 0
#define DST_GC_MIN (
1*HZ
)
#define DST_GC_INC (
5*HZ
)
#define DST_GC_MIN (
HZ/10
)
#define DST_GC_INC (
HZ/2
)
#define DST_GC_MAX (120*HZ)
/* Each dst_entry has reference count and sits in some parent list(s).
...
...
net/ipv6/route.c
View file @
49b1b087
...
...
@@ -72,7 +72,7 @@
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
;
int
ip6_rt_gc_interval
=
30
*
HZ
;
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