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
ab1ecbab
Commit
ab1ecbab
authored
Feb 09, 2008
by
David S. Miller
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'pending' of master.kernel.org:/pub/scm/linux/kernel/git/vxy/lksctp-dev
parents
b1d0e4f5
5f9646c3
Changes
38
Show whitespace changes
Inline
Side-by-side
Showing
38 changed files
with
190 additions
and
172 deletions
+190
-172
include/linux/sctp.h
include/linux/sctp.h
+2
-2
include/net/sctp/auth.h
include/net/sctp/auth.h
+4
-4
include/net/sctp/command.h
include/net/sctp/command.h
+4
-4
include/net/sctp/constants.h
include/net/sctp/constants.h
+4
-4
include/net/sctp/sctp.h
include/net/sctp/sctp.h
+4
-4
include/net/sctp/sm.h
include/net/sctp/sm.h
+4
-4
include/net/sctp/structs.h
include/net/sctp/structs.h
+4
-4
include/net/sctp/tsnmap.h
include/net/sctp/tsnmap.h
+4
-4
include/net/sctp/ulpevent.h
include/net/sctp/ulpevent.h
+4
-4
include/net/sctp/ulpqueue.h
include/net/sctp/ulpqueue.h
+3
-3
include/net/sctp/user.h
include/net/sctp/user.h
+4
-4
net/sctp/associola.c
net/sctp/associola.c
+7
-7
net/sctp/auth.c
net/sctp/auth.c
+4
-4
net/sctp/bind_addr.c
net/sctp/bind_addr.c
+4
-4
net/sctp/chunk.c
net/sctp/chunk.c
+4
-4
net/sctp/command.c
net/sctp/command.c
+4
-4
net/sctp/debug.c
net/sctp/debug.c
+4
-8
net/sctp/endpointola.c
net/sctp/endpointola.c
+4
-8
net/sctp/input.c
net/sctp/input.c
+4
-4
net/sctp/inqueue.c
net/sctp/inqueue.c
+4
-4
net/sctp/ipv6.c
net/sctp/ipv6.c
+4
-4
net/sctp/objcnt.c
net/sctp/objcnt.c
+4
-4
net/sctp/output.c
net/sctp/output.c
+4
-4
net/sctp/outqueue.c
net/sctp/outqueue.c
+7
-5
net/sctp/primitive.c
net/sctp/primitive.c
+4
-4
net/sctp/proc.c
net/sctp/proc.c
+4
-4
net/sctp/protocol.c
net/sctp/protocol.c
+4
-4
net/sctp/sm_make_chunk.c
net/sctp/sm_make_chunk.c
+5
-4
net/sctp/sm_sideeffect.c
net/sctp/sm_sideeffect.c
+4
-4
net/sctp/sm_statefuns.c
net/sctp/sm_statefuns.c
+4
-6
net/sctp/sm_statetable.c
net/sctp/sm_statetable.c
+4
-4
net/sctp/socket.c
net/sctp/socket.c
+12
-5
net/sctp/ssnmap.c
net/sctp/ssnmap.c
+4
-4
net/sctp/sysctl.c
net/sctp/sysctl.c
+4
-4
net/sctp/transport.c
net/sctp/transport.c
+4
-4
net/sctp/tsnmap.c
net/sctp/tsnmap.c
+4
-4
net/sctp/ulpevent.c
net/sctp/ulpevent.c
+4
-3
net/sctp/ulpqueue.c
net/sctp/ulpqueue.c
+30
-13
No files found.
include/linux/sctp.h
View file @
ab1ecbab
...
...
@@ -10,13 +10,13 @@
*
* Various protocol defined structures.
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
include/net/sctp/auth.h
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* (C) Copyright 2007 Hewlett-Packard Development Company, L.P.
*
* This file is part of the SCTP kernel
reference I
mplementation
* This file is part of the SCTP kernel
i
mplementation
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
include/net/sctp/command.h
View file @
ab1ecbab
/* SCTP kernel
reference
Implementation
/* SCTP kernel Implementation
* (C) Copyright IBM Corp. 2001, 2004
* Copyright (C) 1999-2001 Cisco, Motorola
*
* This file is part of the SCTP kernel
reference I
mplementation
* This file is part of the SCTP kernel
i
mplementation
*
* These are the definitions needed for the command object.
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
*
the SCTP reference
implementation is distributed in the hope that it
*
This SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
include/net/sctp/constants.h
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* (C) Copyright IBM Corp. 2001, 2004
* Copyright (c) 1999-2000 Cisco, Inc.
* Copyright (c) 1999-2001 Motorola, Inc.
* Copyright (c) 2001 Intel Corp.
*
* This file is part of the SCTP kernel
reference I
mplementation
* This file is part of the SCTP kernel
i
mplementation
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
include/net/sctp/sctp.h
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* (C) Copyright IBM Corp. 2001, 2004
* Copyright (c) 1999-2000 Cisco, Inc.
* Copyright (c) 1999-2001 Motorola, Inc.
* Copyright (c) 2001-2003 Intel Corp.
*
* This file is part of the SCTP kernel
reference I
mplementation
* This file is part of the SCTP kernel
i
mplementation
*
* The base lksctp header.
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
include/net/sctp/sm.h
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* (C) Copyright IBM Corp. 2001, 2004
* Copyright (c) 1999-2000 Cisco, Inc.
* Copyright (c) 1999-2001 Motorola, Inc.
* Copyright (c) 2001 Intel Corp.
*
* This file is part of the SCTP kernel
reference I
mplementation
* This file is part of the SCTP kernel
i
mplementation
*
* These are definitions needed by the state machine.
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
include/net/sctp/structs.h
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* (C) Copyright IBM Corp. 2001, 2004
* Copyright (c) 1999-2000 Cisco, Inc.
* Copyright (c) 1999-2001 Motorola, Inc.
* Copyright (c) 2001 Intel Corp.
*
* This file is part of the SCTP kernel
reference I
mplementation
* This file is part of the SCTP kernel
i
mplementation
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
include/net/sctp/tsnmap.h
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* (C) Copyright IBM Corp. 2001, 2004
* Copyright (c) 1999-2000 Cisco, Inc.
* Copyright (c) 1999-2001 Motorola, Inc.
* Copyright (c) 2001 Intel Corp.
*
* This file is part of the SCTP kernel
reference I
mplementation
* This file is part of the SCTP kernel
i
mplementation
*
* These are the definitions needed for the tsnmap type. The tsnmap is used
* to track out of order TSNs received.
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
include/net/sctp/ulpevent.h
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* (C) Copyright IBM Corp. 2001, 2004
* Copyright (c) 1999-2000 Cisco, Inc.
* Copyright (c) 1999-2001 Motorola, Inc.
...
...
@@ -10,15 +10,15 @@
* sctp_ulpevent type is used to carry information from the state machine
* upwards to the ULP.
*
* This file is part of the SCTP kernel
reference I
mplementation
* This file is part of the SCTP kernel
i
mplementation
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
include/net/sctp/ulpqueue.h
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* (C) Copyright IBM Corp. 2001, 2004
* Copyright (c) 1999-2000 Cisco, Inc.
* Copyright (c) 1999-2001 Motorola, Inc.
...
...
@@ -11,13 +11,13 @@
* and the core SCTP state machine. This is the component which handles
* reassembly and ordering.
*
* Th
e SCTP reference implementation
is free software;
* Th
is SCTP implementation
is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
*
the SCTP reference
implementation is distributed in the hope that it
*
This SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
include/net/sctp/user.h
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* (C) Copyright IBM Corp. 2001, 2004
* Copyright (c) 1999-2000 Cisco, Inc.
* Copyright (c) 1999-2001 Motorola, Inc.
* Copyright (c) 2002 Intel Corp.
*
* This file is part of the SCTP kernel
reference I
mplementation
* This file is part of the SCTP kernel
i
mplementation
*
* This header represents the structures and constants needed to support
* the SCTP Extension to the Sockets API.
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
net/sctp/associola.c
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* (C) Copyright IBM Corp. 2001, 2004
* Copyright (c) 1999-2000 Cisco, Inc.
* Copyright (c) 1999-2001 Motorola, Inc.
* Copyright (c) 2001 Intel Corp.
* Copyright (c) 2001 La Monte H.P. Yarroll
*
* This file is part of the SCTP kernel
reference I
mplementation
* This file is part of the SCTP kernel
i
mplementation
*
* This module provides the abstraction for an SCTP association.
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
@@ -1525,7 +1525,7 @@ struct sctp_chunk *sctp_assoc_lookup_asconf_ack(
const
struct
sctp_association
*
asoc
,
__be32
serial
)
{
struct
sctp_chunk
*
ack
=
NULL
;
struct
sctp_chunk
*
ack
;
/* Walk through the list of cached ASCONF-ACKs and find the
* ack chunk whose serial number matches that of the request.
...
...
@@ -1533,9 +1533,9 @@ struct sctp_chunk *sctp_assoc_lookup_asconf_ack(
list_for_each_entry
(
ack
,
&
asoc
->
asconf_ack_list
,
transmitted_list
)
{
if
(
ack
->
subh
.
addip_hdr
->
serial
==
serial
)
{
sctp_chunk_hold
(
ack
);
brea
k
;
return
ac
k
;
}
}
return
ack
;
return
NULL
;
}
net/sctp/auth.c
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* (C) Copyright 2007 Hewlett-Packard Development Company, L.P.
*
* This file is part of the SCTP kernel
reference I
mplementation
* This file is part of the SCTP kernel
i
mplementation
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
net/sctp/bind_addr.c
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* (C) Copyright IBM Corp. 2001, 2003
* Copyright (c) Cisco 1999,2000
* Copyright (c) Motorola 1999,2000,2001
* Copyright (c) La Monte H.P. Yarroll 2001
*
* This file is part of the SCTP kernel
reference
implementation.
* This file is part of the SCTP kernel implementation.
*
* A collection class to handle the storage of transport addresses.
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
net/sctp/chunk.c
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* (C) Copyright IBM Corp. 2003, 2004
*
* This file is part of the SCTP kernel
reference I
mplementation
* This file is part of the SCTP kernel
i
mplementation
*
* This file contains the code relating the chunk abstraction.
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
net/sctp/command.c
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation Copyright (C) 1999-2001
/* SCTP kernel
i
mplementation Copyright (C) 1999-2001
* Cisco, Motorola, and IBM
* Copyright 2001 La Monte H.P. Yarroll
*
* This file is part of the SCTP kernel
reference I
mplementation
* This file is part of the SCTP kernel
i
mplementation
*
* These functions manipulate sctp command sequences.
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
net/sctp/debug.c
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* (C) Copyright IBM Corp. 2001, 2004
* Copyright (c) 1999-2000 Cisco, Inc.
* Copyright (c) 1999-2001 Motorola, Inc.
* Copyright (c) 2001 Intel Corp.
*
* This file is part of the SCTP kernel reference Implementation
*
* This file is part of the implementation of the add-IP extension,
* based on <draft-ietf-tsvwg-addip-sctp-02.txt> June 29, 2001,
* for the SCTP kernel reference Implementation.
* This file is part of the SCTP kernel implementation
*
* This file converts numerical ID value to alphabetical names for SCTP
* terms such as chunk type, parameter time, event type, etc.
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
net/sctp/endpointola.c
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* Copyright (c) 1999-2000 Cisco, Inc.
* Copyright (c) 1999-2001 Motorola, Inc.
* Copyright (c) 2001-2002 International Business Machines, Corp.
...
...
@@ -6,21 +6,17 @@
* Copyright (c) 2001 Nokia, Inc.
* Copyright (c) 2001 La Monte H.P. Yarroll
*
* This file is part of the SCTP kernel
reference I
mplementation
* This file is part of the SCTP kernel
i
mplementation
*
* This abstraction represents an SCTP endpoint.
*
* This file is part of the implementation of the add-IP extension,
* based on <draft-ietf-tsvwg-addip-sctp-02.txt> June 29, 2001,
* for the SCTP kernel reference Implementation.
*
* The SCTP reference implementation is free software;
* The SCTP implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* The SCTP
reference
implementation is distributed in the hope that it
* The SCTP implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
net/sctp/input.c
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* Copyright (c) 1999-2000 Cisco, Inc.
* Copyright (c) 1999-2001 Motorola, Inc.
* Copyright (c) 2001-2003 International Business Machines, Corp.
...
...
@@ -6,17 +6,17 @@
* Copyright (c) 2001 Nokia, Inc.
* Copyright (c) 2001 La Monte H.P. Yarroll
*
* This file is part of the SCTP kernel
reference I
mplementation
* This file is part of the SCTP kernel
i
mplementation
*
* These functions handle all input from the IP layer into SCTP.
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
net/sctp/inqueue.c
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* Copyright (c) 1999-2000 Cisco, Inc.
* Copyright (c) 1999-2001 Motorola, Inc.
* Copyright (c) 2002 International Business Machines, Corp.
*
* This file is part of the SCTP kernel
reference I
mplementation
* This file is part of the SCTP kernel
i
mplementation
*
* These functions are the methods for accessing the SCTP inqueue.
*
...
...
@@ -11,13 +11,13 @@
* (which might be bundles or fragments of chunks) and out of which you
* pop SCTP whole chunks.
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
net/sctp/ipv6.c
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* (C) Copyright IBM Corp. 2002, 2004
* Copyright (c) 2001 Nokia, Inc.
* Copyright (c) 2001 La Monte H.P. Yarroll
* Copyright (c) 2002-2003 Intel Corp.
*
* This file is part of the SCTP kernel
reference I
mplementation
* This file is part of the SCTP kernel
i
mplementation
*
* SCTP over IPv6.
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
net/sctp/objcnt.c
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* (C) Copyright IBM Corp. 2001, 2004
*
* This file is part of the SCTP kernel
reference I
mplementation
* This file is part of the SCTP kernel
i
mplementation
*
* Support for memory object debugging. This allows one to monitor the
* object allocations/deallocations for types instrumented for this
* via the proc fs.
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
net/sctp/output.c
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* (C) Copyright IBM Corp. 2001, 2004
* Copyright (c) 1999-2000 Cisco, Inc.
* Copyright (c) 1999-2001 Motorola, Inc.
*
* This file is part of the SCTP kernel
reference I
mplementation
* This file is part of the SCTP kernel
i
mplementation
*
* These functions handle output processing.
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
net/sctp/outqueue.c
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* (C) Copyright IBM Corp. 2001, 2004
* Copyright (c) 1999-2000 Cisco, Inc.
* Copyright (c) 1999-2001 Motorola, Inc.
* Copyright (c) 2001-2003 Intel Corp.
*
* This file is part of the SCTP kernel
reference I
mplementation
* This file is part of the SCTP kernel
i
mplementation
*
* These functions implement the sctp_outq class. The outqueue handles
* bundling and queueing of outgoing SCTP chunks.
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
@@ -1179,9 +1179,11 @@ int sctp_outq_sack(struct sctp_outq *q, struct sctp_sackhdr *sack)
tchunk
=
list_entry
(
lchunk
,
struct
sctp_chunk
,
transmitted_list
);
tsn
=
ntohl
(
tchunk
->
subh
.
data_hdr
->
tsn
);
if
(
TSN_lte
(
tsn
,
ctsn
))
if
(
TSN_lte
(
tsn
,
ctsn
))
{
list_del_init
(
&
tchunk
->
transmitted_list
);
sctp_chunk_free
(
tchunk
);
}
}
/* ii) Set rwnd equal to the newly received a_rwnd minus the
* number of bytes still outstanding after processing the
...
...
net/sctp/primitive.c
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* Copyright (c) 1999-2000 Cisco, Inc.
* Copyright (c) 1999-2001 Motorola, Inc.
*
* This file is part of the SCTP kernel
reference I
mplementation
* This file is part of the SCTP kernel
i
mplementation
*
* These functions implement the SCTP primitive functions from Section 10.
*
...
...
@@ -10,13 +10,13 @@
* functions--this file is the functions which populate the struct proto
* for SCTP which is the BOTTOM of the sockets interface.
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
net/sctp/proc.c
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* Copyright (c) 2003 International Business Machines, Corp.
*
* This file is part of the SCTP kernel
reference I
mplementation
* This file is part of the SCTP kernel
i
mplementation
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
net/sctp/protocol.c
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* (C) Copyright IBM Corp. 2001, 2004
* Copyright (c) 1999-2000 Cisco, Inc.
* Copyright (c) 1999-2001 Motorola, Inc.
...
...
@@ -6,17 +6,17 @@
* Copyright (c) 2001 Nokia, Inc.
* Copyright (c) 2001 La Monte H.P. Yarroll
*
* This file is part of the SCTP kernel
reference I
mplementation
* This file is part of the SCTP kernel
i
mplementation
*
* Initialization/cleanup for SCTP protocol support.
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
net/sctp/sm_make_chunk.c
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* (C) Copyright IBM Corp. 2001, 2004
* Copyright (c) 1999-2000 Cisco, Inc.
* Copyright (c) 1999-2001 Motorola, Inc.
* Copyright (c) 2001-2002 Intel Corp.
*
* This file is part of the SCTP kernel
reference I
mplementation
* This file is part of the SCTP kernel
i
mplementation
*
* These functions work with the state functions in sctp_sm_statefuns.c
* to implement the state operations. These functions implement the
* steps which require modifying existing data structures.
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
@@ -3224,6 +3224,7 @@ int sctp_process_asconf_ack(struct sctp_association *asoc,
}
/* Free the cached last sent asconf chunk. */
list_del_init
(
&
asconf
->
transmitted_list
);
sctp_chunk_free
(
asconf
);
asoc
->
addip_last_asconf
=
NULL
;
...
...
net/sctp/sm_sideeffect.c
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* (C) Copyright IBM Corp. 2001, 2004
* Copyright (c) 1999 Cisco, Inc.
* Copyright (c) 1999-2001 Motorola, Inc.
*
* This file is part of the SCTP kernel
reference I
mplementation
* This file is part of the SCTP kernel
i
mplementation
*
* These functions work with the state functions in sctp_sm_statefuns.c
* to implement that state operations. These functions implement the
* steps which require modifying existing data structures.
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
net/sctp/sm_statefuns.c
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* (C) Copyright IBM Corp. 2001, 2004
* Copyright (c) 1999-2000 Cisco, Inc.
* Copyright (c) 1999-2001 Motorola, Inc.
* Copyright (c) 2001-2002 Intel Corp.
* Copyright (c) 2002 Nokia Corp.
*
* This file is part of the SCTP kernel reference Implementation
*
* This is part of the SCTP Linux Kernel Reference Implementation.
* This is part of the SCTP Linux Kernel Implementation.
*
* These are the state functions for the state machine.
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
net/sctp/sm_statetable.c
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* (C) Copyright IBM Corp. 2001, 2004
* Copyright (c) 1999-2000 Cisco, Inc.
* Copyright (c) 1999-2001 Motorola, Inc.
* Copyright (c) 2001 Intel Corp.
* Copyright (c) 2001 Nokia, Inc.
*
* This file is part of the SCTP kernel
reference I
mplementation
* This file is part of the SCTP kernel
i
mplementation
*
* These are the state tables for the SCTP state machine.
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
net/sctp/socket.c
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* (C) Copyright IBM Corp. 2001, 2004
* Copyright (c) 1999-2000 Cisco, Inc.
* Copyright (c) 1999-2001 Motorola, Inc.
...
...
@@ -6,7 +6,7 @@
* Copyright (c) 2001-2002 Nokia, Inc.
* Copyright (c) 2001 La Monte H.P. Yarroll
*
* This file is part of the SCTP kernel
reference I
mplementation
* This file is part of the SCTP kernel
i
mplementation
*
* These functions interface with the sockets layer to implement the
* SCTP Extensions for the Sockets API.
...
...
@@ -15,13 +15,13 @@
* functions--this file is the functions which populate the struct proto
* for SCTP which is the BOTTOM of the sockets interface.
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
@@ -1911,6 +1911,7 @@ SCTP_STATIC int sctp_recvmsg(struct kiocb *iocb, struct sock *sk,
* rwnd by that amount. If all the data in the skb is read,
* rwnd is updated when the event is freed.
*/
if
(
!
sctp_ulpevent_is_notification
(
event
))
sctp_assoc_rwnd_increase
(
event
->
asoc
,
copied
);
goto
out
;
}
else
if
((
event
->
msg_flags
&
MSG_NOTIFICATION
)
||
...
...
@@ -4314,6 +4315,9 @@ static int sctp_copy_laddrs_old(struct sock *sk, __u16 port,
(
AF_INET6
==
addr
->
a
.
sa
.
sa_family
))
continue
;
memcpy
(
&
temp
,
&
addr
->
a
,
sizeof
(
temp
));
if
(
!
temp
.
v4
.
sin_port
)
temp
.
v4
.
sin_port
=
htons
(
port
);
sctp_get_pf_specific
(
sk
->
sk_family
)
->
addr_v4map
(
sctp_sk
(
sk
),
&
temp
);
addrlen
=
sctp_get_af_specific
(
temp
.
sa
.
sa_family
)
->
sockaddr_len
;
...
...
@@ -4346,6 +4350,9 @@ static int sctp_copy_laddrs(struct sock *sk, __u16 port, void *to,
(
AF_INET6
==
addr
->
a
.
sa
.
sa_family
))
continue
;
memcpy
(
&
temp
,
&
addr
->
a
,
sizeof
(
temp
));
if
(
!
temp
.
v4
.
sin_port
)
temp
.
v4
.
sin_port
=
htons
(
port
);
sctp_get_pf_specific
(
sk
->
sk_family
)
->
addr_v4map
(
sctp_sk
(
sk
),
&
temp
);
addrlen
=
sctp_get_af_specific
(
temp
.
sa
.
sa_family
)
->
sockaddr_len
;
...
...
net/sctp/ssnmap.c
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* Copyright (c) 2003 International Business Machines, Corp.
*
* This file is part of the SCTP kernel
reference I
mplementation
* This file is part of the SCTP kernel
i
mplementation
*
* These functions manipulate sctp SSN tracker.
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
net/sctp/sysctl.c
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* (C) Copyright IBM Corp. 2002, 2004
* Copyright (c) 2002 Intel Corp.
*
* This file is part of the SCTP kernel
reference I
mplementation
* This file is part of the SCTP kernel
i
mplementation
*
* Sysctl related interfaces for SCTP.
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
net/sctp/transport.c
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* Copyright (c) 1999-2000 Cisco, Inc.
* Copyright (c) 1999-2001 Motorola, Inc.
* Copyright (c) 2001-2003 International Business Machines Corp.
* Copyright (c) 2001 Intel Corp.
* Copyright (c) 2001 La Monte H.P. Yarroll
*
* This file is part of the SCTP kernel
reference I
mplementation
* This file is part of the SCTP kernel
i
mplementation
*
* This module provides the abstraction for an SCTP tranport representing
* a remote transport address. For local transport addresses, we just use
* union sctp_addr.
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
net/sctp/tsnmap.c
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* (C) Copyright IBM Corp. 2001, 2004
* Copyright (c) 1999-2000 Cisco, Inc.
* Copyright (c) 1999-2001 Motorola, Inc.
* Copyright (c) 2001 Intel Corp.
*
* This file is part of the SCTP kernel
reference I
mplementation
* This file is part of the SCTP kernel
i
mplementation
*
* These functions manipulate sctp tsn mapping array.
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
net/sctp/ulpevent.c
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* (C) Copyright IBM Corp. 2001, 2004
* Copyright (c) 1999-2000 Cisco, Inc.
* Copyright (c) 1999-2001 Motorola, Inc.
...
...
@@ -8,13 +8,14 @@
*
* These functions manipulate an sctp event. The struct ulpevent is used
* to carry notifications and data to the ULP (sockets).
* The SCTP reference implementation is free software;
*
* This SCTP implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
net/sctp/ulpqueue.c
View file @
ab1ecbab
/* SCTP kernel
reference I
mplementation
/* SCTP kernel
i
mplementation
* (C) Copyright IBM Corp. 2001, 2004
* Copyright (c) 1999-2000 Cisco, Inc.
* Copyright (c) 1999-2001 Motorola, Inc.
...
...
@@ -8,13 +8,13 @@
*
* This abstraction carries sctp events to the ULP (sockets).
*
* Th
e SCTP reference
implementation is free software;
* Th
is SCTP
implementation is free software;
* you can redistribute it and/or modify it under the terms of
* the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* Th
e SCTP reference
implementation is distributed in the hope that it
* Th
is SCTP
implementation is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* ************************
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
...
...
@@ -283,7 +283,7 @@ int sctp_ulpq_tail_event(struct sctp_ulpq *ulpq, struct sctp_ulpevent *event)
/* 2nd Level Abstractions */
/* Helper function to store chunks that need to be reassembled. */
static
inline
void
sctp_ulpq_store_reasm
(
struct
sctp_ulpq
*
ulpq
,
static
void
sctp_ulpq_store_reasm
(
struct
sctp_ulpq
*
ulpq
,
struct
sctp_ulpevent
*
event
)
{
struct
sk_buff
*
pos
;
...
...
@@ -405,7 +405,7 @@ static struct sctp_ulpevent *sctp_make_reassembled_event(struct sk_buff_head *qu
/* Helper function to check if an incoming chunk has filled up the last
* missing fragment in a SCTP datagram and return the corresponding event.
*/
static
inline
struct
sctp_ulpevent
*
sctp_ulpq_retrieve_reassembled
(
struct
sctp_ulpq
*
ulpq
)
static
struct
sctp_ulpevent
*
sctp_ulpq_retrieve_reassembled
(
struct
sctp_ulpq
*
ulpq
)
{
struct
sk_buff
*
pos
;
struct
sctp_ulpevent
*
cevent
;
...
...
@@ -512,7 +512,7 @@ static inline struct sctp_ulpevent *sctp_ulpq_retrieve_reassembled(struct sctp_u
}
/* Retrieve the next set of fragments of a partial message. */
static
inline
struct
sctp_ulpevent
*
sctp_ulpq_retrieve_partial
(
struct
sctp_ulpq
*
ulpq
)
static
struct
sctp_ulpevent
*
sctp_ulpq_retrieve_partial
(
struct
sctp_ulpq
*
ulpq
)
{
struct
sk_buff
*
pos
,
*
last_frag
,
*
first_frag
;
struct
sctp_ulpevent
*
cevent
;
...
...
@@ -606,7 +606,7 @@ static struct sctp_ulpevent *sctp_ulpq_reasm(struct sctp_ulpq *ulpq,
}
/* Retrieve the first part (sequential fragments) for partial delivery. */
static
inline
struct
sctp_ulpevent
*
sctp_ulpq_retrieve_first
(
struct
sctp_ulpq
*
ulpq
)
static
struct
sctp_ulpevent
*
sctp_ulpq_retrieve_first
(
struct
sctp_ulpq
*
ulpq
)
{
struct
sk_buff
*
pos
,
*
last_frag
,
*
first_frag
;
struct
sctp_ulpevent
*
cevent
;
...
...
@@ -735,7 +735,7 @@ static void sctp_ulpq_reasm_drain(struct sctp_ulpq *ulpq)
/* Helper function to gather skbs that have possibly become
* ordered by an an incoming chunk.
*/
static
inline
void
sctp_ulpq_retrieve_ordered
(
struct
sctp_ulpq
*
ulpq
,
static
void
sctp_ulpq_retrieve_ordered
(
struct
sctp_ulpq
*
ulpq
,
struct
sctp_ulpevent
*
event
)
{
struct
sk_buff_head
*
event_list
;
...
...
@@ -779,7 +779,7 @@ static inline void sctp_ulpq_retrieve_ordered(struct sctp_ulpq *ulpq,
}
/* Helper function to store chunks needing ordering. */
static
inline
void
sctp_ulpq_store_ordered
(
struct
sctp_ulpq
*
ulpq
,
static
void
sctp_ulpq_store_ordered
(
struct
sctp_ulpq
*
ulpq
,
struct
sctp_ulpevent
*
event
)
{
struct
sk_buff
*
pos
;
...
...
@@ -867,13 +867,14 @@ static struct sctp_ulpevent *sctp_ulpq_order(struct sctp_ulpq *ulpq,
/* Helper function to gather skbs that have possibly become
* ordered by forward tsn skipping their dependencies.
*/
static
inline
void
sctp_ulpq_reap_ordered
(
struct
sctp_ulpq
*
ulpq
,
__u16
sid
)
static
void
sctp_ulpq_reap_ordered
(
struct
sctp_ulpq
*
ulpq
,
__u16
sid
)
{
struct
sk_buff
*
pos
,
*
tmp
;
struct
sctp_ulpevent
*
cevent
;
struct
sctp_ulpevent
*
event
;
struct
sctp_stream
*
in
;
struct
sk_buff_head
temp
;
struct
sk_buff_head
*
lobby
=
&
ulpq
->
lobby
;
__u16
csid
,
cssn
;
in
=
&
ulpq
->
asoc
->
ssnmap
->
in
;
...
...
@@ -881,7 +882,7 @@ static inline void sctp_ulpq_reap_ordered(struct sctp_ulpq *ulpq, __u16 sid)
/* We are holding the chunks by stream, by SSN. */
skb_queue_head_init
(
&
temp
);
event
=
NULL
;
sctp_skb_for_each
(
pos
,
&
ulpq
->
lobby
,
tmp
)
{
sctp_skb_for_each
(
pos
,
lobby
,
tmp
)
{
cevent
=
(
struct
sctp_ulpevent
*
)
pos
->
cb
;
csid
=
cevent
->
stream
;
cssn
=
cevent
->
ssn
;
...
...
@@ -895,10 +896,10 @@ static inline void sctp_ulpq_reap_ordered(struct sctp_ulpq *ulpq, __u16 sid)
continue
;
/* see if this ssn has been marked by skipping */
if
(
!
SSN_lt
e
(
cssn
,
sctp_ssn_peek
(
in
,
csid
)))
if
(
!
SSN_lt
(
cssn
,
sctp_ssn_peek
(
in
,
csid
)))
break
;
__skb_unlink
(
pos
,
&
ulpq
->
lobby
);
__skb_unlink
(
pos
,
lobby
);
if
(
!
event
)
/* Create a temporary list to collect chunks on. */
event
=
sctp_skb2event
(
pos
);
...
...
@@ -907,6 +908,22 @@ static inline void sctp_ulpq_reap_ordered(struct sctp_ulpq *ulpq, __u16 sid)
__skb_queue_tail
(
&
temp
,
pos
);
}
/* If we didn't reap any data, see if the next expected SSN
* is next on the queue and if so, use that.
*/
if
(
event
==
NULL
&&
pos
!=
(
struct
sk_buff
*
)
lobby
)
{
cevent
=
(
struct
sctp_ulpevent
*
)
pos
->
cb
;
csid
=
cevent
->
stream
;
cssn
=
cevent
->
ssn
;
if
(
csid
==
sid
&&
cssn
==
sctp_ssn_peek
(
in
,
csid
))
{
sctp_ssn_next
(
in
,
csid
);
__skb_unlink
(
pos
,
lobby
);
__skb_queue_tail
(
&
temp
,
pos
);
event
=
sctp_skb2event
(
pos
);
}
}
/* Send event to the ULP. 'event' is the sctp_ulpevent for
* very first SKB on the 'temp' list.
*/
...
...
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