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
f61727f7
Commit
f61727f7
authored
Nov 11, 2003
by
David S. Miller
Browse files
Options
Browse Files
Download
Plain Diff
Merge davem@nuts.ninka.net:/disk1/davem/BK/net-2.5
into hera.kernel.org:/home/davem/BK/net-2.5
parents
2e21f2ac
b74230be
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
30 additions
and
24 deletions
+30
-24
drivers/net/tlan.c
drivers/net/tlan.c
+1
-1
net/ipv4/ipvs/ip_vs_conn.c
net/ipv4/ipvs/ip_vs_conn.c
+2
-2
net/ipv4/ipvs/ip_vs_xmit.c
net/ipv4/ipvs/ip_vs_xmit.c
+1
-1
net/ipv6/icmp.c
net/ipv6/icmp.c
+26
-20
No files found.
drivers/net/tlan.c
View file @
f61727f7
...
...
@@ -234,7 +234,7 @@ static struct board {
const
char
*
deviceLabel
;
u32
flags
;
u16
addrOfs
;
}
board_info
[]
__devinitdata
=
{
}
board_info
[]
=
{
{
"Compaq Netelligent 10 T PCI UTP"
,
TLAN_ADAPTER_ACTIVITY_LED
,
0x83
},
{
"Compaq Netelligent 10/100 TX PCI UTP"
,
TLAN_ADAPTER_ACTIVITY_LED
,
0x83
},
{
"Compaq Integrated NetFlex-3/P"
,
TLAN_ADAPTER_NONE
,
0x83
},
...
...
net/ipv4/ipvs/ip_vs_conn.c
View file @
f61727f7
...
...
@@ -535,7 +535,7 @@ static void ip_vs_conn_expire(unsigned long data)
void
ip_vs_conn_expire_now
(
struct
ip_vs_conn
*
cp
)
{
cp
->
timeout
=
0
;
if
(
del_timer
(
&
cp
->
timer
))
mod_timer
(
&
cp
->
timer
,
jiffies
);
__ip_vs_conn_put
(
cp
);
}
...
...
net/ipv4/ipvs/ip_vs_xmit.c
View file @
f61727f7
...
...
@@ -98,7 +98,7 @@ __ip_vs_get_out_rt(struct ip_vs_conn *cp, u32 rtos)
.
oif
=
0
,
.
nl_u
=
{
.
ip4_u
=
{
.
daddr
=
dest
->
addr
,
.
daddr
=
cp
->
d
addr
,
.
saddr
=
0
,
.
tos
=
rtos
,
}
},
};
...
...
net/ipv6/icmp.c
View file @
f61727f7
...
...
@@ -86,15 +86,6 @@ static struct inet6_protocol icmpv6_protocol = {
.
flags
=
INET6_PROTO_FINAL
,
};
struct
icmpv6_msg
{
struct
icmp6hdr
icmph
;
struct
sk_buff
*
skb
;
int
offset
;
struct
in6_addr
*
daddr
;
int
len
;
__u32
csum
;
};
static
__inline__
int
icmpv6_xmit_lock
(
void
)
{
local_bh_disable
();
...
...
@@ -258,11 +249,19 @@ int icmpv6_push_pending_frames(struct sock *sk, struct flowi *fl, struct icmp6hd
return
err
;
}
struct
icmpv6_msg
{
struct
sk_buff
*
skb
;
int
offset
;
};
static
int
icmpv6_getfrag
(
void
*
from
,
char
*
to
,
int
offset
,
int
len
,
int
odd
,
struct
sk_buff
*
skb
)
{
struct
sk_buff
*
org_skb
=
(
struct
sk_buff
*
)
from
;
struct
icmpv6_msg
*
msg
=
(
struct
icmpv6_msg
*
)
from
;
struct
sk_buff
*
org_skb
=
msg
->
skb
;
__u32
csum
=
0
;
csum
=
skb_copy_and_csum_bits
(
org_skb
,
offset
,
to
,
len
,
csum
);
csum
=
skb_copy_and_csum_bits
(
org_skb
,
msg
->
offset
+
offset
,
to
,
len
,
csum
);
skb
->
csum
=
csum_block_add
(
skb
->
csum
,
csum
,
odd
);
return
0
;
}
...
...
@@ -281,9 +280,10 @@ void icmpv6_send(struct sk_buff *skb, int type, int code, __u32 info,
struct
dst_entry
*
dst
;
struct
icmp6hdr
tmp_hdr
;
struct
flowi
fl
;
struct
icmpv6_msg
msg
;
int
iif
=
0
;
int
addr_type
=
0
;
int
len
,
plen
;
int
len
;
int
hlimit
=
-
1
;
int
err
=
0
;
...
...
@@ -379,27 +379,29 @@ void icmpv6_send(struct sk_buff *skb, int type, int code, __u32 info,
hlimit
=
dst_metric
(
dst
,
RTAX_HOPLIMIT
);
}
plen
=
skb
->
nh
.
raw
-
skb
->
data
;
__skb_pull
(
skb
,
plen
);
len
=
skb
->
len
;
msg
.
skb
=
skb
;
msg
.
offset
=
skb
->
nh
.
raw
-
skb
->
data
;
len
=
skb
->
len
-
msg
.
offset
;
len
=
min_t
(
unsigned
int
,
len
,
IPV6_MIN_MTU
-
sizeof
(
struct
ipv6hdr
)
-
sizeof
(
struct
icmp6hdr
));
if
(
len
<
0
)
{
if
(
net_ratelimit
())
printk
(
KERN_DEBUG
"icmp: len problem
\n
"
);
__skb_push
(
skb
,
plen
);
goto
out_dst_release
;
}
idev
=
in6_dev_get
(
skb
->
dev
);
err
=
ip6_append_data
(
sk
,
icmpv6_getfrag
,
skb
,
len
+
sizeof
(
struct
icmp6hdr
),
sizeof
(
struct
icmp6hdr
),
hlimit
,
NULL
,
&
fl
,
(
struct
rt6_info
*
)
dst
,
MSG_DONTWAIT
);
err
=
ip6_append_data
(
sk
,
icmpv6_getfrag
,
&
msg
,
len
+
sizeof
(
struct
icmp6hdr
),
sizeof
(
struct
icmp6hdr
),
hlimit
,
NULL
,
&
fl
,
(
struct
rt6_info
*
)
dst
,
MSG_DONTWAIT
);
if
(
err
)
{
ip6_flush_pending_frames
(
sk
);
goto
out_put
;
}
err
=
icmpv6_push_pending_frames
(
sk
,
&
fl
,
&
tmp_hdr
,
len
+
sizeof
(
struct
icmp6hdr
));
__skb_push
(
skb
,
plen
);
if
(
type
>=
ICMPV6_DEST_UNREACH
&&
type
<=
ICMPV6_PARAMPROB
)
ICMP6_INC_STATS_OFFSET_BH
(
idev
,
Icmp6OutDestUnreachs
,
type
-
ICMPV6_DEST_UNREACH
);
...
...
@@ -423,6 +425,7 @@ static void icmpv6_echo_reply(struct sk_buff *skb)
struct
icmp6hdr
*
icmph
=
(
struct
icmp6hdr
*
)
skb
->
h
.
raw
;
struct
icmp6hdr
tmp_hdr
;
struct
flowi
fl
;
struct
icmpv6_msg
msg
;
struct
dst_entry
*
dst
;
int
err
=
0
;
int
hlimit
=
-
1
;
...
...
@@ -464,7 +467,10 @@ static void icmpv6_echo_reply(struct sk_buff *skb)
idev
=
in6_dev_get
(
skb
->
dev
);
err
=
ip6_append_data
(
sk
,
icmpv6_getfrag
,
skb
,
skb
->
len
+
sizeof
(
struct
icmp6hdr
),
msg
.
skb
=
skb
;
msg
.
offset
=
0
;
err
=
ip6_append_data
(
sk
,
icmpv6_getfrag
,
&
msg
,
skb
->
len
+
sizeof
(
struct
icmp6hdr
),
sizeof
(
struct
icmp6hdr
),
hlimit
,
NULL
,
&
fl
,
(
struct
rt6_info
*
)
dst
,
MSG_DONTWAIT
);
...
...
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