Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
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
Commits
343a9972
Commit
343a9972
authored
Jun 09, 2009
by
David S. Miller
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
netfilter: Use frag list abstraction interfaces.
Signed-off-by:
David S. Miller
<
davem@davemloft.net
>
parent
4d9092bb
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
5 additions
and
4 deletions
+5
-4
net/ipv4/netfilter/nf_nat_proto_sctp.c
net/ipv4/netfilter/nf_nat_proto_sctp.c
+3
-2
net/ipv6/netfilter/nf_conntrack_reasm.c
net/ipv6/netfilter/nf_conntrack_reasm.c
+2
-2
No files found.
net/ipv4/netfilter/nf_nat_proto_sctp.c
View file @
343a9972
...
...
@@ -33,6 +33,7 @@ sctp_manip_pkt(struct sk_buff *skb,
enum
nf_nat_manip_type
maniptype
)
{
const
struct
iphdr
*
iph
=
(
struct
iphdr
*
)(
skb
->
data
+
iphdroff
);
struct
sk_buff
*
frag
;
sctp_sctphdr_t
*
hdr
;
unsigned
int
hdroff
=
iphdroff
+
iph
->
ihl
*
4
;
__be32
oldip
,
newip
;
...
...
@@ -57,8 +58,8 @@ sctp_manip_pkt(struct sk_buff *skb,
}
crc32
=
sctp_start_cksum
((
u8
*
)
hdr
,
skb_headlen
(
skb
)
-
hdroff
);
for
(
skb
=
skb_shinfo
(
skb
)
->
frag_list
;
skb
;
skb
=
skb
->
next
)
crc32
=
sctp_update_cksum
((
u8
*
)
skb
->
data
,
skb_headlen
(
skb
),
skb_walk_frags
(
skb
,
frag
);
crc32
=
sctp_update_cksum
((
u8
*
)
frag
->
data
,
skb_headlen
(
frag
),
crc32
);
crc32
=
sctp_end_cksum
(
crc32
);
hdr
->
checksum
=
crc32
;
...
...
net/ipv6/netfilter/nf_conntrack_reasm.c
View file @
343a9972
...
...
@@ -409,7 +409,7 @@ nf_ct_frag6_reasm(struct nf_ct_frag6_queue *fq, struct net_device *dev)
/* If the first fragment is fragmented itself, we split
* it to two chunks: the first with data and paged part
* and the second, holding only fragments. */
if
(
skb_
shinfo
(
head
)
->
frag_list
)
{
if
(
skb_
has_frags
(
head
)
)
{
struct
sk_buff
*
clone
;
int
i
,
plen
=
0
;
...
...
@@ -420,7 +420,7 @@ nf_ct_frag6_reasm(struct nf_ct_frag6_queue *fq, struct net_device *dev)
clone
->
next
=
head
->
next
;
head
->
next
=
clone
;
skb_shinfo
(
clone
)
->
frag_list
=
skb_shinfo
(
head
)
->
frag_list
;
skb_
shinfo
(
head
)
->
frag_list
=
NULL
;
skb_
frag_list_init
(
head
)
;
for
(
i
=
0
;
i
<
skb_shinfo
(
head
)
->
nr_frags
;
i
++
)
plen
+=
skb_shinfo
(
head
)
->
frags
[
i
].
size
;
clone
->
len
=
clone
->
data_len
=
head
->
data_len
-
plen
;
...
...
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