···10 *11 * Various protocol defined structures.12 *13- * The SCTP reference implementation is free software;14 * you can redistribute it and/or modify it under the terms of15 * the GNU General Public License as published by16 * the Free Software Foundation; either version 2, or (at your option)17 * any later version.18 *19- * The SCTP reference implementation is distributed in the hope that it20 * will be useful, but WITHOUT ANY WARRANTY; without even the implied21 * ************************22 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
···10 *11 * Various protocol defined structures.12 *13+ * This SCTP implementation is free software;14 * you can redistribute it and/or modify it under the terms of15 * the GNU General Public License as published by16 * the Free Software Foundation; either version 2, or (at your option)17 * any later version.18 *19+ * This SCTP implementation is distributed in the hope that it20 * will be useful, but WITHOUT ANY WARRANTY; without even the implied21 * ************************22 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+4-4
include/net/sctp/auth.h
···1-/* SCTP kernel reference Implementation2 * (C) Copyright 2007 Hewlett-Packard Development Company, L.P.3 *4- * This file is part of the SCTP kernel reference Implementation5 *6- * The SCTP reference implementation is free software;7 * you can redistribute it and/or modify it under the terms of8 * the GNU General Public License as published by9 * the Free Software Foundation; either version 2, or (at your option)10 * any later version.11 *12- * The SCTP reference implementation is distributed in the hope that it13 * will be useful, but WITHOUT ANY WARRANTY; without even the implied14 * ************************15 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
···1+/* SCTP kernel implementation2 * (C) Copyright 2007 Hewlett-Packard Development Company, L.P.3 *4+ * This file is part of the SCTP kernel implementation5 *6+ * This SCTP implementation is free software;7 * you can redistribute it and/or modify it under the terms of8 * the GNU General Public License as published by9 * the Free Software Foundation; either version 2, or (at your option)10 * any later version.11 *12+ * This SCTP implementation is distributed in the hope that it13 * will be useful, but WITHOUT ANY WARRANTY; without even the implied14 * ************************15 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+4-4
include/net/sctp/command.h
···1-/* SCTP kernel reference Implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (C) 1999-2001 Cisco, Motorola4 *5- * This file is part of the SCTP kernel reference Implementation6 *7 * These are the definitions needed for the command object.8 *9- * The SCTP reference implementation is free software;10 * you can redistribute it and/or modify it under the terms of11 * the GNU General Public License as published by12 * the Free Software Foundation; either version 2, or (at your option)13 * any later version.14 *15- * the SCTP reference implementation is distributed in the hope that it16 * will be useful, but WITHOUT ANY WARRANTY; without even the implied17 * ************************18 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
···1+/* SCTP kernel Implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (C) 1999-2001 Cisco, Motorola4 *5+ * This file is part of the SCTP kernel implementation6 *7 * These are the definitions needed for the command object.8 *9+ * This SCTP implementation is free software;10 * you can redistribute it and/or modify it under the terms of11 * the GNU General Public License as published by12 * the Free Software Foundation; either version 2, or (at your option)13 * any later version.14 *15+ * This SCTP implementation is distributed in the hope that it16 * will be useful, but WITHOUT ANY WARRANTY; without even the implied17 * ************************18 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+4-4
include/net/sctp/constants.h
···1-/* SCTP kernel reference Implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.5 * Copyright (c) 2001 Intel Corp.6 *7- * This file is part of the SCTP kernel reference Implementation8 *9- * The SCTP reference implementation is free software;10 * you can redistribute it and/or modify it under the terms of11 * the GNU General Public License as published by12 * the Free Software Foundation; either version 2, or (at your option)13 * any later version.14 *15- * The SCTP reference implementation is distributed in the hope that it16 * will be useful, but WITHOUT ANY WARRANTY; without even the implied17 * ************************18 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
···1+/* SCTP kernel implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.5 * Copyright (c) 2001 Intel Corp.6 *7+ * This file is part of the SCTP kernel implementation8 *9+ * This SCTP implementation is free software;10 * you can redistribute it and/or modify it under the terms of11 * the GNU General Public License as published by12 * the Free Software Foundation; either version 2, or (at your option)13 * any later version.14 *15+ * This SCTP implementation is distributed in the hope that it16 * will be useful, but WITHOUT ANY WARRANTY; without even the implied17 * ************************18 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+4-4
include/net/sctp/sctp.h
···1-/* SCTP kernel reference Implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.5 * Copyright (c) 2001-2003 Intel Corp.6 *7- * This file is part of the SCTP kernel reference Implementation8 *9 * The base lksctp header.10 *11- * The SCTP reference implementation is free software;12 * you can redistribute it and/or modify it under the terms of13 * the GNU General Public License as published by14 * the Free Software Foundation; either version 2, or (at your option)15 * any later version.16 *17- * The SCTP reference implementation is distributed in the hope that it18 * will be useful, but WITHOUT ANY WARRANTY; without even the implied19 * ************************20 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
···1+/* SCTP kernel implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.5 * Copyright (c) 2001-2003 Intel Corp.6 *7+ * This file is part of the SCTP kernel implementation8 *9 * The base lksctp header.10 *11+ * This SCTP implementation is free software;12 * you can redistribute it and/or modify it under the terms of13 * the GNU General Public License as published by14 * the Free Software Foundation; either version 2, or (at your option)15 * any later version.16 *17+ * This SCTP implementation is distributed in the hope that it18 * will be useful, but WITHOUT ANY WARRANTY; without even the implied19 * ************************20 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+4-4
include/net/sctp/sm.h
···1-/* SCTP kernel reference Implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.5 * Copyright (c) 2001 Intel Corp.6 *7- * This file is part of the SCTP kernel reference Implementation8 *9 * These are definitions needed by the state machine.10 *11- * The SCTP reference implementation is free software;12 * you can redistribute it and/or modify it under the terms of13 * the GNU General Public License as published by14 * the Free Software Foundation; either version 2, or (at your option)15 * any later version.16 *17- * The SCTP reference implementation is distributed in the hope that it18 * will be useful, but WITHOUT ANY WARRANTY; without even the implied19 * ************************20 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
···1+/* SCTP kernel implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.5 * Copyright (c) 2001 Intel Corp.6 *7+ * This file is part of the SCTP kernel implementation8 *9 * These are definitions needed by the state machine.10 *11+ * This SCTP implementation is free software;12 * you can redistribute it and/or modify it under the terms of13 * the GNU General Public License as published by14 * the Free Software Foundation; either version 2, or (at your option)15 * any later version.16 *17+ * This SCTP implementation is distributed in the hope that it18 * will be useful, but WITHOUT ANY WARRANTY; without even the implied19 * ************************20 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+4-4
include/net/sctp/structs.h
···1-/* SCTP kernel reference Implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.5 * Copyright (c) 2001 Intel Corp.6 *7- * This file is part of the SCTP kernel reference Implementation8 *9- * The SCTP reference implementation is free software;10 * you can redistribute it and/or modify it under the terms of11 * the GNU General Public License as published by12 * the Free Software Foundation; either version 2, or (at your option)13 * any later version.14 *15- * The SCTP reference implementation is distributed in the hope that it16 * will be useful, but WITHOUT ANY WARRANTY; without even the implied17 * ************************18 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
···1+/* SCTP kernel implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.5 * Copyright (c) 2001 Intel Corp.6 *7+ * This file is part of the SCTP kernel implementation8 *9+ * This SCTP implementation is free software;10 * you can redistribute it and/or modify it under the terms of11 * the GNU General Public License as published by12 * the Free Software Foundation; either version 2, or (at your option)13 * any later version.14 *15+ * This SCTP implementation is distributed in the hope that it16 * will be useful, but WITHOUT ANY WARRANTY; without even the implied17 * ************************18 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+4-4
include/net/sctp/tsnmap.h
···1-/* SCTP kernel reference Implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.5 * Copyright (c) 2001 Intel Corp.6 *7- * This file is part of the SCTP kernel reference Implementation8 *9 * These are the definitions needed for the tsnmap type. The tsnmap is used10 * to track out of order TSNs received.11 *12- * The SCTP reference implementation is free software;13 * you can redistribute it and/or modify it under the terms of14 * the GNU General Public License as published by15 * the Free Software Foundation; either version 2, or (at your option)16 * any later version.17 *18- * The SCTP reference implementation is distributed in the hope that it19 * will be useful, but WITHOUT ANY WARRANTY; without even the implied20 * ************************21 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
···1+/* SCTP kernel implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.5 * Copyright (c) 2001 Intel Corp.6 *7+ * This file is part of the SCTP kernel implementation8 *9 * These are the definitions needed for the tsnmap type. The tsnmap is used10 * to track out of order TSNs received.11 *12+ * This SCTP implementation is free software;13 * you can redistribute it and/or modify it under the terms of14 * the GNU General Public License as published by15 * the Free Software Foundation; either version 2, or (at your option)16 * any later version.17 *18+ * This SCTP implementation is distributed in the hope that it19 * will be useful, but WITHOUT ANY WARRANTY; without even the implied20 * ************************21 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+4-4
include/net/sctp/ulpevent.h
···1-/* SCTP kernel reference Implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.···10 * sctp_ulpevent type is used to carry information from the state machine11 * upwards to the ULP.12 *13- * This file is part of the SCTP kernel reference Implementation14 *15- * The SCTP reference implementation is free software;16 * you can redistribute it and/or modify it under the terms of17 * the GNU General Public License as published by18 * the Free Software Foundation; either version 2, or (at your option)19 * any later version.20 *21- * The SCTP reference implementation is distributed in the hope that it22 * will be useful, but WITHOUT ANY WARRANTY; without even the implied23 * ************************24 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
···1+/* SCTP kernel implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.···10 * sctp_ulpevent type is used to carry information from the state machine11 * upwards to the ULP.12 *13+ * This file is part of the SCTP kernel implementation14 *15+ * This SCTP implementation is free software;16 * you can redistribute it and/or modify it under the terms of17 * the GNU General Public License as published by18 * the Free Software Foundation; either version 2, or (at your option)19 * any later version.20 *21+ * This SCTP implementation is distributed in the hope that it22 * will be useful, but WITHOUT ANY WARRANTY; without even the implied23 * ************************24 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+3-3
include/net/sctp/ulpqueue.h
···1-/* SCTP kernel reference Implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.···11 * and the core SCTP state machine. This is the component which handles12 * reassembly and ordering.13 *14- * The SCTP reference implementation is free software;15 * you can redistribute it and/or modify it under the terms of16 * the GNU General Public License as published by17 * the Free Software Foundation; either version 2, or (at your option)18 * any later version.19 *20- * the SCTP reference implementation is distributed in the hope that it21 * will be useful, but WITHOUT ANY WARRANTY; without even the implied22 * ************************23 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
···1+/* SCTP kernel implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.···11 * and the core SCTP state machine. This is the component which handles12 * reassembly and ordering.13 *14+ * This SCTP implementation is free software;15 * you can redistribute it and/or modify it under the terms of16 * the GNU General Public License as published by17 * the Free Software Foundation; either version 2, or (at your option)18 * any later version.19 *20+ * This SCTP implementation is distributed in the hope that it21 * will be useful, but WITHOUT ANY WARRANTY; without even the implied22 * ************************23 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+4-4
include/net/sctp/user.h
···1-/* SCTP kernel reference Implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.5 * Copyright (c) 2002 Intel Corp.6 *7- * This file is part of the SCTP kernel reference Implementation8 *9 * This header represents the structures and constants needed to support10 * the SCTP Extension to the Sockets API.11 *12- * The SCTP reference implementation is free software;13 * you can redistribute it and/or modify it under the terms of14 * the GNU General Public License as published by15 * the Free Software Foundation; either version 2, or (at your option)16 * any later version.17 *18- * The SCTP reference implementation is distributed in the hope that it19 * will be useful, but WITHOUT ANY WARRANTY; without even the implied20 * ************************21 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
···1+/* SCTP kernel implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.5 * Copyright (c) 2002 Intel Corp.6 *7+ * This file is part of the SCTP kernel implementation8 *9 * This header represents the structures and constants needed to support10 * the SCTP Extension to the Sockets API.11 *12+ * This SCTP implementation is free software;13 * you can redistribute it and/or modify it under the terms of14 * the GNU General Public License as published by15 * the Free Software Foundation; either version 2, or (at your option)16 * any later version.17 *18+ * This SCTP implementation is distributed in the hope that it19 * will be useful, but WITHOUT ANY WARRANTY; without even the implied20 * ************************21 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+7-7
net/sctp/associola.c
···1-/* SCTP kernel reference Implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.5 * Copyright (c) 2001 Intel Corp.6 * Copyright (c) 2001 La Monte H.P. Yarroll7 *8- * This file is part of the SCTP kernel reference Implementation9 *10 * This module provides the abstraction for an SCTP association.11 *12- * The SCTP reference implementation is free software;13 * you can redistribute it and/or modify it under the terms of14 * the GNU General Public License as published by15 * the Free Software Foundation; either version 2, or (at your option)16 * any later version.17 *18- * The SCTP reference implementation is distributed in the hope that it19 * will be useful, but WITHOUT ANY WARRANTY; without even the implied20 * ************************21 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.···1525 const struct sctp_association *asoc,1526 __be32 serial)1527{1528- struct sctp_chunk *ack = NULL;15291530 /* Walk through the list of cached ASCONF-ACKs and find the1531 * ack chunk whose serial number matches that of the request.···1533 list_for_each_entry(ack, &asoc->asconf_ack_list, transmitted_list) {1534 if (ack->subh.addip_hdr->serial == serial) {1535 sctp_chunk_hold(ack);1536- break;1537 }1538 }15391540- return ack;1541}
···1+/* SCTP kernel implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.5 * Copyright (c) 2001 Intel Corp.6 * Copyright (c) 2001 La Monte H.P. Yarroll7 *8+ * This file is part of the SCTP kernel implementation9 *10 * This module provides the abstraction for an SCTP association.11 *12+ * This SCTP implementation is free software;13 * you can redistribute it and/or modify it under the terms of14 * the GNU General Public License as published by15 * the Free Software Foundation; either version 2, or (at your option)16 * any later version.17 *18+ * This SCTP implementation is distributed in the hope that it19 * will be useful, but WITHOUT ANY WARRANTY; without even the implied20 * ************************21 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.···1525 const struct sctp_association *asoc,1526 __be32 serial)1527{1528+ struct sctp_chunk *ack;15291530 /* Walk through the list of cached ASCONF-ACKs and find the1531 * ack chunk whose serial number matches that of the request.···1533 list_for_each_entry(ack, &asoc->asconf_ack_list, transmitted_list) {1534 if (ack->subh.addip_hdr->serial == serial) {1535 sctp_chunk_hold(ack);1536+ return ack;1537 }1538 }15391540+ return NULL;1541}
+4-4
net/sctp/auth.c
···1-/* SCTP kernel reference Implementation2 * (C) Copyright 2007 Hewlett-Packard Development Company, L.P.3 *4- * This file is part of the SCTP kernel reference Implementation5 *6- * The SCTP reference implementation is free software;7 * you can redistribute it and/or modify it under the terms of8 * the GNU General Public License as published by9 * the Free Software Foundation; either version 2, or (at your option)10 * any later version.11 *12- * The SCTP reference implementation is distributed in the hope that it13 * will be useful, but WITHOUT ANY WARRANTY; without even the implied14 * ************************15 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
···1+/* SCTP kernel implementation2 * (C) Copyright 2007 Hewlett-Packard Development Company, L.P.3 *4+ * This file is part of the SCTP kernel implementation5 *6+ * This SCTP implementation is free software;7 * you can redistribute it and/or modify it under the terms of8 * the GNU General Public License as published by9 * the Free Software Foundation; either version 2, or (at your option)10 * any later version.11 *12+ * This SCTP implementation is distributed in the hope that it13 * will be useful, but WITHOUT ANY WARRANTY; without even the implied14 * ************************15 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+4-4
net/sctp/bind_addr.c
···1-/* SCTP kernel reference Implementation2 * (C) Copyright IBM Corp. 2001, 20033 * Copyright (c) Cisco 1999,20004 * Copyright (c) Motorola 1999,2000,20015 * Copyright (c) La Monte H.P. Yarroll 20016 *7- * This file is part of the SCTP kernel reference implementation.8 *9 * A collection class to handle the storage of transport addresses.10 *11- * The SCTP reference implementation is free software;12 * you can redistribute it and/or modify it under the terms of13 * the GNU General Public License as published by14 * the Free Software Foundation; either version 2, or (at your option)15 * any later version.16 *17- * The SCTP reference implementation is distributed in the hope that it18 * will be useful, but WITHOUT ANY WARRANTY; without even the implied19 * ************************20 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
···1+/* SCTP kernel implementation2 * (C) Copyright IBM Corp. 2001, 20033 * Copyright (c) Cisco 1999,20004 * Copyright (c) Motorola 1999,2000,20015 * Copyright (c) La Monte H.P. Yarroll 20016 *7+ * This file is part of the SCTP kernel implementation.8 *9 * A collection class to handle the storage of transport addresses.10 *11+ * This SCTP implementation is free software;12 * you can redistribute it and/or modify it under the terms of13 * the GNU General Public License as published by14 * the Free Software Foundation; either version 2, or (at your option)15 * any later version.16 *17+ * This SCTP implementation is distributed in the hope that it18 * will be useful, but WITHOUT ANY WARRANTY; without even the implied19 * ************************20 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+4-4
net/sctp/chunk.c
···1-/* SCTP kernel reference Implementation2 * (C) Copyright IBM Corp. 2003, 20043 *4- * This file is part of the SCTP kernel reference Implementation5 *6 * This file contains the code relating the chunk abstraction.7 *8- * The SCTP reference implementation is free software;9 * you can redistribute it and/or modify it under the terms of10 * the GNU General Public License as published by11 * the Free Software Foundation; either version 2, or (at your option)12 * any later version.13 *14- * The SCTP reference implementation is distributed in the hope that it15 * will be useful, but WITHOUT ANY WARRANTY; without even the implied16 * ************************17 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
···1+/* SCTP kernel implementation2 * (C) Copyright IBM Corp. 2003, 20043 *4+ * This file is part of the SCTP kernel implementation5 *6 * This file contains the code relating the chunk abstraction.7 *8+ * This SCTP implementation is free software;9 * you can redistribute it and/or modify it under the terms of10 * the GNU General Public License as published by11 * the Free Software Foundation; either version 2, or (at your option)12 * any later version.13 *14+ * This SCTP implementation is distributed in the hope that it15 * will be useful, but WITHOUT ANY WARRANTY; without even the implied16 * ************************17 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+4-4
net/sctp/command.c
···1-/* SCTP kernel reference Implementation Copyright (C) 1999-20012 * Cisco, Motorola, and IBM3 * Copyright 2001 La Monte H.P. Yarroll4 *5- * This file is part of the SCTP kernel reference Implementation6 *7 * These functions manipulate sctp command sequences.8 *9- * The SCTP reference implementation is free software;10 * you can redistribute it and/or modify it under the terms of11 * the GNU General Public License as published by12 * the Free Software Foundation; either version 2, or (at your option)13 * any later version.14 *15- * The SCTP reference implementation is distributed in the hope that it16 * will be useful, but WITHOUT ANY WARRANTY; without even the implied17 * ************************18 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
···1+/* SCTP kernel implementation Copyright (C) 1999-20012 * Cisco, Motorola, and IBM3 * Copyright 2001 La Monte H.P. Yarroll4 *5+ * This file is part of the SCTP kernel implementation6 *7 * These functions manipulate sctp command sequences.8 *9+ * This SCTP implementation is free software;10 * you can redistribute it and/or modify it under the terms of11 * the GNU General Public License as published by12 * the Free Software Foundation; either version 2, or (at your option)13 * any later version.14 *15+ * This SCTP implementation is distributed in the hope that it16 * will be useful, but WITHOUT ANY WARRANTY; without even the implied17 * ************************18 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+4-8
net/sctp/debug.c
···1-/* SCTP kernel reference Implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.5 * Copyright (c) 2001 Intel Corp.6 *7- * This file is part of the SCTP kernel reference Implementation8- *9- * This file is part of the implementation of the add-IP extension,10- * based on <draft-ietf-tsvwg-addip-sctp-02.txt> June 29, 2001,11- * for the SCTP kernel reference Implementation.12 *13 * This file converts numerical ID value to alphabetical names for SCTP14 * terms such as chunk type, parameter time, event type, etc.15 *16- * The SCTP reference implementation is free software;17 * you can redistribute it and/or modify it under the terms of18 * the GNU General Public License as published by19 * the Free Software Foundation; either version 2, or (at your option)20 * any later version.21 *22- * The SCTP reference implementation is distributed in the hope that it23 * will be useful, but WITHOUT ANY WARRANTY; without even the implied24 * ************************25 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
···1+/* SCTP kernel implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.5 * Copyright (c) 2001 Intel Corp.6 *7+ * This file is part of the SCTP kernel implementation00008 *9 * This file converts numerical ID value to alphabetical names for SCTP10 * terms such as chunk type, parameter time, event type, etc.11 *12+ * This SCTP implementation is free software;13 * you can redistribute it and/or modify it under the terms of14 * the GNU General Public License as published by15 * the Free Software Foundation; either version 2, or (at your option)16 * any later version.17 *18+ * This SCTP implementation is distributed in the hope that it19 * will be useful, but WITHOUT ANY WARRANTY; without even the implied20 * ************************21 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+4-8
net/sctp/endpointola.c
···1-/* SCTP kernel reference Implementation2 * Copyright (c) 1999-2000 Cisco, Inc.3 * Copyright (c) 1999-2001 Motorola, Inc.4 * Copyright (c) 2001-2002 International Business Machines, Corp.···6 * Copyright (c) 2001 Nokia, Inc.7 * Copyright (c) 2001 La Monte H.P. Yarroll8 *9- * This file is part of the SCTP kernel reference Implementation10 *11 * This abstraction represents an SCTP endpoint.12 *13- * This file is part of the implementation of the add-IP extension,14- * based on <draft-ietf-tsvwg-addip-sctp-02.txt> June 29, 2001,15- * for the SCTP kernel reference Implementation.16- *17- * The SCTP reference implementation is free software;18 * you can redistribute it and/or modify it under the terms of19 * the GNU General Public License as published by20 * the Free Software Foundation; either version 2, or (at your option)21 * any later version.22 *23- * The SCTP reference implementation is distributed in the hope that it24 * will be useful, but WITHOUT ANY WARRANTY; without even the implied25 * ************************26 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
···1+/* SCTP kernel implementation2 * Copyright (c) 1999-2000 Cisco, Inc.3 * Copyright (c) 1999-2001 Motorola, Inc.4 * Copyright (c) 2001-2002 International Business Machines, Corp.···6 * Copyright (c) 2001 Nokia, Inc.7 * Copyright (c) 2001 La Monte H.P. Yarroll8 *9+ * This file is part of the SCTP kernel implementation10 *11 * This abstraction represents an SCTP endpoint.12 *13+ * The SCTP implementation is free software;000014 * you can redistribute it and/or modify it under the terms of15 * the GNU General Public License as published by16 * the Free Software Foundation; either version 2, or (at your option)17 * any later version.18 *19+ * The SCTP implementation is distributed in the hope that it20 * will be useful, but WITHOUT ANY WARRANTY; without even the implied21 * ************************22 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+4-4
net/sctp/input.c
···1-/* SCTP kernel reference Implementation2 * Copyright (c) 1999-2000 Cisco, Inc.3 * Copyright (c) 1999-2001 Motorola, Inc.4 * Copyright (c) 2001-2003 International Business Machines, Corp.···6 * Copyright (c) 2001 Nokia, Inc.7 * Copyright (c) 2001 La Monte H.P. Yarroll8 *9- * This file is part of the SCTP kernel reference Implementation10 *11 * These functions handle all input from the IP layer into SCTP.12 *13- * The SCTP reference implementation is free software;14 * you can redistribute it and/or modify it under the terms of15 * the GNU General Public License as published by16 * the Free Software Foundation; either version 2, or (at your option)17 * any later version.18 *19- * The SCTP reference implementation is distributed in the hope that it20 * will be useful, but WITHOUT ANY WARRANTY; without even the implied21 * ************************22 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
···1+/* SCTP kernel implementation2 * Copyright (c) 1999-2000 Cisco, Inc.3 * Copyright (c) 1999-2001 Motorola, Inc.4 * Copyright (c) 2001-2003 International Business Machines, Corp.···6 * Copyright (c) 2001 Nokia, Inc.7 * Copyright (c) 2001 La Monte H.P. Yarroll8 *9+ * This file is part of the SCTP kernel implementation10 *11 * These functions handle all input from the IP layer into SCTP.12 *13+ * This SCTP implementation is free software;14 * you can redistribute it and/or modify it under the terms of15 * the GNU General Public License as published by16 * the Free Software Foundation; either version 2, or (at your option)17 * any later version.18 *19+ * This SCTP implementation is distributed in the hope that it20 * will be useful, but WITHOUT ANY WARRANTY; without even the implied21 * ************************22 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+4-4
net/sctp/inqueue.c
···1-/* SCTP kernel reference Implementation2 * Copyright (c) 1999-2000 Cisco, Inc.3 * Copyright (c) 1999-2001 Motorola, Inc.4 * Copyright (c) 2002 International Business Machines, Corp.5 *6- * This file is part of the SCTP kernel reference Implementation7 *8 * These functions are the methods for accessing the SCTP inqueue.9 *···11 * (which might be bundles or fragments of chunks) and out of which you12 * pop SCTP whole chunks.13 *14- * The SCTP reference implementation is free software;15 * you can redistribute it and/or modify it under the terms of16 * the GNU General Public License as published by17 * the Free Software Foundation; either version 2, or (at your option)18 * any later version.19 *20- * The SCTP reference implementation is distributed in the hope that it21 * will be useful, but WITHOUT ANY WARRANTY; without even the implied22 * ************************23 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
···1+/* SCTP kernel implementation2 * Copyright (c) 1999-2000 Cisco, Inc.3 * Copyright (c) 1999-2001 Motorola, Inc.4 * Copyright (c) 2002 International Business Machines, Corp.5 *6+ * This file is part of the SCTP kernel implementation7 *8 * These functions are the methods for accessing the SCTP inqueue.9 *···11 * (which might be bundles or fragments of chunks) and out of which you12 * pop SCTP whole chunks.13 *14+ * This SCTP implementation is free software;15 * you can redistribute it and/or modify it under the terms of16 * the GNU General Public License as published by17 * the Free Software Foundation; either version 2, or (at your option)18 * any later version.19 *20+ * This SCTP implementation is distributed in the hope that it21 * will be useful, but WITHOUT ANY WARRANTY; without even the implied22 * ************************23 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+4-4
net/sctp/ipv6.c
···1-/* SCTP kernel reference Implementation2 * (C) Copyright IBM Corp. 2002, 20043 * Copyright (c) 2001 Nokia, Inc.4 * Copyright (c) 2001 La Monte H.P. Yarroll5 * Copyright (c) 2002-2003 Intel Corp.6 *7- * This file is part of the SCTP kernel reference Implementation8 *9 * SCTP over IPv6.10 *11- * The SCTP reference implementation is free software;12 * you can redistribute it and/or modify it under the terms of13 * the GNU General Public License as published by14 * the Free Software Foundation; either version 2, or (at your option)15 * any later version.16 *17- * The SCTP reference implementation is distributed in the hope that it18 * will be useful, but WITHOUT ANY WARRANTY; without even the implied19 * ************************20 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
···1+/* SCTP kernel implementation2 * (C) Copyright IBM Corp. 2002, 20043 * Copyright (c) 2001 Nokia, Inc.4 * Copyright (c) 2001 La Monte H.P. Yarroll5 * Copyright (c) 2002-2003 Intel Corp.6 *7+ * This file is part of the SCTP kernel implementation8 *9 * SCTP over IPv6.10 *11+ * This SCTP implementation is free software;12 * you can redistribute it and/or modify it under the terms of13 * the GNU General Public License as published by14 * the Free Software Foundation; either version 2, or (at your option)15 * any later version.16 *17+ * This SCTP implementation is distributed in the hope that it18 * will be useful, but WITHOUT ANY WARRANTY; without even the implied19 * ************************20 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+4-4
net/sctp/objcnt.c
···1-/* SCTP kernel reference Implementation2 * (C) Copyright IBM Corp. 2001, 20043 *4- * This file is part of the SCTP kernel reference Implementation5 *6 * Support for memory object debugging. This allows one to monitor the7 * object allocations/deallocations for types instrumented for this8 * via the proc fs.9 *10- * The SCTP reference implementation is free software;11 * you can redistribute it and/or modify it under the terms of12 * the GNU General Public License as published by13 * the Free Software Foundation; either version 2, or (at your option)14 * any later version.15 *16- * The SCTP reference implementation is distributed in the hope that it17 * will be useful, but WITHOUT ANY WARRANTY; without even the implied18 * ************************19 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
···1+/* SCTP kernel implementation2 * (C) Copyright IBM Corp. 2001, 20043 *4+ * This file is part of the SCTP kernel implementation5 *6 * Support for memory object debugging. This allows one to monitor the7 * object allocations/deallocations for types instrumented for this8 * via the proc fs.9 *10+ * This SCTP implementation is free software;11 * you can redistribute it and/or modify it under the terms of12 * the GNU General Public License as published by13 * the Free Software Foundation; either version 2, or (at your option)14 * any later version.15 *16+ * This SCTP implementation is distributed in the hope that it17 * will be useful, but WITHOUT ANY WARRANTY; without even the implied18 * ************************19 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+4-4
net/sctp/output.c
···1-/* SCTP kernel reference Implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.5 *6- * This file is part of the SCTP kernel reference Implementation7 *8 * These functions handle output processing.9 *10- * The SCTP reference implementation is free software;11 * you can redistribute it and/or modify it under the terms of12 * the GNU General Public License as published by13 * the Free Software Foundation; either version 2, or (at your option)14 * any later version.15 *16- * The SCTP reference implementation is distributed in the hope that it17 * will be useful, but WITHOUT ANY WARRANTY; without even the implied18 * ************************19 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
···1+/* SCTP kernel implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.5 *6+ * This file is part of the SCTP kernel implementation7 *8 * These functions handle output processing.9 *10+ * This SCTP implementation is free software;11 * you can redistribute it and/or modify it under the terms of12 * the GNU General Public License as published by13 * the Free Software Foundation; either version 2, or (at your option)14 * any later version.15 *16+ * This SCTP implementation is distributed in the hope that it17 * will be useful, but WITHOUT ANY WARRANTY; without even the implied18 * ************************19 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+7-5
net/sctp/outqueue.c
···1-/* SCTP kernel reference Implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.5 * Copyright (c) 2001-2003 Intel Corp.6 *7- * This file is part of the SCTP kernel reference Implementation8 *9 * These functions implement the sctp_outq class. The outqueue handles10 * bundling and queueing of outgoing SCTP chunks.11 *12- * The SCTP reference implementation is free software;13 * you can redistribute it and/or modify it under the terms of14 * the GNU General Public License as published by15 * the Free Software Foundation; either version 2, or (at your option)16 * any later version.17 *18- * The SCTP reference implementation is distributed in the hope that it19 * will be useful, but WITHOUT ANY WARRANTY; without even the implied20 * ************************21 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.···1179 tchunk = list_entry(lchunk, struct sctp_chunk,1180 transmitted_list);1181 tsn = ntohl(tchunk->subh.data_hdr->tsn);1182- if (TSN_lte(tsn, ctsn))01183 sctp_chunk_free(tchunk);01184 }11851186 /* ii) Set rwnd equal to the newly received a_rwnd minus the
···1+/* SCTP kernel implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.5 * Copyright (c) 2001-2003 Intel Corp.6 *7+ * This file is part of the SCTP kernel implementation8 *9 * These functions implement the sctp_outq class. The outqueue handles10 * bundling and queueing of outgoing SCTP chunks.11 *12+ * This SCTP implementation is free software;13 * you can redistribute it and/or modify it under the terms of14 * the GNU General Public License as published by15 * the Free Software Foundation; either version 2, or (at your option)16 * any later version.17 *18+ * This SCTP implementation is distributed in the hope that it19 * will be useful, but WITHOUT ANY WARRANTY; without even the implied20 * ************************21 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.···1179 tchunk = list_entry(lchunk, struct sctp_chunk,1180 transmitted_list);1181 tsn = ntohl(tchunk->subh.data_hdr->tsn);1182+ if (TSN_lte(tsn, ctsn)) {1183+ list_del_init(&tchunk->transmitted_list);1184 sctp_chunk_free(tchunk);1185+ }1186 }11871188 /* ii) Set rwnd equal to the newly received a_rwnd minus the
+4-4
net/sctp/primitive.c
···1-/* SCTP kernel reference Implementation2 * Copyright (c) 1999-2000 Cisco, Inc.3 * Copyright (c) 1999-2001 Motorola, Inc.4 *5- * This file is part of the SCTP kernel reference Implementation6 *7 * These functions implement the SCTP primitive functions from Section 10.8 *···10 * functions--this file is the functions which populate the struct proto11 * for SCTP which is the BOTTOM of the sockets interface.12 *13- * The SCTP reference implementation is free software;14 * you can redistribute it and/or modify it under the terms of15 * the GNU General Public License as published by16 * the Free Software Foundation; either version 2, or (at your option)17 * any later version.18 *19- * The SCTP reference implementation is distributed in the hope that it20 * will be useful, but WITHOUT ANY WARRANTY; without even the implied21 * ************************22 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
···1+/* SCTP kernel implementation2 * Copyright (c) 1999-2000 Cisco, Inc.3 * Copyright (c) 1999-2001 Motorola, Inc.4 *5+ * This file is part of the SCTP kernel implementation6 *7 * These functions implement the SCTP primitive functions from Section 10.8 *···10 * functions--this file is the functions which populate the struct proto11 * for SCTP which is the BOTTOM of the sockets interface.12 *13+ * This SCTP implementation is free software;14 * you can redistribute it and/or modify it under the terms of15 * the GNU General Public License as published by16 * the Free Software Foundation; either version 2, or (at your option)17 * any later version.18 *19+ * This SCTP implementation is distributed in the hope that it20 * will be useful, but WITHOUT ANY WARRANTY; without even the implied21 * ************************22 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+4-4
net/sctp/proc.c
···1-/* SCTP kernel reference Implementation2 * Copyright (c) 2003 International Business Machines, Corp.3 *4- * This file is part of the SCTP kernel reference Implementation5 *6- * The SCTP reference implementation is free software;7 * you can redistribute it and/or modify it under the terms of8 * the GNU General Public License as published by9 * the Free Software Foundation; either version 2, or (at your option)10 * any later version.11 *12- * The SCTP reference implementation is distributed in the hope that it13 * will be useful, but WITHOUT ANY WARRANTY; without even the implied14 * ************************15 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
···1+/* SCTP kernel implementation2 * Copyright (c) 2003 International Business Machines, Corp.3 *4+ * This file is part of the SCTP kernel implementation5 *6+ * This SCTP implementation is free software;7 * you can redistribute it and/or modify it under the terms of8 * the GNU General Public License as published by9 * the Free Software Foundation; either version 2, or (at your option)10 * any later version.11 *12+ * This SCTP implementation is distributed in the hope that it13 * will be useful, but WITHOUT ANY WARRANTY; without even the implied14 * ************************15 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+4-4
net/sctp/protocol.c
···1-/* SCTP kernel reference Implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.···6 * Copyright (c) 2001 Nokia, Inc.7 * Copyright (c) 2001 La Monte H.P. Yarroll8 *9- * This file is part of the SCTP kernel reference Implementation10 *11 * Initialization/cleanup for SCTP protocol support.12 *13- * The SCTP reference implementation is free software;14 * you can redistribute it and/or modify it under the terms of15 * the GNU General Public License as published by16 * the Free Software Foundation; either version 2, or (at your option)17 * any later version.18 *19- * The SCTP reference implementation is distributed in the hope that it20 * will be useful, but WITHOUT ANY WARRANTY; without even the implied21 * ************************22 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
···1+/* SCTP kernel implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.···6 * Copyright (c) 2001 Nokia, Inc.7 * Copyright (c) 2001 La Monte H.P. Yarroll8 *9+ * This file is part of the SCTP kernel implementation10 *11 * Initialization/cleanup for SCTP protocol support.12 *13+ * This SCTP implementation is free software;14 * you can redistribute it and/or modify it under the terms of15 * the GNU General Public License as published by16 * the Free Software Foundation; either version 2, or (at your option)17 * any later version.18 *19+ * This SCTP implementation is distributed in the hope that it20 * will be useful, but WITHOUT ANY WARRANTY; without even the implied21 * ************************22 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+5-4
net/sctp/sm_make_chunk.c
···1-/* SCTP kernel reference Implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.5 * Copyright (c) 2001-2002 Intel Corp.6 *7- * This file is part of the SCTP kernel reference Implementation8 *9 * These functions work with the state functions in sctp_sm_statefuns.c10 * to implement the state operations. These functions implement the11 * steps which require modifying existing data structures.12 *13- * The SCTP reference implementation is free software;14 * you can redistribute it and/or modify it under the terms of15 * the GNU General Public License as published by16 * the Free Software Foundation; either version 2, or (at your option)17 * any later version.18 *19- * The SCTP reference implementation is distributed in the hope that it20 * will be useful, but WITHOUT ANY WARRANTY; without even the implied21 * ************************22 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.···3224 }32253226 /* Free the cached last sent asconf chunk. */03227 sctp_chunk_free(asconf);3228 asoc->addip_last_asconf = NULL;3229
···1+/* SCTP kernel implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.5 * Copyright (c) 2001-2002 Intel Corp.6 *7+ * This file is part of the SCTP kernel implementation8 *9 * These functions work with the state functions in sctp_sm_statefuns.c10 * to implement the state operations. These functions implement the11 * steps which require modifying existing data structures.12 *13+ * This SCTP implementation is free software;14 * you can redistribute it and/or modify it under the terms of15 * the GNU General Public License as published by16 * the Free Software Foundation; either version 2, or (at your option)17 * any later version.18 *19+ * This SCTP implementation is distributed in the hope that it20 * will be useful, but WITHOUT ANY WARRANTY; without even the implied21 * ************************22 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.···3224 }32253226 /* Free the cached last sent asconf chunk. */3227+ list_del_init(&asconf->transmitted_list);3228 sctp_chunk_free(asconf);3229 asoc->addip_last_asconf = NULL;3230
+4-4
net/sctp/sm_sideeffect.c
···1-/* SCTP kernel reference Implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.5 *6- * This file is part of the SCTP kernel reference Implementation7 *8 * These functions work with the state functions in sctp_sm_statefuns.c9 * to implement that state operations. These functions implement the10 * steps which require modifying existing data structures.11 *12- * The SCTP reference implementation is free software;13 * you can redistribute it and/or modify it under the terms of14 * the GNU General Public License as published by15 * the Free Software Foundation; either version 2, or (at your option)16 * any later version.17 *18- * The SCTP reference implementation is distributed in the hope that it19 * will be useful, but WITHOUT ANY WARRANTY; without even the implied20 * ************************21 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
···1+/* SCTP kernel implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.5 *6+ * This file is part of the SCTP kernel implementation7 *8 * These functions work with the state functions in sctp_sm_statefuns.c9 * to implement that state operations. These functions implement the10 * steps which require modifying existing data structures.11 *12+ * This SCTP implementation is free software;13 * you can redistribute it and/or modify it under the terms of14 * the GNU General Public License as published by15 * the Free Software Foundation; either version 2, or (at your option)16 * any later version.17 *18+ * This SCTP implementation is distributed in the hope that it19 * will be useful, but WITHOUT ANY WARRANTY; without even the implied20 * ************************21 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+4-6
net/sctp/sm_statefuns.c
···1-/* SCTP kernel reference Implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.5 * Copyright (c) 2001-2002 Intel Corp.6 * Copyright (c) 2002 Nokia Corp.7 *8- * This file is part of the SCTP kernel reference Implementation9- *10- * This is part of the SCTP Linux Kernel Reference Implementation.11 *12 * These are the state functions for the state machine.13 *14- * The SCTP reference implementation is free software;15 * you can redistribute it and/or modify it under the terms of16 * the GNU General Public License as published by17 * the Free Software Foundation; either version 2, or (at your option)18 * any later version.19 *20- * The SCTP reference implementation is distributed in the hope that it21 * will be useful, but WITHOUT ANY WARRANTY; without even the implied22 * ************************23 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
···1+/* SCTP kernel implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.5 * Copyright (c) 2001-2002 Intel Corp.6 * Copyright (c) 2002 Nokia Corp.7 *8+ * This is part of the SCTP Linux Kernel Implementation.009 *10 * These are the state functions for the state machine.11 *12+ * This SCTP implementation is free software;13 * you can redistribute it and/or modify it under the terms of14 * the GNU General Public License as published by15 * the Free Software Foundation; either version 2, or (at your option)16 * any later version.17 *18+ * This SCTP implementation is distributed in the hope that it19 * will be useful, but WITHOUT ANY WARRANTY; without even the implied20 * ************************21 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+4-4
net/sctp/sm_statetable.c
···1-/* SCTP kernel reference Implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.5 * Copyright (c) 2001 Intel Corp.6 * Copyright (c) 2001 Nokia, Inc.7 *8- * This file is part of the SCTP kernel reference Implementation9 *10 * These are the state tables for the SCTP state machine.11 *12- * The SCTP reference implementation is free software;13 * you can redistribute it and/or modify it under the terms of14 * the GNU General Public License as published by15 * the Free Software Foundation; either version 2, or (at your option)16 * any later version.17 *18- * The SCTP reference implementation is distributed in the hope that it19 * will be useful, but WITHOUT ANY WARRANTY; without even the implied20 * ************************21 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
···1+/* SCTP kernel implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.5 * Copyright (c) 2001 Intel Corp.6 * Copyright (c) 2001 Nokia, Inc.7 *8+ * This file is part of the SCTP kernel implementation9 *10 * These are the state tables for the SCTP state machine.11 *12+ * This SCTP implementation is free software;13 * you can redistribute it and/or modify it under the terms of14 * the GNU General Public License as published by15 * the Free Software Foundation; either version 2, or (at your option)16 * any later version.17 *18+ * This SCTP implementation is distributed in the hope that it19 * will be useful, but WITHOUT ANY WARRANTY; without even the implied20 * ************************21 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+12-5
net/sctp/socket.c
···1-/* SCTP kernel reference Implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.···6 * Copyright (c) 2001-2002 Nokia, Inc.7 * Copyright (c) 2001 La Monte H.P. Yarroll8 *9- * This file is part of the SCTP kernel reference Implementation10 *11 * These functions interface with the sockets layer to implement the12 * SCTP Extensions for the Sockets API.···15 * functions--this file is the functions which populate the struct proto16 * for SCTP which is the BOTTOM of the sockets interface.17 *18- * The SCTP reference implementation is free software;19 * you can redistribute it and/or modify it under the terms of20 * the GNU General Public License as published by21 * the Free Software Foundation; either version 2, or (at your option)22 * any later version.23 *24- * The SCTP reference implementation is distributed in the hope that it25 * will be useful, but WITHOUT ANY WARRANTY; without even the implied26 * ************************27 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.···1911 * rwnd by that amount. If all the data in the skb is read,1912 * rwnd is updated when the event is freed.1913 */1914- sctp_assoc_rwnd_increase(event->asoc, copied);01915 goto out;1916 } else if ((event->msg_flags & MSG_NOTIFICATION) ||1917 (event->msg_flags & MSG_EOR))···4315 (AF_INET6 == addr->a.sa.sa_family))4316 continue;4317 memcpy(&temp, &addr->a, sizeof(temp));0004318 sctp_get_pf_specific(sk->sk_family)->addr_v4map(sctp_sk(sk),4319 &temp);4320 addrlen = sctp_get_af_specific(temp.sa.sa_family)->sockaddr_len;···4350 (AF_INET6 == addr->a.sa.sa_family))4351 continue;4352 memcpy(&temp, &addr->a, sizeof(temp));0004353 sctp_get_pf_specific(sk->sk_family)->addr_v4map(sctp_sk(sk),4354 &temp);4355 addrlen = sctp_get_af_specific(temp.sa.sa_family)->sockaddr_len;
···1+/* SCTP kernel implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.···6 * Copyright (c) 2001-2002 Nokia, Inc.7 * Copyright (c) 2001 La Monte H.P. Yarroll8 *9+ * This file is part of the SCTP kernel implementation10 *11 * These functions interface with the sockets layer to implement the12 * SCTP Extensions for the Sockets API.···15 * functions--this file is the functions which populate the struct proto16 * for SCTP which is the BOTTOM of the sockets interface.17 *18+ * This SCTP implementation is free software;19 * you can redistribute it and/or modify it under the terms of20 * the GNU General Public License as published by21 * the Free Software Foundation; either version 2, or (at your option)22 * any later version.23 *24+ * This SCTP implementation is distributed in the hope that it25 * will be useful, but WITHOUT ANY WARRANTY; without even the implied26 * ************************27 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.···1911 * rwnd by that amount. If all the data in the skb is read,1912 * rwnd is updated when the event is freed.1913 */1914+ if (!sctp_ulpevent_is_notification(event))1915+ sctp_assoc_rwnd_increase(event->asoc, copied);1916 goto out;1917 } else if ((event->msg_flags & MSG_NOTIFICATION) ||1918 (event->msg_flags & MSG_EOR))···4314 (AF_INET6 == addr->a.sa.sa_family))4315 continue;4316 memcpy(&temp, &addr->a, sizeof(temp));4317+ if (!temp.v4.sin_port)4318+ temp.v4.sin_port = htons(port);4319+4320 sctp_get_pf_specific(sk->sk_family)->addr_v4map(sctp_sk(sk),4321 &temp);4322 addrlen = sctp_get_af_specific(temp.sa.sa_family)->sockaddr_len;···4346 (AF_INET6 == addr->a.sa.sa_family))4347 continue;4348 memcpy(&temp, &addr->a, sizeof(temp));4349+ if (!temp.v4.sin_port)4350+ temp.v4.sin_port = htons(port);4351+4352 sctp_get_pf_specific(sk->sk_family)->addr_v4map(sctp_sk(sk),4353 &temp);4354 addrlen = sctp_get_af_specific(temp.sa.sa_family)->sockaddr_len;
+4-4
net/sctp/ssnmap.c
···1-/* SCTP kernel reference Implementation2 * Copyright (c) 2003 International Business Machines, Corp.3 *4- * This file is part of the SCTP kernel reference Implementation5 *6 * These functions manipulate sctp SSN tracker.7 *8- * The SCTP reference implementation is free software;9 * you can redistribute it and/or modify it under the terms of10 * the GNU General Public License as published by11 * the Free Software Foundation; either version 2, or (at your option)12 * any later version.13 *14- * The SCTP reference implementation is distributed in the hope that it15 * will be useful, but WITHOUT ANY WARRANTY; without even the implied16 * ************************17 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
···1+/* SCTP kernel implementation2 * Copyright (c) 2003 International Business Machines, Corp.3 *4+ * This file is part of the SCTP kernel implementation5 *6 * These functions manipulate sctp SSN tracker.7 *8+ * This SCTP implementation is free software;9 * you can redistribute it and/or modify it under the terms of10 * the GNU General Public License as published by11 * the Free Software Foundation; either version 2, or (at your option)12 * any later version.13 *14+ * This SCTP implementation is distributed in the hope that it15 * will be useful, but WITHOUT ANY WARRANTY; without even the implied16 * ************************17 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+4-4
net/sctp/sysctl.c
···1-/* SCTP kernel reference Implementation2 * (C) Copyright IBM Corp. 2002, 20043 * Copyright (c) 2002 Intel Corp.4 *5- * This file is part of the SCTP kernel reference Implementation6 *7 * Sysctl related interfaces for SCTP.8 *9- * The SCTP reference implementation is free software;10 * you can redistribute it and/or modify it under the terms of11 * the GNU General Public License as published by12 * the Free Software Foundation; either version 2, or (at your option)13 * any later version.14 *15- * The SCTP reference implementation is distributed in the hope that it16 * will be useful, but WITHOUT ANY WARRANTY; without even the implied17 * ************************18 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
···1+/* SCTP kernel implementation2 * (C) Copyright IBM Corp. 2002, 20043 * Copyright (c) 2002 Intel Corp.4 *5+ * This file is part of the SCTP kernel implementation6 *7 * Sysctl related interfaces for SCTP.8 *9+ * This SCTP implementation is free software;10 * you can redistribute it and/or modify it under the terms of11 * the GNU General Public License as published by12 * the Free Software Foundation; either version 2, or (at your option)13 * any later version.14 *15+ * This SCTP implementation is distributed in the hope that it16 * will be useful, but WITHOUT ANY WARRANTY; without even the implied17 * ************************18 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+4-4
net/sctp/transport.c
···1-/* SCTP kernel reference Implementation2 * Copyright (c) 1999-2000 Cisco, Inc.3 * Copyright (c) 1999-2001 Motorola, Inc.4 * Copyright (c) 2001-2003 International Business Machines Corp.5 * Copyright (c) 2001 Intel Corp.6 * Copyright (c) 2001 La Monte H.P. Yarroll7 *8- * This file is part of the SCTP kernel reference Implementation9 *10 * This module provides the abstraction for an SCTP tranport representing11 * a remote transport address. For local transport addresses, we just use12 * union sctp_addr.13 *14- * The SCTP reference implementation is free software;15 * you can redistribute it and/or modify it under the terms of16 * the GNU General Public License as published by17 * the Free Software Foundation; either version 2, or (at your option)18 * any later version.19 *20- * The SCTP reference implementation is distributed in the hope that it21 * will be useful, but WITHOUT ANY WARRANTY; without even the implied22 * ************************23 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
···1+/* SCTP kernel implementation2 * Copyright (c) 1999-2000 Cisco, Inc.3 * Copyright (c) 1999-2001 Motorola, Inc.4 * Copyright (c) 2001-2003 International Business Machines Corp.5 * Copyright (c) 2001 Intel Corp.6 * Copyright (c) 2001 La Monte H.P. Yarroll7 *8+ * This file is part of the SCTP kernel implementation9 *10 * This module provides the abstraction for an SCTP tranport representing11 * a remote transport address. For local transport addresses, we just use12 * union sctp_addr.13 *14+ * This SCTP implementation is free software;15 * you can redistribute it and/or modify it under the terms of16 * the GNU General Public License as published by17 * the Free Software Foundation; either version 2, or (at your option)18 * any later version.19 *20+ * This SCTP implementation is distributed in the hope that it21 * will be useful, but WITHOUT ANY WARRANTY; without even the implied22 * ************************23 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+4-4
net/sctp/tsnmap.c
···1-/* SCTP kernel reference Implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.5 * Copyright (c) 2001 Intel Corp.6 *7- * This file is part of the SCTP kernel reference Implementation8 *9 * These functions manipulate sctp tsn mapping array.10 *11- * The SCTP reference implementation is free software;12 * you can redistribute it and/or modify it under the terms of13 * the GNU General Public License as published by14 * the Free Software Foundation; either version 2, or (at your option)15 * any later version.16 *17- * The SCTP reference implementation is distributed in the hope that it18 * will be useful, but WITHOUT ANY WARRANTY; without even the implied19 * ************************20 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
···1+/* SCTP kernel implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.5 * Copyright (c) 2001 Intel Corp.6 *7+ * This file is part of the SCTP kernel implementation8 *9 * These functions manipulate sctp tsn mapping array.10 *11+ * This SCTP implementation is free software;12 * you can redistribute it and/or modify it under the terms of13 * the GNU General Public License as published by14 * the Free Software Foundation; either version 2, or (at your option)15 * any later version.16 *17+ * This SCTP implementation is distributed in the hope that it18 * will be useful, but WITHOUT ANY WARRANTY; without even the implied19 * ************************20 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+4-3
net/sctp/ulpevent.c
···1-/* SCTP kernel reference Implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.···8 *9 * These functions manipulate an sctp event. The struct ulpevent is used10 * to carry notifications and data to the ULP (sockets).11- * The SCTP reference implementation is free software;012 * you can redistribute it and/or modify it under the terms of13 * the GNU General Public License as published by14 * the Free Software Foundation; either version 2, or (at your option)15 * any later version.16 *17- * The SCTP reference implementation is distributed in the hope that it18 * will be useful, but WITHOUT ANY WARRANTY; without even the implied19 * ************************20 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
···1+/* SCTP kernel implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.···8 *9 * These functions manipulate an sctp event. The struct ulpevent is used10 * to carry notifications and data to the ULP (sockets).11+ *12+ * This SCTP implementation is free software;13 * you can redistribute it and/or modify it under the terms of14 * the GNU General Public License as published by15 * the Free Software Foundation; either version 2, or (at your option)16 * any later version.17 *18+ * This SCTP implementation is distributed in the hope that it19 * will be useful, but WITHOUT ANY WARRANTY; without even the implied20 * ************************21 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+30-13
net/sctp/ulpqueue.c
···1-/* SCTP kernel reference Implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.···8 *9 * This abstraction carries sctp events to the ULP (sockets).10 *11- * The SCTP reference implementation is free software;12 * you can redistribute it and/or modify it under the terms of13 * the GNU General Public License as published by14 * the Free Software Foundation; either version 2, or (at your option)15 * any later version.16 *17- * The SCTP reference implementation is distributed in the hope that it18 * will be useful, but WITHOUT ANY WARRANTY; without even the implied19 * ************************20 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.···283/* 2nd Level Abstractions */284285/* Helper function to store chunks that need to be reassembled. */286-static inline void sctp_ulpq_store_reasm(struct sctp_ulpq *ulpq,287 struct sctp_ulpevent *event)288{289 struct sk_buff *pos;···405/* Helper function to check if an incoming chunk has filled up the last406 * missing fragment in a SCTP datagram and return the corresponding event.407 */408-static inline struct sctp_ulpevent *sctp_ulpq_retrieve_reassembled(struct sctp_ulpq *ulpq)409{410 struct sk_buff *pos;411 struct sctp_ulpevent *cevent;···512}513514/* Retrieve the next set of fragments of a partial message. */515-static inline struct sctp_ulpevent *sctp_ulpq_retrieve_partial(struct sctp_ulpq *ulpq)516{517 struct sk_buff *pos, *last_frag, *first_frag;518 struct sctp_ulpevent *cevent;···606}607608/* Retrieve the first part (sequential fragments) for partial delivery. */609-static inline struct sctp_ulpevent *sctp_ulpq_retrieve_first(struct sctp_ulpq *ulpq)610{611 struct sk_buff *pos, *last_frag, *first_frag;612 struct sctp_ulpevent *cevent;···735/* Helper function to gather skbs that have possibly become736 * ordered by an an incoming chunk.737 */738-static inline void sctp_ulpq_retrieve_ordered(struct sctp_ulpq *ulpq,739 struct sctp_ulpevent *event)740{741 struct sk_buff_head *event_list;···779}780781/* Helper function to store chunks needing ordering. */782-static inline void sctp_ulpq_store_ordered(struct sctp_ulpq *ulpq,783 struct sctp_ulpevent *event)784{785 struct sk_buff *pos;···867/* Helper function to gather skbs that have possibly become868 * ordered by forward tsn skipping their dependencies.869 */870-static inline void sctp_ulpq_reap_ordered(struct sctp_ulpq *ulpq, __u16 sid)871{872 struct sk_buff *pos, *tmp;873 struct sctp_ulpevent *cevent;874 struct sctp_ulpevent *event;875 struct sctp_stream *in;876 struct sk_buff_head temp;0877 __u16 csid, cssn;878879 in = &ulpq->asoc->ssnmap->in;···882 /* We are holding the chunks by stream, by SSN. */883 skb_queue_head_init(&temp);884 event = NULL;885- sctp_skb_for_each(pos, &ulpq->lobby, tmp) {886 cevent = (struct sctp_ulpevent *) pos->cb;887 csid = cevent->stream;888 cssn = cevent->ssn;···896 continue;897898 /* see if this ssn has been marked by skipping */899- if (!SSN_lte(cssn, sctp_ssn_peek(in, csid)))900 break;901902- __skb_unlink(pos, &ulpq->lobby);903 if (!event)904 /* Create a temporary list to collect chunks on. */905 event = sctp_skb2event(pos);906907 /* Attach all gathered skbs to the event. */908 __skb_queue_tail(&temp, pos);0000000000000000909 }910911 /* Send event to the ULP. 'event' is the sctp_ulpevent for
···1+/* SCTP kernel implementation2 * (C) Copyright IBM Corp. 2001, 20043 * Copyright (c) 1999-2000 Cisco, Inc.4 * Copyright (c) 1999-2001 Motorola, Inc.···8 *9 * This abstraction carries sctp events to the ULP (sockets).10 *11+ * This SCTP implementation is free software;12 * you can redistribute it and/or modify it under the terms of13 * the GNU General Public License as published by14 * the Free Software Foundation; either version 2, or (at your option)15 * any later version.16 *17+ * This SCTP implementation is distributed in the hope that it18 * will be useful, but WITHOUT ANY WARRANTY; without even the implied19 * ************************20 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.···283/* 2nd Level Abstractions */284285/* Helper function to store chunks that need to be reassembled. */286+static void sctp_ulpq_store_reasm(struct sctp_ulpq *ulpq,287 struct sctp_ulpevent *event)288{289 struct sk_buff *pos;···405/* Helper function to check if an incoming chunk has filled up the last406 * missing fragment in a SCTP datagram and return the corresponding event.407 */408+static struct sctp_ulpevent *sctp_ulpq_retrieve_reassembled(struct sctp_ulpq *ulpq)409{410 struct sk_buff *pos;411 struct sctp_ulpevent *cevent;···512}513514/* Retrieve the next set of fragments of a partial message. */515+static struct sctp_ulpevent *sctp_ulpq_retrieve_partial(struct sctp_ulpq *ulpq)516{517 struct sk_buff *pos, *last_frag, *first_frag;518 struct sctp_ulpevent *cevent;···606}607608/* Retrieve the first part (sequential fragments) for partial delivery. */609+static struct sctp_ulpevent *sctp_ulpq_retrieve_first(struct sctp_ulpq *ulpq)610{611 struct sk_buff *pos, *last_frag, *first_frag;612 struct sctp_ulpevent *cevent;···735/* Helper function to gather skbs that have possibly become736 * ordered by an an incoming chunk.737 */738+static void sctp_ulpq_retrieve_ordered(struct sctp_ulpq *ulpq,739 struct sctp_ulpevent *event)740{741 struct sk_buff_head *event_list;···779}780781/* Helper function to store chunks needing ordering. */782+static void sctp_ulpq_store_ordered(struct sctp_ulpq *ulpq,783 struct sctp_ulpevent *event)784{785 struct sk_buff *pos;···867/* Helper function to gather skbs that have possibly become868 * ordered by forward tsn skipping their dependencies.869 */870+static void sctp_ulpq_reap_ordered(struct sctp_ulpq *ulpq, __u16 sid)871{872 struct sk_buff *pos, *tmp;873 struct sctp_ulpevent *cevent;874 struct sctp_ulpevent *event;875 struct sctp_stream *in;876 struct sk_buff_head temp;877+ struct sk_buff_head *lobby = &ulpq->lobby;878 __u16 csid, cssn;879880 in = &ulpq->asoc->ssnmap->in;···881 /* We are holding the chunks by stream, by SSN. */882 skb_queue_head_init(&temp);883 event = NULL;884+ sctp_skb_for_each(pos, lobby, tmp) {885 cevent = (struct sctp_ulpevent *) pos->cb;886 csid = cevent->stream;887 cssn = cevent->ssn;···895 continue;896897 /* see if this ssn has been marked by skipping */898+ if (!SSN_lt(cssn, sctp_ssn_peek(in, csid)))899 break;900901+ __skb_unlink(pos, lobby);902 if (!event)903 /* Create a temporary list to collect chunks on. */904 event = sctp_skb2event(pos);905906 /* Attach all gathered skbs to the event. */907 __skb_queue_tail(&temp, pos);908+ }909+910+ /* If we didn't reap any data, see if the next expected SSN911+ * is next on the queue and if so, use that.912+ */913+ if (event == NULL && pos != (struct sk_buff *)lobby) {914+ cevent = (struct sctp_ulpevent *) pos->cb;915+ csid = cevent->stream;916+ cssn = cevent->ssn;917+918+ if (csid == sid && cssn == sctp_ssn_peek(in, csid)) {919+ sctp_ssn_next(in, csid);920+ __skb_unlink(pos, lobby);921+ __skb_queue_tail(&temp, pos);922+ event = sctp_skb2event(pos);923+ }924 }925926 /* Send event to the ULP. 'event' is the sctp_ulpevent for