Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
ab1ecbab
cloud-kernel
项目概览
openanolis
/
cloud-kernel
大约 1 年 前同步成功
通知
152
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
ab1ecbab
编写于
2月 09, 2008
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'pending' of master.kernel.org:/pub/scm/linux/kernel/git/vxy/lksctp-dev
上级
b1d0e4f5
5f9646c3
变更
38
隐藏空白更改
内联
并排
Showing
38 changed file
with
190 addition
and
172 deletion
+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
未找到文件。
include/linux/sctp.h
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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,8 +1179,10 @@ 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
...
...
net/sctp/primitive.c
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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,7 +1911,8 @@ 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.
*/
sctp_assoc_rwnd_increase
(
event
->
asoc
,
copied
);
if
(
!
sctp_ulpevent_is_notification
(
event
))
sctp_assoc_rwnd_increase
(
event
->
asoc
,
copied
);
goto
out
;
}
else
if
((
event
->
msg_flags
&
MSG_NOTIFICATION
)
||
(
event
->
msg_flags
&
MSG_EOR
))
...
...
@@ -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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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.
*/
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录