Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
56be1788
Commit
56be1788
authored
Dec 30, 2011
by
David S. Miller
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'tipc-Dec29-2011' of
git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux
parents
7f8e3234
f19765f4
Changes
18
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
248 additions
and
237 deletions
+248
-237
net/tipc/bcast.c
net/tipc/bcast.c
+23
-23
net/tipc/bcast.h
net/tipc/bcast.h
+5
-5
net/tipc/bearer.c
net/tipc/bearer.c
+22
-20
net/tipc/bearer.h
net/tipc/bearer.h
+12
-11
net/tipc/discover.c
net/tipc/discover.c
+10
-10
net/tipc/discover.h
net/tipc/discover.h
+4
-4
net/tipc/eth_media.c
net/tipc/eth_media.c
+2
-2
net/tipc/link.c
net/tipc/link.c
+80
-75
net/tipc/link.h
net/tipc/link.h
+27
-25
net/tipc/name_distr.c
net/tipc/name_distr.c
+1
-1
net/tipc/name_table.c
net/tipc/name_table.c
+8
-7
net/tipc/name_table.h
net/tipc/name_table.h
+5
-5
net/tipc/node.c
net/tipc/node.c
+9
-9
net/tipc/node.h
net/tipc/node.h
+6
-6
net/tipc/port.c
net/tipc/port.c
+4
-4
net/tipc/port.h
net/tipc/port.h
+2
-2
net/tipc/subscr.c
net/tipc/subscr.c
+23
-23
net/tipc/subscr.h
net/tipc/subscr.h
+5
-5
No files found.
net/tipc/bcast.c
View file @
56be1788
...
@@ -46,7 +46,7 @@
...
@@ -46,7 +46,7 @@
#define BCLINK_WIN_DEFAULT 20
/* bcast link window size (default) */
#define BCLINK_WIN_DEFAULT 20
/* bcast link window size (default) */
/**
/**
* struct bcbearer_pair - a pair of bearers used by broadcast link
* struct
tipc_
bcbearer_pair - a pair of bearers used by broadcast link
* @primary: pointer to primary bearer
* @primary: pointer to primary bearer
* @secondary: pointer to secondary bearer
* @secondary: pointer to secondary bearer
*
*
...
@@ -54,13 +54,13 @@
...
@@ -54,13 +54,13 @@
* to be paired.
* to be paired.
*/
*/
struct
bcbearer_pair
{
struct
tipc_
bcbearer_pair
{
struct
tipc_bearer
*
primary
;
struct
tipc_bearer
*
primary
;
struct
tipc_bearer
*
secondary
;
struct
tipc_bearer
*
secondary
;
};
};
/**
/**
* struct bcbearer - bearer used by broadcast link
* struct
tipc_
bcbearer - bearer used by broadcast link
* @bearer: (non-standard) broadcast bearer structure
* @bearer: (non-standard) broadcast bearer structure
* @media: (non-standard) broadcast media structure
* @media: (non-standard) broadcast media structure
* @bpairs: array of bearer pairs
* @bpairs: array of bearer pairs
...
@@ -74,17 +74,17 @@ struct bcbearer_pair {
...
@@ -74,17 +74,17 @@ struct bcbearer_pair {
* prevented through use of the spinlock "bc_lock".
* prevented through use of the spinlock "bc_lock".
*/
*/
struct
bcbearer
{
struct
tipc_
bcbearer
{
struct
tipc_bearer
bearer
;
struct
tipc_bearer
bearer
;
struct
media
media
;
struct
tipc_
media
media
;
struct
bcbearer_pair
bpairs
[
MAX_BEARERS
];
struct
tipc_
bcbearer_pair
bpairs
[
MAX_BEARERS
];
struct
bcbearer_pair
bpairs_temp
[
TIPC_MAX_LINK_PRI
+
1
];
struct
tipc_
bcbearer_pair
bpairs_temp
[
TIPC_MAX_LINK_PRI
+
1
];
struct
tipc_node_map
remains
;
struct
tipc_node_map
remains
;
struct
tipc_node_map
remains_new
;
struct
tipc_node_map
remains_new
;
};
};
/**
/**
* struct bclink - link used for broadcast messages
* struct
tipc_
bclink - link used for broadcast messages
* @link: (non-standard) broadcast link structure
* @link: (non-standard) broadcast link structure
* @node: (non-standard) node structure representing b'cast link's peer node
* @node: (non-standard) node structure representing b'cast link's peer node
* @bcast_nodes: map of broadcast-capable nodes
* @bcast_nodes: map of broadcast-capable nodes
...
@@ -93,19 +93,19 @@ struct bcbearer {
...
@@ -93,19 +93,19 @@ struct bcbearer {
* Handles sequence numbering, fragmentation, bundling, etc.
* Handles sequence numbering, fragmentation, bundling, etc.
*/
*/
struct
bclink
{
struct
tipc_
bclink
{
struct
link
link
;
struct
tipc_
link
link
;
struct
tipc_node
node
;
struct
tipc_node
node
;
struct
tipc_node_map
bcast_nodes
;
struct
tipc_node_map
bcast_nodes
;
struct
tipc_node
*
retransmit_to
;
struct
tipc_node
*
retransmit_to
;
};
};
static
struct
bcbearer
bcast_bearer
;
static
struct
tipc_
bcbearer
bcast_bearer
;
static
struct
bclink
bcast_link
;
static
struct
tipc_
bclink
bcast_link
;
static
struct
bcbearer
*
bcbearer
=
&
bcast_bearer
;
static
struct
tipc_
bcbearer
*
bcbearer
=
&
bcast_bearer
;
static
struct
bclink
*
bclink
=
&
bcast_link
;
static
struct
tipc_
bclink
*
bclink
=
&
bcast_link
;
static
struct
link
*
bcl
=
&
bcast_link
.
link
;
static
struct
tipc_
link
*
bcl
=
&
bcast_link
.
link
;
static
DEFINE_SPINLOCK
(
bc_lock
);
static
DEFINE_SPINLOCK
(
bc_lock
);
...
@@ -308,7 +308,7 @@ void tipc_bclink_acknowledge(struct tipc_node *n_ptr, u32 acked)
...
@@ -308,7 +308,7 @@ void tipc_bclink_acknowledge(struct tipc_node *n_ptr, u32 acked)
static
void
bclink_send_ack
(
struct
tipc_node
*
n_ptr
)
static
void
bclink_send_ack
(
struct
tipc_node
*
n_ptr
)
{
{
struct
link
*
l_ptr
=
n_ptr
->
active_links
[
n_ptr
->
addr
&
1
];
struct
tipc_
link
*
l_ptr
=
n_ptr
->
active_links
[
n_ptr
->
addr
&
1
];
if
(
l_ptr
!=
NULL
)
if
(
l_ptr
!=
NULL
)
tipc_link_send_proto_msg
(
l_ptr
,
STATE_MSG
,
0
,
0
,
0
,
0
,
0
);
tipc_link_send_proto_msg
(
l_ptr
,
STATE_MSG
,
0
,
0
,
0
,
0
,
0
);
...
@@ -677,8 +677,8 @@ static int tipc_bcbearer_send(struct sk_buff *buf,
...
@@ -677,8 +677,8 @@ static int tipc_bcbearer_send(struct sk_buff *buf,
void
tipc_bcbearer_sort
(
void
)
void
tipc_bcbearer_sort
(
void
)
{
{
struct
bcbearer_pair
*
bp_temp
=
bcbearer
->
bpairs_temp
;
struct
tipc_
bcbearer_pair
*
bp_temp
=
bcbearer
->
bpairs_temp
;
struct
bcbearer_pair
*
bp_curr
;
struct
tipc_
bcbearer_pair
*
bp_curr
;
int
b_index
;
int
b_index
;
int
pri
;
int
pri
;
...
@@ -893,9 +893,9 @@ static void tipc_nmap_diff(struct tipc_node_map *nm_a,
...
@@ -893,9 +893,9 @@ static void tipc_nmap_diff(struct tipc_node_map *nm_a,
* tipc_port_list_add - add a port to a port list, ensuring no duplicates
* tipc_port_list_add - add a port to a port list, ensuring no duplicates
*/
*/
void
tipc_port_list_add
(
struct
port_list
*
pl_ptr
,
u32
port
)
void
tipc_port_list_add
(
struct
tipc_
port_list
*
pl_ptr
,
u32
port
)
{
{
struct
port_list
*
item
=
pl_ptr
;
struct
tipc_
port_list
*
item
=
pl_ptr
;
int
i
;
int
i
;
int
item_sz
=
PLSIZE
;
int
item_sz
=
PLSIZE
;
int
cnt
=
pl_ptr
->
count
;
int
cnt
=
pl_ptr
->
count
;
...
@@ -927,10 +927,10 @@ void tipc_port_list_add(struct port_list *pl_ptr, u32 port)
...
@@ -927,10 +927,10 @@ void tipc_port_list_add(struct port_list *pl_ptr, u32 port)
*
*
*/
*/
void
tipc_port_list_free
(
struct
port_list
*
pl_ptr
)
void
tipc_port_list_free
(
struct
tipc_
port_list
*
pl_ptr
)
{
{
struct
port_list
*
item
;
struct
tipc_
port_list
*
item
;
struct
port_list
*
next
;
struct
tipc_
port_list
*
next
;
for
(
item
=
pl_ptr
->
next
;
item
;
item
=
next
)
{
for
(
item
=
pl_ptr
->
next
;
item
;
item
=
next
)
{
next
=
item
->
next
;
next
=
item
->
next
;
...
...
net/tipc/bcast.h
View file @
56be1788
...
@@ -54,15 +54,15 @@ struct tipc_node_map {
...
@@ -54,15 +54,15 @@ struct tipc_node_map {
#define PLSIZE 32
#define PLSIZE 32
/**
/**
* struct port_list - set of node local destination ports
* struct
tipc_
port_list - set of node local destination ports
* @count: # of ports in set (only valid for first entry in list)
* @count: # of ports in set (only valid for first entry in list)
* @next: pointer to next entry in list
* @next: pointer to next entry in list
* @ports: array of port references
* @ports: array of port references
*/
*/
struct
port_list
{
struct
tipc_
port_list
{
int
count
;
int
count
;
struct
port_list
*
next
;
struct
tipc_
port_list
*
next
;
u32
ports
[
PLSIZE
];
u32
ports
[
PLSIZE
];
};
};
...
@@ -83,8 +83,8 @@ static inline int tipc_nmap_equal(struct tipc_node_map *nm_a, struct tipc_node_m
...
@@ -83,8 +83,8 @@ static inline int tipc_nmap_equal(struct tipc_node_map *nm_a, struct tipc_node_m
return
!
memcmp
(
nm_a
,
nm_b
,
sizeof
(
*
nm_a
));
return
!
memcmp
(
nm_a
,
nm_b
,
sizeof
(
*
nm_a
));
}
}
void
tipc_port_list_add
(
struct
port_list
*
pl_ptr
,
u32
port
);
void
tipc_port_list_add
(
struct
tipc_
port_list
*
pl_ptr
,
u32
port
);
void
tipc_port_list_free
(
struct
port_list
*
pl_ptr
);
void
tipc_port_list_free
(
struct
tipc_
port_list
*
pl_ptr
);
void
tipc_bclink_init
(
void
);
void
tipc_bclink_init
(
void
);
void
tipc_bclink_stop
(
void
);
void
tipc_bclink_stop
(
void
);
...
...
net/tipc/bearer.c
View file @
56be1788
...
@@ -41,7 +41,7 @@
...
@@ -41,7 +41,7 @@
#define MAX_ADDR_STR 32
#define MAX_ADDR_STR 32
static
struct
media
*
media_list
[
MAX_MEDIA
];
static
struct
tipc_
media
*
media_list
[
MAX_MEDIA
];
static
u32
media_count
;
static
u32
media_count
;
struct
tipc_bearer
tipc_bearers
[
MAX_BEARERS
];
struct
tipc_bearer
tipc_bearers
[
MAX_BEARERS
];
...
@@ -68,7 +68,7 @@ static int media_name_valid(const char *name)
...
@@ -68,7 +68,7 @@ static int media_name_valid(const char *name)
* tipc_media_find - locates specified media object by name
* tipc_media_find - locates specified media object by name
*/
*/
struct
media
*
tipc_media_find
(
const
char
*
name
)
struct
tipc_
media
*
tipc_media_find
(
const
char
*
name
)
{
{
u32
i
;
u32
i
;
...
@@ -83,7 +83,7 @@ struct media *tipc_media_find(const char *name)
...
@@ -83,7 +83,7 @@ struct media *tipc_media_find(const char *name)
* media_find_id - locates specified media object by type identifier
* media_find_id - locates specified media object by type identifier
*/
*/
static
struct
media
*
media_find_id
(
u8
type
)
static
struct
tipc_
media
*
media_find_id
(
u8
type
)
{
{
u32
i
;
u32
i
;
...
@@ -100,7 +100,7 @@ static struct media *media_find_id(u8 type)
...
@@ -100,7 +100,7 @@ static struct media *media_find_id(u8 type)
* Bearers for this media type must be activated separately at a later stage.
* Bearers for this media type must be activated separately at a later stage.
*/
*/
int
tipc_register_media
(
struct
media
*
m_ptr
)
int
tipc_register_media
(
struct
tipc_
media
*
m_ptr
)
{
{
int
res
=
-
EINVAL
;
int
res
=
-
EINVAL
;
...
@@ -138,7 +138,7 @@ int tipc_register_media(struct media *m_ptr)
...
@@ -138,7 +138,7 @@ int tipc_register_media(struct media *m_ptr)
void
tipc_media_addr_printf
(
struct
print_buf
*
pb
,
struct
tipc_media_addr
*
a
)
void
tipc_media_addr_printf
(
struct
print_buf
*
pb
,
struct
tipc_media_addr
*
a
)
{
{
char
addr_str
[
MAX_ADDR_STR
];
char
addr_str
[
MAX_ADDR_STR
];
struct
media
*
m_ptr
;
struct
tipc_
media
*
m_ptr
;
m_ptr
=
media_find_id
(
a
->
media_id
);
m_ptr
=
media_find_id
(
a
->
media_id
);
...
@@ -185,7 +185,7 @@ struct sk_buff *tipc_media_get_names(void)
...
@@ -185,7 +185,7 @@ struct sk_buff *tipc_media_get_names(void)
*/
*/
static
int
bearer_name_validate
(
const
char
*
name
,
static
int
bearer_name_validate
(
const
char
*
name
,
struct
bearer_name
*
name_parts
)
struct
tipc_bearer_names
*
name_parts
)
{
{
char
name_copy
[
TIPC_MAX_BEARER_NAME
];
char
name_copy
[
TIPC_MAX_BEARER_NAME
];
char
*
media_name
;
char
*
media_name
;
...
@@ -318,7 +318,7 @@ void tipc_bearer_remove_dest(struct tipc_bearer *b_ptr, u32 dest)
...
@@ -318,7 +318,7 @@ void tipc_bearer_remove_dest(struct tipc_bearer *b_ptr, u32 dest)
static
int
bearer_push
(
struct
tipc_bearer
*
b_ptr
)
static
int
bearer_push
(
struct
tipc_bearer
*
b_ptr
)
{
{
u32
res
=
0
;
u32
res
=
0
;
struct
link
*
ln
,
*
tln
;
struct
tipc_
link
*
ln
,
*
tln
;
if
(
b_ptr
->
blocked
)
if
(
b_ptr
->
blocked
)
return
0
;
return
0
;
...
@@ -364,7 +364,8 @@ void tipc_continue(struct tipc_bearer *b_ptr)
...
@@ -364,7 +364,8 @@ void tipc_continue(struct tipc_bearer *b_ptr)
* bearer.lock is busy
* bearer.lock is busy
*/
*/
static
void
tipc_bearer_schedule_unlocked
(
struct
tipc_bearer
*
b_ptr
,
struct
link
*
l_ptr
)
static
void
tipc_bearer_schedule_unlocked
(
struct
tipc_bearer
*
b_ptr
,
struct
tipc_link
*
l_ptr
)
{
{
list_move_tail
(
&
l_ptr
->
link_list
,
&
b_ptr
->
cong_links
);
list_move_tail
(
&
l_ptr
->
link_list
,
&
b_ptr
->
cong_links
);
}
}
...
@@ -377,7 +378,7 @@ static void tipc_bearer_schedule_unlocked(struct tipc_bearer *b_ptr, struct link
...
@@ -377,7 +378,7 @@ static void tipc_bearer_schedule_unlocked(struct tipc_bearer *b_ptr, struct link
* bearer.lock is free
* bearer.lock is free
*/
*/
void
tipc_bearer_schedule
(
struct
tipc_bearer
*
b_ptr
,
struct
link
*
l_ptr
)
void
tipc_bearer_schedule
(
struct
tipc_bearer
*
b_ptr
,
struct
tipc_
link
*
l_ptr
)
{
{
spin_lock_bh
(
&
b_ptr
->
lock
);
spin_lock_bh
(
&
b_ptr
->
lock
);
tipc_bearer_schedule_unlocked
(
b_ptr
,
l_ptr
);
tipc_bearer_schedule_unlocked
(
b_ptr
,
l_ptr
);
...
@@ -390,7 +391,8 @@ void tipc_bearer_schedule(struct tipc_bearer *b_ptr, struct link *l_ptr)
...
@@ -390,7 +391,8 @@ void tipc_bearer_schedule(struct tipc_bearer *b_ptr, struct link *l_ptr)
* and if there is, try to resolve it before returning.
* and if there is, try to resolve it before returning.
* 'tipc_net_lock' is read_locked when this function is called
* 'tipc_net_lock' is read_locked when this function is called
*/
*/
int
tipc_bearer_resolve_congestion
(
struct
tipc_bearer
*
b_ptr
,
struct
link
*
l_ptr
)
int
tipc_bearer_resolve_congestion
(
struct
tipc_bearer
*
b_ptr
,
struct
tipc_link
*
l_ptr
)
{
{
int
res
=
1
;
int
res
=
1
;
...
@@ -409,7 +411,7 @@ int tipc_bearer_resolve_congestion(struct tipc_bearer *b_ptr, struct link *l_ptr
...
@@ -409,7 +411,7 @@ int tipc_bearer_resolve_congestion(struct tipc_bearer *b_ptr, struct link *l_ptr
* tipc_bearer_congested - determines if bearer is currently congested
* tipc_bearer_congested - determines if bearer is currently congested
*/
*/
int
tipc_bearer_congested
(
struct
tipc_bearer
*
b_ptr
,
struct
link
*
l_ptr
)
int
tipc_bearer_congested
(
struct
tipc_bearer
*
b_ptr
,
struct
tipc_
link
*
l_ptr
)
{
{
if
(
unlikely
(
b_ptr
->
blocked
))
if
(
unlikely
(
b_ptr
->
blocked
))
return
1
;
return
1
;
...
@@ -425,8 +427,8 @@ int tipc_bearer_congested(struct tipc_bearer *b_ptr, struct link *l_ptr)
...
@@ -425,8 +427,8 @@ int tipc_bearer_congested(struct tipc_bearer *b_ptr, struct link *l_ptr)
int
tipc_enable_bearer
(
const
char
*
name
,
u32
disc_domain
,
u32
priority
)
int
tipc_enable_bearer
(
const
char
*
name
,
u32
disc_domain
,
u32
priority
)
{
{
struct
tipc_bearer
*
b_ptr
;
struct
tipc_bearer
*
b_ptr
;
struct
media
*
m_ptr
;
struct
tipc_
media
*
m_ptr
;
struct
bearer_name
b_name
;
struct
tipc_bearer_names
b_names
;
char
addr_string
[
16
];
char
addr_string
[
16
];
u32
bearer_id
;
u32
bearer_id
;
u32
with_this_prio
;
u32
with_this_prio
;
...
@@ -438,7 +440,7 @@ int tipc_enable_bearer(const char *name, u32 disc_domain, u32 priority)
...
@@ -438,7 +440,7 @@ int tipc_enable_bearer(const char *name, u32 disc_domain, u32 priority)
name
);
name
);
return
-
ENOPROTOOPT
;
return
-
ENOPROTOOPT
;
}
}
if
(
!
bearer_name_validate
(
name
,
&
b_name
))
{
if
(
!
bearer_name_validate
(
name
,
&
b_name
s
))
{
warn
(
"Bearer <%s> rejected, illegal name
\n
"
,
name
);
warn
(
"Bearer <%s> rejected, illegal name
\n
"
,
name
);
return
-
EINVAL
;
return
-
EINVAL
;
}
}
...
@@ -463,10 +465,10 @@ int tipc_enable_bearer(const char *name, u32 disc_domain, u32 priority)
...
@@ -463,10 +465,10 @@ int tipc_enable_bearer(const char *name, u32 disc_domain, u32 priority)
write_lock_bh
(
&
tipc_net_lock
);
write_lock_bh
(
&
tipc_net_lock
);
m_ptr
=
tipc_media_find
(
b_name
.
media_name
);
m_ptr
=
tipc_media_find
(
b_name
s
.
media_name
);
if
(
!
m_ptr
)
{
if
(
!
m_ptr
)
{
warn
(
"Bearer <%s> rejected, media <%s> not registered
\n
"
,
name
,
warn
(
"Bearer <%s> rejected, media <%s> not registered
\n
"
,
name
,
b_name
.
media_name
);
b_name
s
.
media_name
);
goto
exit
;
goto
exit
;
}
}
...
@@ -544,8 +546,8 @@ int tipc_enable_bearer(const char *name, u32 disc_domain, u32 priority)
...
@@ -544,8 +546,8 @@ int tipc_enable_bearer(const char *name, u32 disc_domain, u32 priority)
int
tipc_block_bearer
(
const
char
*
name
)
int
tipc_block_bearer
(
const
char
*
name
)
{
{
struct
tipc_bearer
*
b_ptr
=
NULL
;
struct
tipc_bearer
*
b_ptr
=
NULL
;
struct
link
*
l_ptr
;
struct
tipc_
link
*
l_ptr
;
struct
link
*
temp_l_ptr
;
struct
tipc_
link
*
temp_l_ptr
;
read_lock_bh
(
&
tipc_net_lock
);
read_lock_bh
(
&
tipc_net_lock
);
b_ptr
=
tipc_bearer_find
(
name
);
b_ptr
=
tipc_bearer_find
(
name
);
...
@@ -579,8 +581,8 @@ int tipc_block_bearer(const char *name)
...
@@ -579,8 +581,8 @@ int tipc_block_bearer(const char *name)
static
void
bearer_disable
(
struct
tipc_bearer
*
b_ptr
)
static
void
bearer_disable
(
struct
tipc_bearer
*
b_ptr
)
{
{
struct
link
*
l_ptr
;
struct
tipc_
link
*
l_ptr
;
struct
link
*
temp_l_ptr
;
struct
tipc_
link
*
temp_l_ptr
;
info
(
"Disabling bearer <%s>
\n
"
,
b_ptr
->
name
);
info
(
"Disabling bearer <%s>
\n
"
,
b_ptr
->
name
);
spin_lock_bh
(
&
b_ptr
->
lock
);
spin_lock_bh
(
&
b_ptr
->
lock
);
...
...
net/tipc/bearer.h
View file @
56be1788
...
@@ -74,7 +74,7 @@ struct tipc_media_addr {
...
@@ -74,7 +74,7 @@ struct tipc_media_addr {
struct
tipc_bearer
;
struct
tipc_bearer
;
/**
/**
* struct media - TIPC media information available to internal users
* struct
tipc_
media - TIPC media information available to internal users
* @send_msg: routine which handles buffer transmission
* @send_msg: routine which handles buffer transmission
* @enable_bearer: routine which enables a bearer
* @enable_bearer: routine which enables a bearer
* @disable_bearer: routine which disables a bearer
* @disable_bearer: routine which disables a bearer
...
@@ -90,7 +90,7 @@ struct tipc_bearer;
...
@@ -90,7 +90,7 @@ struct tipc_bearer;
* @name: media name
* @name: media name
*/
*/
struct
media
{
struct
tipc_
media
{
int
(
*
send_msg
)(
struct
sk_buff
*
buf
,
int
(
*
send_msg
)(
struct
sk_buff
*
buf
,
struct
tipc_bearer
*
b_ptr
,
struct
tipc_bearer
*
b_ptr
,
struct
tipc_media_addr
*
dest
);
struct
tipc_media_addr
*
dest
);
...
@@ -139,12 +139,12 @@ struct tipc_bearer {
...
@@ -139,12 +139,12 @@ struct tipc_bearer {
struct
tipc_media_addr
addr
;
/* initalized by media */
struct
tipc_media_addr
addr
;
/* initalized by media */
char
name
[
TIPC_MAX_BEARER_NAME
];
char
name
[
TIPC_MAX_BEARER_NAME
];
spinlock_t
lock
;
spinlock_t
lock
;
struct
media
*
media
;
struct
tipc_
media
*
media
;
u32
priority
;
u32
priority
;
u32
window
;
u32
window
;
u32
tolerance
;
u32
tolerance
;
u32
identity
;
u32
identity
;
struct
link_req
*
link_req
;
struct
tipc_
link_req
*
link_req
;
struct
list_head
links
;
struct
list_head
links
;
struct
list_head
cong_links
;
struct
list_head
cong_links
;
int
active
;
int
active
;
...
@@ -152,19 +152,19 @@ struct tipc_bearer {
...
@@ -152,19 +152,19 @@ struct tipc_bearer {
struct
tipc_node_map
nodes
;
struct
tipc_node_map
nodes
;
};
};
struct
bearer_name
{
struct
tipc_bearer_names
{
char
media_name
[
TIPC_MAX_MEDIA_NAME
];
char
media_name
[
TIPC_MAX_MEDIA_NAME
];
char
if_name
[
TIPC_MAX_IF_NAME
];
char
if_name
[
TIPC_MAX_IF_NAME
];
};
};
struct
link
;
struct
tipc_
link
;
extern
struct
tipc_bearer
tipc_bearers
[];
extern
struct
tipc_bearer
tipc_bearers
[];
/*
/*
* TIPC routines available to supported media types
* TIPC routines available to supported media types
*/
*/
int
tipc_register_media
(
struct
media
*
m_ptr
);
int
tipc_register_media
(
struct
tipc_
media
*
m_ptr
);
void
tipc_recv_msg
(
struct
sk_buff
*
buf
,
struct
tipc_bearer
*
tb_ptr
);
void
tipc_recv_msg
(
struct
sk_buff
*
buf
,
struct
tipc_bearer
*
tb_ptr
);
...
@@ -188,12 +188,13 @@ struct sk_buff *tipc_media_get_names(void);
...
@@ -188,12 +188,13 @@ struct sk_buff *tipc_media_get_names(void);
struct
sk_buff
*
tipc_bearer_get_names
(
void
);
struct
sk_buff
*
tipc_bearer_get_names
(
void
);
void
tipc_bearer_add_dest
(
struct
tipc_bearer
*
b_ptr
,
u32
dest
);
void
tipc_bearer_add_dest
(
struct
tipc_bearer
*
b_ptr
,
u32
dest
);
void
tipc_bearer_remove_dest
(
struct
tipc_bearer
*
b_ptr
,
u32
dest
);
void
tipc_bearer_remove_dest
(
struct
tipc_bearer
*
b_ptr
,
u32
dest
);
void
tipc_bearer_schedule
(
struct
tipc_bearer
*
b_ptr
,
struct
link
*
l_ptr
);
void
tipc_bearer_schedule
(
struct
tipc_bearer
*
b_ptr
,
struct
tipc_
link
*
l_ptr
);
struct
tipc_bearer
*
tipc_bearer_find
(
const
char
*
name
);
struct
tipc_bearer
*
tipc_bearer_find
(
const
char
*
name
);
struct
tipc_bearer
*
tipc_bearer_find_interface
(
const
char
*
if_name
);
struct
tipc_bearer
*
tipc_bearer_find_interface
(
const
char
*
if_name
);
struct
media
*
tipc_media_find
(
const
char
*
name
);
struct
tipc_media
*
tipc_media_find
(
const
char
*
name
);
int
tipc_bearer_resolve_congestion
(
struct
tipc_bearer
*
b_ptr
,
struct
link
*
l_ptr
);
int
tipc_bearer_resolve_congestion
(
struct
tipc_bearer
*
b_ptr
,
int
tipc_bearer_congested
(
struct
tipc_bearer
*
b_ptr
,
struct
link
*
l_ptr
);
struct
tipc_link
*
l_ptr
);
int
tipc_bearer_congested
(
struct
tipc_bearer
*
b_ptr
,
struct
tipc_link
*
l_ptr
);
void
tipc_bearer_stop
(
void
);
void
tipc_bearer_stop
(
void
);
void
tipc_bearer_lock_push
(
struct
tipc_bearer
*
b_ptr
);
void
tipc_bearer_lock_push
(
struct
tipc_bearer
*
b_ptr
);
...
...
net/tipc/discover.c
View file @
56be1788
...
@@ -45,7 +45,7 @@
...
@@ -45,7 +45,7 @@
/**
/**
* struct link_req - information about an ongoing link setup request
* struct
tipc_
link_req - information about an ongoing link setup request
* @bearer: bearer issuing requests
* @bearer: bearer issuing requests
* @dest: destination address for request messages
* @dest: destination address for request messages
* @domain: network domain to which links can be established
* @domain: network domain to which links can be established
...
@@ -54,7 +54,7 @@
...
@@ -54,7 +54,7 @@
* @timer: timer governing period between requests
* @timer: timer governing period between requests
* @timer_intv: current interval between requests (in ms)
* @timer_intv: current interval between requests (in ms)
*/
*/
struct
link_req
{
struct
tipc_
link_req
{
struct
tipc_bearer
*
bearer
;
struct
tipc_bearer
*
bearer
;
struct
tipc_media_addr
dest
;
struct
tipc_media_addr
dest
;
u32
domain
;
u32
domain
;
...
@@ -120,7 +120,7 @@ static void disc_dupl_alert(struct tipc_bearer *b_ptr, u32 node_addr,
...
@@ -120,7 +120,7 @@ static void disc_dupl_alert(struct tipc_bearer *b_ptr, u32 node_addr,
void
tipc_disc_recv_msg
(
struct
sk_buff
*
buf
,
struct
tipc_bearer
*
b_ptr
)
void
tipc_disc_recv_msg
(
struct
sk_buff
*
buf
,
struct
tipc_bearer
*
b_ptr
)
{
{
struct
tipc_node
*
n_ptr
;
struct
tipc_node
*
n_ptr
;
struct
link
*
link
;
struct
tipc_
link
*
link
;
struct
tipc_media_addr
media_addr
,
*
addr
;
struct
tipc_media_addr
media_addr
,
*
addr
;
struct
sk_buff
*
rbuf
;
struct
sk_buff
*
rbuf
;
struct
tipc_msg
*
msg
=
buf_msg
(
buf
);
struct
tipc_msg
*
msg
=
buf_msg
(
buf
);
...
@@ -218,7 +218,7 @@ void tipc_disc_recv_msg(struct sk_buff *buf, struct tipc_bearer *b_ptr)
...
@@ -218,7 +218,7 @@ void tipc_disc_recv_msg(struct sk_buff *buf, struct tipc_bearer *b_ptr)
* and is either not currently searching or is searching at a slow rate
* and is either not currently searching or is searching at a slow rate
*/
*/
static
void
disc_update
(
struct
link_req
*
req
)
static
void
disc_update
(
struct
tipc_
link_req
*
req
)
{
{
if
(
!
req
->
num_nodes
)
{
if
(
!
req
->
num_nodes
)
{
if
((
req
->
timer_intv
==
TIPC_LINK_REQ_INACTIVE
)
||
if
((
req
->
timer_intv
==
TIPC_LINK_REQ_INACTIVE
)
||
...
@@ -234,7 +234,7 @@ static void disc_update(struct link_req *req)
...
@@ -234,7 +234,7 @@ static void disc_update(struct link_req *req)
* @req: ptr to link request structure
* @req: ptr to link request structure
*/
*/
void
tipc_disc_add_dest
(
struct
link_req
*
req
)
void
tipc_disc_add_dest
(
struct
tipc_
link_req
*
req
)
{
{
req
->
num_nodes
++
;
req
->
num_nodes
++
;
}
}
...
@@ -244,7 +244,7 @@ void tipc_disc_add_dest(struct link_req *req)
...
@@ -244,7 +244,7 @@ void tipc_disc_add_dest(struct link_req *req)
* @req: ptr to link request structure
* @req: ptr to link request structure
*/
*/
void
tipc_disc_remove_dest
(
struct
link_req
*
req
)
void
tipc_disc_remove_dest
(
struct
tipc_
link_req
*
req
)
{
{
req
->
num_nodes
--
;
req
->
num_nodes
--
;
disc_update
(
req
);
disc_update
(
req
);
...
@@ -255,7 +255,7 @@ void tipc_disc_remove_dest(struct link_req *req)
...
@@ -255,7 +255,7 @@ void tipc_disc_remove_dest(struct link_req *req)
* @req: ptr to link request structure
* @req: ptr to link request structure
*/
*/
static
void
disc_send_msg
(
struct
link_req
*
req
)
static
void
disc_send_msg
(
struct
tipc_
link_req
*
req
)
{
{
if
(
!
req
->
bearer
->
blocked
)
if
(
!
req
->
bearer
->
blocked
)
tipc_bearer_send
(
req
->
bearer
,
req
->
buf
,
&
req
->
dest
);
tipc_bearer_send
(
req
->
bearer
,
req
->
buf
,
&
req
->
dest
);
...
@@ -268,7 +268,7 @@ static void disc_send_msg(struct link_req *req)
...
@@ -268,7 +268,7 @@ static void disc_send_msg(struct link_req *req)
* Called whenever a link setup request timer associated with a bearer expires.
* Called whenever a link setup request timer associated with a bearer expires.
*/
*/
static
void
disc_timeout
(
struct
link_req
*
req
)
static
void
disc_timeout
(
struct
tipc_
link_req
*
req
)
{
{
int
max_delay
;
int
max_delay
;
...
@@ -316,7 +316,7 @@ static void disc_timeout(struct link_req *req)
...
@@ -316,7 +316,7 @@ static void disc_timeout(struct link_req *req)
int
tipc_disc_create
(
struct
tipc_bearer
*
b_ptr
,
int
tipc_disc_create
(
struct
tipc_bearer
*
b_ptr
,
struct
tipc_media_addr
*
dest
,
u32
dest_domain
)
struct
tipc_media_addr
*
dest
,
u32
dest_domain
)
{
{
struct
link_req
*
req
;
struct
tipc_
link_req
*
req
;
req
=
kmalloc
(
sizeof
(
*
req
),
GFP_ATOMIC
);
req
=
kmalloc
(
sizeof
(
*
req
),
GFP_ATOMIC
);
if
(
!
req
)
if
(
!
req
)
...
@@ -345,7 +345,7 @@ int tipc_disc_create(struct tipc_bearer *b_ptr,
...
@@ -345,7 +345,7 @@ int tipc_disc_create(struct tipc_bearer *b_ptr,
* @req: ptr to link request structure
* @req: ptr to link request structure
*/
*/
void
tipc_disc_delete
(
struct
link_req
*
req
)
void
tipc_disc_delete
(
struct
tipc_
link_req
*
req
)
{
{
k_cancel_timer
(
&
req
->
timer
);
k_cancel_timer
(
&
req
->
timer
);
k_term_timer
(
&
req
->
timer
);
k_term_timer
(
&
req
->
timer
);
...
...
net/tipc/discover.h
View file @
56be1788
...
@@ -37,13 +37,13 @@
...
@@ -37,13 +37,13 @@
#ifndef _TIPC_DISCOVER_H
#ifndef _TIPC_DISCOVER_H
#define _TIPC_DISCOVER_H
#define _TIPC_DISCOVER_H
struct
link_req
;
struct
tipc_
link_req
;
int
tipc_disc_create
(
struct
tipc_bearer
*
b_ptr
,
struct
tipc_media_addr
*
dest
,
int
tipc_disc_create
(
struct
tipc_bearer
*
b_ptr
,
struct
tipc_media_addr
*
dest
,
u32
dest_domain
);
u32
dest_domain
);
void
tipc_disc_delete
(
struct
link_req
*
req
);
void
tipc_disc_delete
(
struct
tipc_
link_req
*
req
);
void
tipc_disc_add_dest
(
struct
link_req
*
req
);
void
tipc_disc_add_dest
(
struct
tipc_
link_req
*
req
);
void
tipc_disc_remove_dest
(
struct
link_req
*
req
);
void
tipc_disc_remove_dest
(
struct
tipc_
link_req
*
req
);
void
tipc_disc_recv_msg
(
struct
sk_buff
*
buf
,
struct
tipc_bearer
*
b_ptr
);
void
tipc_disc_recv_msg
(
struct
sk_buff
*
buf
,
struct
tipc_bearer
*
b_ptr
);
#endif
#endif
net/tipc/eth_media.c
View file @
56be1788
...
@@ -56,7 +56,7 @@ struct eth_bearer {
...
@@ -56,7 +56,7 @@ struct eth_bearer {
struct
work_struct
cleanup
;
struct
work_struct
cleanup
;
};
};
static
struct
media
eth_media_info
;
static
struct
tipc_
media
eth_media_info
;
static
struct
eth_bearer
eth_bearers
[
MAX_ETH_BEARERS
];
static
struct
eth_bearer
eth_bearers
[
MAX_ETH_BEARERS
];
static
int
eth_started
;
static
int
eth_started
;
static
struct
notifier_block
notifier
;
static
struct
notifier_block
notifier
;
...
@@ -340,7 +340,7 @@ static int eth_msg2addr(struct tipc_media_addr *a, char *msg_area)
...
@@ -340,7 +340,7 @@ static int eth_msg2addr(struct tipc_media_addr *a, char *msg_area)
* Ethernet media registration info
* Ethernet media registration info
*/
*/
static
struct
media
eth_media_info
=
{
static
struct
tipc_
media
eth_media_info
=
{
.
send_msg
=
send_msg
,
.
send_msg
=
send_msg
,
.
enable_bearer
=
enable_bearer
,
.
enable_bearer
=
enable_bearer
,
.
disable_bearer
=
disable_bearer
,
.
disable_bearer
=
disable_bearer
,
...
...
net/tipc/link.c
View file @
56be1788
...
@@ -71,35 +71,36 @@
...
@@ -71,35 +71,36 @@
#define START_CHANGEOVER 100000u
#define START_CHANGEOVER 100000u
/**
/**
* struct link_name - deconstructed link name
* struct
tipc_
link_name - deconstructed link name
* @addr_local: network address of node at this end
* @addr_local: network address of node at this end
* @if_local: name of interface at this end
* @if_local: name of interface at this end
* @addr_peer: network address of node at far end
* @addr_peer: network address of node at far end
* @if_peer: name of interface at far end
* @if_peer: name of interface at far end
*/
*/
struct
link_name
{
struct
tipc_
link_name
{
u32
addr_local
;
u32
addr_local
;
char
if_local
[
TIPC_MAX_IF_NAME
];
char
if_local
[
TIPC_MAX_IF_NAME
];
u32
addr_peer
;
u32
addr_peer
;
char
if_peer
[
TIPC_MAX_IF_NAME
];
char
if_peer
[
TIPC_MAX_IF_NAME
];
};
};
static
void
link_handle_out_of_seq_msg
(
struct
link
*
l_ptr
,
static
void
link_handle_out_of_seq_msg
(
struct
tipc_
link
*
l_ptr
,
struct
sk_buff
*
buf
);
struct
sk_buff
*
buf
);
static
void
link_recv_proto_msg
(
struct
link
*
l_ptr
,
struct
sk_buff
*
buf
);
static
void
link_recv_proto_msg
(
struct
tipc_link
*
l_ptr
,
struct
sk_buff
*
buf
);
static
int
link_recv_changeover_msg
(
struct
link
**
l_ptr
,
struct
sk_buff
**
buf
);
static
int
link_recv_changeover_msg
(
struct
tipc_link
**
l_ptr
,
static
void
link_set_supervision_props
(
struct
link
*
l_ptr
,
u32
tolerance
);
struct
sk_buff
**
buf
);
static
void
link_set_supervision_props
(
struct
tipc_link
*
l_ptr
,
u32
tolerance
);
static
int
link_send_sections_long
(
struct
tipc_port
*
sender
,
static
int
link_send_sections_long
(
struct
tipc_port
*
sender
,
struct
iovec
const
*
msg_sect
,
struct
iovec
const
*
msg_sect
,
u32
num_sect
,
unsigned
int
total_len
,
u32
num_sect
,
unsigned
int
total_len
,
u32
destnode
);
u32
destnode
);
static
void
link_check_defragm_bufs
(
struct
link
*
l_ptr
);
static
void
link_check_defragm_bufs
(
struct
tipc_
link
*
l_ptr
);
static
void
link_state_event
(
struct
link
*
l_ptr
,
u32
event
);
static
void
link_state_event
(
struct
tipc_
link
*
l_ptr
,
u32
event
);
static
void
link_reset_statistics
(
struct
link
*
l_ptr
);
static
void
link_reset_statistics
(
struct
tipc_
link
*
l_ptr
);
static
void
link_print
(
struct
link
*
l_ptr
,
const
char
*
str
);
static
void
link_print
(
struct
tipc_
link
*
l_ptr
,
const
char
*
str
);
static
void
link_start
(
struct
link
*
l_ptr
);
static
void
link_start
(
struct
tipc_
link
*
l_ptr
);
static
int
link_send_long_buf
(
struct
link
*
l_ptr
,
struct
sk_buff
*
buf
);
static
int
link_send_long_buf
(
struct
tipc_
link
*
l_ptr
,
struct
sk_buff
*
buf
);
/*
/*
* Simple link routines
* Simple link routines
...
@@ -110,7 +111,7 @@ static unsigned int align(unsigned int i)
...
@@ -110,7 +111,7 @@ static unsigned int align(unsigned int i)
return
(
i
+
3
)
&
~
3u
;
return
(
i
+
3
)
&
~
3u
;
}
}
static
void
link_init_max_pkt
(
struct
link
*
l_ptr
)
static
void
link_init_max_pkt
(
struct
tipc_
link
*
l_ptr
)
{
{
u32
max_pkt
;
u32
max_pkt
;
...
@@ -127,14 +128,14 @@ static void link_init_max_pkt(struct link *l_ptr)
...
@@ -127,14 +128,14 @@ static void link_init_max_pkt(struct link *l_ptr)
l_ptr
->
max_pkt_probes
=
0
;
l_ptr
->
max_pkt_probes
=
0
;
}
}
static
u32
link_next_sent
(
struct
link
*
l_ptr
)
static
u32
link_next_sent
(
struct
tipc_
link
*
l_ptr
)
{
{
if
(
l_ptr
->
next_out
)
if
(
l_ptr
->
next_out
)
return
buf_seqno
(
l_ptr
->
next_out
);
return
buf_seqno
(
l_ptr
->
next_out
);
return
mod
(
l_ptr
->
next_out_no
);
return
mod
(
l_ptr
->
next_out_no
);
}
}
static
u32
link_last_sent
(
struct
link
*
l_ptr
)
static
u32
link_last_sent
(
struct
tipc_
link
*
l_ptr
)
{
{
return
mod
(
link_next_sent
(
l_ptr
)
-
1
);
return
mod
(
link_next_sent
(
l_ptr
)
-
1
);
}
}
...
@@ -143,28 +144,29 @@ static u32 link_last_sent(struct link *l_ptr)
...
@@ -143,28 +144,29 @@ static u32 link_last_sent(struct link *l_ptr)
* Simple non-static link routines (i.e. referenced outside this file)
* Simple non-static link routines (i.e. referenced outside this file)
*/
*/
int
tipc_link_is_up
(
struct
link
*
l_ptr
)
int
tipc_link_is_up
(
struct
tipc_
link
*
l_ptr
)
{
{
if
(
!
l_ptr
)
if
(
!
l_ptr
)
return
0
;
return
0
;
return
link_working_working
(
l_ptr
)
||
link_working_unknown
(
l_ptr
);
return
link_working_working
(
l_ptr
)
||
link_working_unknown
(
l_ptr
);
}
}
int
tipc_link_is_active
(
struct
link
*
l_ptr
)
int
tipc_link_is_active
(
struct
tipc_
link
*
l_ptr
)
{
{
return
(
l_ptr
->
owner
->
active_links
[
0
]
==
l_ptr
)
||
return
(
l_ptr
->
owner
->
active_links
[
0
]
==
l_ptr
)
||
(
l_ptr
->
owner
->
active_links
[
1
]
==
l_ptr
);
(
l_ptr
->
owner
->
active_links
[
1
]
==
l_ptr
);
}
}
/**
/**
* link_name_validate - validate & (optionally) deconstruct link name
* link_name_validate - validate & (optionally) deconstruct
tipc_
link name
* @name - ptr to link name string
* @name - ptr to link name string
* @name_parts - ptr to area for link name components (or NULL if not needed)
* @name_parts - ptr to area for link name components (or NULL if not needed)
*
*
* Returns 1 if link name is valid, otherwise 0.
* Returns 1 if link name is valid, otherwise 0.
*/
*/
static
int
link_name_validate
(
const
char
*
name
,
struct
link_name
*
name_parts
)
static
int
link_name_validate
(
const
char
*
name
,
struct
tipc_link_name
*
name_parts
)
{
{
char
name_copy
[
TIPC_MAX_LINK_NAME
];
char
name_copy
[
TIPC_MAX_LINK_NAME
];
char
*
addr_local
;
char
*
addr_local
;
...
@@ -238,7 +240,7 @@ static int link_name_validate(const char *name, struct link_name *name_parts)
...
@@ -238,7 +240,7 @@ static int link_name_validate(const char *name, struct link_name *name_parts)
* tipc_node_delete() is called.)
* tipc_node_delete() is called.)
*/
*/
static
void
link_timeout
(
struct
link
*
l_ptr
)
static
void
link_timeout
(
struct
tipc_
link
*
l_ptr
)
{
{
tipc_node_lock
(
l_ptr
->
owner
);
tipc_node_lock
(
l_ptr
->
owner
);
...
@@ -287,7 +289,7 @@ static void link_timeout(struct link *l_ptr)
...
@@ -287,7 +289,7 @@ static void link_timeout(struct link *l_ptr)
tipc_node_unlock
(
l_ptr
->
owner
);
tipc_node_unlock
(
l_ptr
->
owner
);
}
}
static
void
link_set_timer
(
struct
link
*
l_ptr
,
u32
time
)
static
void
link_set_timer
(
struct
tipc_
link
*
l_ptr
,
u32
time
)
{
{
k_start_timer
(
&
l_ptr
->
timer
,
time
);
k_start_timer
(
&
l_ptr
->
timer
,
time
);
}
}
...
@@ -301,11 +303,11 @@ static void link_set_timer(struct link *l_ptr, u32 time)
...
@@ -301,11 +303,11 @@ static void link_set_timer(struct link *l_ptr, u32 time)
* Returns pointer to link.
* Returns pointer to link.
*/
*/
struct
link
*
tipc_link_create
(
struct
tipc_node
*
n_ptr
,
struct
tipc_
link
*
tipc_link_create
(
struct
tipc_node
*
n_ptr
,
struct
tipc_bearer
*
b_ptr
,
struct
tipc_bearer
*
b_ptr
,
const
struct
tipc_media_addr
*
media_addr
)
const
struct
tipc_media_addr
*
media_addr
)
{
{
struct
link
*
l_ptr
;
struct
tipc_
link
*
l_ptr
;
struct
tipc_msg
*
msg
;
struct
tipc_msg
*
msg
;
char
*
if_name
;
char
*
if_name
;
char
addr_string
[
16
];
char
addr_string
[
16
];
...
@@ -382,7 +384,7 @@ struct link *tipc_link_create(struct tipc_node *n_ptr,
...
@@ -382,7 +384,7 @@ struct link *tipc_link_create(struct tipc_node *n_ptr,
* to avoid a potential deadlock situation.
* to avoid a potential deadlock situation.
*/
*/
void
tipc_link_delete
(
struct
link
*
l_ptr
)
void
tipc_link_delete
(
struct
tipc_
link
*
l_ptr
)
{
{
if
(
!
l_ptr
)
{
if
(
!
l_ptr
)
{
err
(
"Attempt to delete non-existent link
\n
"
);
err
(
"Attempt to delete non-existent link
\n
"
);
...
@@ -401,7 +403,7 @@ void tipc_link_delete(struct link *l_ptr)
...
@@ -401,7 +403,7 @@ void tipc_link_delete(struct link *l_ptr)
kfree
(
l_ptr
);
kfree
(
l_ptr
);
}
}
static
void
link_start
(
struct
link
*
l_ptr
)
static
void
link_start
(
struct
tipc_
link
*
l_ptr
)
{
{
tipc_node_lock
(
l_ptr
->
owner
);
tipc_node_lock
(
l_ptr
->
owner
);
link_state_event
(
l_ptr
,
STARTING_EVT
);
link_state_event
(
l_ptr
,
STARTING_EVT
);
...
@@ -418,7 +420,7 @@ static void link_start(struct link *l_ptr)
...
@@ -418,7 +420,7 @@ static void link_start(struct link *l_ptr)
* has abated.
* has abated.
*/
*/
static
int
link_schedule_port
(
struct
link
*
l_ptr
,
u32
origport
,
u32
sz
)
static
int
link_schedule_port
(
struct
tipc_
link
*
l_ptr
,
u32
origport
,
u32
sz
)
{
{
struct
tipc_port
*
p_ptr
;
struct
tipc_port
*
p_ptr
;
...
@@ -440,7 +442,7 @@ static int link_schedule_port(struct link *l_ptr, u32 origport, u32 sz)
...
@@ -440,7 +442,7 @@ static int link_schedule_port(struct link *l_ptr, u32 origport, u32 sz)
return
-
ELINKCONG
;
return
-
ELINKCONG
;
}
}
void
tipc_link_wakeup_ports
(
struct
link
*
l_ptr
,
int
all
)
void
tipc_link_wakeup_ports
(
struct
tipc_
link
*
l_ptr
,
int
all
)
{
{
struct
tipc_port
*
p_ptr
;
struct
tipc_port
*
p_ptr
;
struct
tipc_port
*
temp_p_ptr
;
struct
tipc_port
*
temp_p_ptr
;
...
@@ -475,7 +477,7 @@ void tipc_link_wakeup_ports(struct link *l_ptr, int all)
...
@@ -475,7 +477,7 @@ void tipc_link_wakeup_ports(struct link *l_ptr, int all)
* @l_ptr: pointer to link
* @l_ptr: pointer to link
*/
*/
static
void
link_release_outqueue
(
struct
link
*
l_ptr
)
static
void
link_release_outqueue
(
struct
tipc_
link
*
l_ptr
)
{
{
struct
sk_buff
*
buf
=
l_ptr
->
first_out
;
struct
sk_buff
*
buf
=
l_ptr
->
first_out
;
struct
sk_buff
*
next
;
struct
sk_buff
*
next
;
...
@@ -494,7 +496,7 @@ static void link_release_outqueue(struct link *l_ptr)
...
@@ -494,7 +496,7 @@ static void link_release_outqueue(struct link *l_ptr)
* @l_ptr: pointer to link
* @l_ptr: pointer to link
*/
*/
void
tipc_link_reset_fragments
(
struct
link
*
l_ptr
)
void
tipc_link_reset_fragments
(
struct
tipc_
link
*
l_ptr
)
{
{
struct
sk_buff
*
buf
=
l_ptr
->
defragm_buf
;
struct
sk_buff
*
buf
=
l_ptr
->
defragm_buf
;
struct
sk_buff
*
next
;
struct
sk_buff
*
next
;
...
@@ -512,7 +514,7 @@ void tipc_link_reset_fragments(struct link *l_ptr)
...
@@ -512,7 +514,7 @@ void tipc_link_reset_fragments(struct link *l_ptr)
* @l_ptr: pointer to link
* @l_ptr: pointer to link
*/
*/
void
tipc_link_stop
(
struct
link
*
l_ptr
)
void
tipc_link_stop
(
struct
tipc_
link
*
l_ptr
)
{
{
struct
sk_buff
*
buf
;
struct
sk_buff
*
buf
;
struct
sk_buff
*
next
;
struct
sk_buff
*
next
;
...
@@ -537,7 +539,7 @@ void tipc_link_stop(struct link *l_ptr)
...
@@ -537,7 +539,7 @@ void tipc_link_stop(struct link *l_ptr)
l_ptr
->
proto_msg_queue
=
NULL
;
l_ptr
->
proto_msg_queue
=
NULL
;
}
}
void
tipc_link_reset
(
struct
link
*
l_ptr
)
void
tipc_link_reset
(
struct
tipc_
link
*
l_ptr
)
{
{
struct
sk_buff
*
buf
;
struct
sk_buff
*
buf
;
u32
prev_state
=
l_ptr
->
state
;
u32
prev_state
=
l_ptr
->
state
;
...
@@ -597,7 +599,7 @@ void tipc_link_reset(struct link *l_ptr)
...
@@ -597,7 +599,7 @@ void tipc_link_reset(struct link *l_ptr)
}
}
static
void
link_activate
(
struct
link
*
l_ptr
)
static
void
link_activate
(
struct
tipc_
link
*
l_ptr
)
{
{
l_ptr
->
next_in_no
=
l_ptr
->
stats
.
recv_info
=
1
;
l_ptr
->
next_in_no
=
l_ptr
->
stats
.
recv_info
=
1
;
tipc_node_link_up
(
l_ptr
->
owner
,
l_ptr
);
tipc_node_link_up
(
l_ptr
->
owner
,
l_ptr
);
...
@@ -610,9 +612,9 @@ static void link_activate(struct link *l_ptr)
...
@@ -610,9 +612,9 @@ static void link_activate(struct link *l_ptr)
* @event: state machine event to process
* @event: state machine event to process
*/
*/
static
void
link_state_event
(
struct
link
*
l_ptr
,
unsigned
event
)
static
void
link_state_event
(
struct
tipc_
link
*
l_ptr
,
unsigned
event
)
{
{
struct
link
*
other
;
struct
tipc_
link
*
other
;
u32
cont_intv
=
l_ptr
->
continuity_interval
;
u32
cont_intv
=
l_ptr
->
continuity_interval
;
if
(
!
l_ptr
->
started
&&
(
event
!=
STARTING_EVT
))
if
(
!
l_ptr
->
started
&&
(
event
!=
STARTING_EVT
))
...
@@ -784,7 +786,7 @@ static void link_state_event(struct link *l_ptr, unsigned event)
...
@@ -784,7 +786,7 @@ static void link_state_event(struct link *l_ptr, unsigned event)
* the tail of an existing one.
* the tail of an existing one.
*/
*/
static
int
link_bundle_buf
(
struct
link
*
l_ptr
,
static
int
link_bundle_buf
(
struct
tipc_
link
*
l_ptr
,
struct
sk_buff
*
bundler
,
struct
sk_buff
*
bundler
,
struct
sk_buff
*
buf
)
struct
sk_buff
*
buf
)
{
{
...
@@ -813,7 +815,7 @@ static int link_bundle_buf(struct link *l_ptr,
...
@@ -813,7 +815,7 @@ static int link_bundle_buf(struct link *l_ptr,
return
1
;
return
1
;
}
}
static
void
link_add_to_outqueue
(
struct
link
*
l_ptr
,
static
void
link_add_to_outqueue
(
struct
tipc_
link
*
l_ptr
,
struct
sk_buff
*
buf
,
struct
sk_buff
*
buf
,
struct
tipc_msg
*
msg
)
struct
tipc_msg
*
msg
)
{
{
...
@@ -834,7 +836,7 @@ static void link_add_to_outqueue(struct link *l_ptr,
...
@@ -834,7 +836,7 @@ static void link_add_to_outqueue(struct link *l_ptr,
l_ptr
->
stats
.
max_queue_sz
=
l_ptr
->
out_queue_size
;
l_ptr
->
stats
.
max_queue_sz
=
l_ptr
->
out_queue_size
;
}
}
static
void
link_add_chain_to_outqueue
(
struct
link
*
l_ptr
,
static
void
link_add_chain_to_outqueue
(
struct
tipc_
link
*
l_ptr
,
struct
sk_buff
*
buf_chain
,
struct
sk_buff
*
buf_chain
,
u32
long_msgno
)
u32
long_msgno
)
{
{
...
@@ -859,7 +861,7 @@ static void link_add_chain_to_outqueue(struct link *l_ptr,
...
@@ -859,7 +861,7 @@ static void link_add_chain_to_outqueue(struct link *l_ptr,
* has failed, and from link_send()
* has failed, and from link_send()
*/
*/
int
tipc_link_send_buf
(
struct
link
*
l_ptr
,
struct
sk_buff
*
buf
)
int
tipc_link_send_buf
(
struct
tipc_
link
*
l_ptr
,
struct
sk_buff
*
buf
)
{
{
struct
tipc_msg
*
msg
=
buf_msg
(
buf
);
struct
tipc_msg
*
msg
=
buf_msg
(
buf
);
u32
size
=
msg_size
(
msg
);
u32
size
=
msg_size
(
msg
);
...
@@ -954,7 +956,7 @@ int tipc_link_send_buf(struct link *l_ptr, struct sk_buff *buf)
...
@@ -954,7 +956,7 @@ int tipc_link_send_buf(struct link *l_ptr, struct sk_buff *buf)
int
tipc_link_send
(
struct
sk_buff
*
buf
,
u32
dest
,
u32
selector
)
int
tipc_link_send
(
struct
sk_buff
*
buf
,
u32
dest
,
u32
selector
)
{
{
struct
link
*
l_ptr
;
struct
tipc_
link
*
l_ptr
;
struct
tipc_node
*
n_ptr
;
struct
tipc_node
*
n_ptr
;
int
res
=
-
ELINKCONG
;
int
res
=
-
ELINKCONG
;
...
@@ -988,7 +990,7 @@ int tipc_link_send(struct sk_buff *buf, u32 dest, u32 selector)
...
@@ -988,7 +990,7 @@ int tipc_link_send(struct sk_buff *buf, u32 dest, u32 selector)
void
tipc_link_send_names
(
struct
list_head
*
message_list
,
u32
dest
)
void
tipc_link_send_names
(
struct
list_head
*
message_list
,
u32
dest
)
{
{
struct
tipc_node
*
n_ptr
;
struct
tipc_node
*
n_ptr
;
struct
link
*
l_ptr
;
struct
tipc_
link
*
l_ptr
;
struct
sk_buff
*
buf
;
struct
sk_buff
*
buf
;
struct
sk_buff
*
temp_buf
;
struct
sk_buff
*
temp_buf
;
...
@@ -1027,7 +1029,7 @@ void tipc_link_send_names(struct list_head *message_list, u32 dest)
...
@@ -1027,7 +1029,7 @@ void tipc_link_send_names(struct list_head *message_list, u32 dest)
* Link is locked. Returns user data length.
* Link is locked. Returns user data length.
*/
*/
static
int
link_send_buf_fast
(
struct
link
*
l_ptr
,
struct
sk_buff
*
buf
,
static
int
link_send_buf_fast
(
struct
tipc_
link
*
l_ptr
,
struct
sk_buff
*
buf
,
u32
*
used_max_pkt
)
u32
*
used_max_pkt
)
{
{
struct
tipc_msg
*
msg
=
buf_msg
(
buf
);
struct
tipc_msg
*
msg
=
buf_msg
(
buf
);
...
@@ -1061,7 +1063,7 @@ static int link_send_buf_fast(struct link *l_ptr, struct sk_buff *buf,
...
@@ -1061,7 +1063,7 @@ static int link_send_buf_fast(struct link *l_ptr, struct sk_buff *buf,
*/
*/
int
tipc_send_buf_fast
(
struct
sk_buff
*
buf
,
u32
destnode
)
int
tipc_send_buf_fast
(
struct
sk_buff
*
buf
,
u32
destnode
)
{
{
struct
link
*
l_ptr
;
struct
tipc_
link
*
l_ptr
;
struct
tipc_node
*
n_ptr
;
struct
tipc_node
*
n_ptr
;
int
res
;
int
res
;
u32
selector
=
msg_origport
(
buf_msg
(
buf
))
&
1
;
u32
selector
=
msg_origport
(
buf_msg
(
buf
))
&
1
;
...
@@ -1100,7 +1102,7 @@ int tipc_link_send_sections_fast(struct tipc_port *sender,
...
@@ -1100,7 +1102,7 @@ int tipc_link_send_sections_fast(struct tipc_port *sender,
u32
destaddr
)
u32
destaddr
)
{
{
struct
tipc_msg
*
hdr
=
&
sender
->
phdr
;
struct
tipc_msg
*
hdr
=
&
sender
->
phdr
;
struct
link
*
l_ptr
;
struct
tipc_
link
*
l_ptr
;
struct
sk_buff
*
buf
;
struct
sk_buff
*
buf
;
struct
tipc_node
*
node
;
struct
tipc_node
*
node
;
int
res
;
int
res
;
...
@@ -1195,7 +1197,7 @@ static int link_send_sections_long(struct tipc_port *sender,
...
@@ -1195,7 +1197,7 @@ static int link_send_sections_long(struct tipc_port *sender,
unsigned
int
total_len
,
unsigned
int
total_len
,
u32
destaddr
)
u32
destaddr
)
{
{
struct
link
*
l_ptr
;
struct
tipc_
link
*
l_ptr
;
struct
tipc_node
*
node
;
struct
tipc_node
*
node
;
struct
tipc_msg
*
hdr
=
&
sender
->
phdr
;
struct
tipc_msg
*
hdr
=
&
sender
->
phdr
;
u32
dsz
=
total_len
;
u32
dsz
=
total_len
;
...
@@ -1342,7 +1344,7 @@ static int link_send_sections_long(struct tipc_port *sender,
...
@@ -1342,7 +1344,7 @@ static int link_send_sections_long(struct tipc_port *sender,
/*
/*
* tipc_link_push_packet: Push one unsent packet to the media
* tipc_link_push_packet: Push one unsent packet to the media
*/
*/
u32
tipc_link_push_packet
(
struct
link
*
l_ptr
)
u32
tipc_link_push_packet
(
struct
tipc_
link
*
l_ptr
)
{
{
struct
sk_buff
*
buf
=
l_ptr
->
first_out
;
struct
sk_buff
*
buf
=
l_ptr
->
first_out
;
u32
r_q_size
=
l_ptr
->
retransm_queue_size
;
u32
r_q_size
=
l_ptr
->
retransm_queue_size
;
...
@@ -1426,7 +1428,7 @@ u32 tipc_link_push_packet(struct link *l_ptr)
...
@@ -1426,7 +1428,7 @@ u32 tipc_link_push_packet(struct link *l_ptr)
* push_queue(): push out the unsent messages of a link where
* push_queue(): push out the unsent messages of a link where
* congestion has abated. Node is locked
* congestion has abated. Node is locked
*/
*/
void
tipc_link_push_queue
(
struct
link
*
l_ptr
)
void
tipc_link_push_queue
(
struct
tipc_
link
*
l_ptr
)
{
{
u32
res
;
u32
res
;
...
@@ -1470,7 +1472,8 @@ static void link_reset_all(unsigned long addr)
...
@@ -1470,7 +1472,8 @@ static void link_reset_all(unsigned long addr)
read_unlock_bh
(
&
tipc_net_lock
);
read_unlock_bh
(
&
tipc_net_lock
);
}
}
static
void
link_retransmit_failure
(
struct
link
*
l_ptr
,
struct
sk_buff
*
buf
)
static
void
link_retransmit_failure
(
struct
tipc_link
*
l_ptr
,
struct
sk_buff
*
buf
)
{
{
struct
tipc_msg
*
msg
=
buf_msg
(
buf
);
struct
tipc_msg
*
msg
=
buf_msg
(
buf
);
...
@@ -1514,7 +1517,7 @@ static void link_retransmit_failure(struct link *l_ptr, struct sk_buff *buf)
...
@@ -1514,7 +1517,7 @@ static void link_retransmit_failure(struct link *l_ptr, struct sk_buff *buf)
}
}
}
}
void
tipc_link_retransmit
(
struct
link
*
l_ptr
,
struct
sk_buff
*
buf
,
void
tipc_link_retransmit
(
struct
tipc_
link
*
l_ptr
,
struct
sk_buff
*
buf
,
u32
retransmits
)
u32
retransmits
)
{
{
struct
tipc_msg
*
msg
;
struct
tipc_msg
*
msg
;
...
@@ -1571,7 +1574,7 @@ void tipc_link_retransmit(struct link *l_ptr, struct sk_buff *buf,
...
@@ -1571,7 +1574,7 @@ void tipc_link_retransmit(struct link *l_ptr, struct sk_buff *buf,
* link_insert_deferred_queue - insert deferred messages back into receive chain
* link_insert_deferred_queue - insert deferred messages back into receive chain
*/
*/
static
struct
sk_buff
*
link_insert_deferred_queue
(
struct
link
*
l_ptr
,
static
struct
sk_buff
*
link_insert_deferred_queue
(
struct
tipc_
link
*
l_ptr
,
struct
sk_buff
*
buf
)
struct
sk_buff
*
buf
)
{
{
u32
seq_no
;
u32
seq_no
;
...
@@ -1653,7 +1656,7 @@ void tipc_recv_msg(struct sk_buff *head, struct tipc_bearer *b_ptr)
...
@@ -1653,7 +1656,7 @@ void tipc_recv_msg(struct sk_buff *head, struct tipc_bearer *b_ptr)
read_lock_bh
(
&
tipc_net_lock
);
read_lock_bh
(
&
tipc_net_lock
);
while
(
head
)
{
while
(
head
)
{
struct
tipc_node
*
n_ptr
;
struct
tipc_node
*
n_ptr
;
struct
link
*
l_ptr
;
struct
tipc_
link
*
l_ptr
;
struct
sk_buff
*
crs
;
struct
sk_buff
*
crs
;
struct
sk_buff
*
buf
=
head
;
struct
sk_buff
*
buf
=
head
;
struct
tipc_msg
*
msg
;
struct
tipc_msg
*
msg
;
...
@@ -1906,7 +1909,7 @@ u32 tipc_link_defer_pkt(struct sk_buff **head,
...
@@ -1906,7 +1909,7 @@ u32 tipc_link_defer_pkt(struct sk_buff **head,
* link_handle_out_of_seq_msg - handle arrival of out-of-sequence packet
* link_handle_out_of_seq_msg - handle arrival of out-of-sequence packet
*/
*/
static
void
link_handle_out_of_seq_msg
(
struct
link
*
l_ptr
,
static
void
link_handle_out_of_seq_msg
(
struct
tipc_
link
*
l_ptr
,
struct
sk_buff
*
buf
)
struct
sk_buff
*
buf
)
{
{
u32
seq_no
=
buf_seqno
(
buf
);
u32
seq_no
=
buf_seqno
(
buf
);
...
@@ -1944,8 +1947,9 @@ static void link_handle_out_of_seq_msg(struct link *l_ptr,
...
@@ -1944,8 +1947,9 @@ static void link_handle_out_of_seq_msg(struct link *l_ptr,
/*
/*
* Send protocol message to the other endpoint.
* Send protocol message to the other endpoint.
*/
*/
void
tipc_link_send_proto_msg
(
struct
link
*
l_ptr
,
u32
msg_typ
,
int
probe_msg
,
void
tipc_link_send_proto_msg
(
struct
tipc_link
*
l_ptr
,
u32
msg_typ
,
u32
gap
,
u32
tolerance
,
u32
priority
,
u32
ack_mtu
)
int
probe_msg
,
u32
gap
,
u32
tolerance
,
u32
priority
,
u32
ack_mtu
)
{
{
struct
sk_buff
*
buf
=
NULL
;
struct
sk_buff
*
buf
=
NULL
;
struct
tipc_msg
*
msg
=
l_ptr
->
pmsg
;
struct
tipc_msg
*
msg
=
l_ptr
->
pmsg
;
...
@@ -2062,7 +2066,7 @@ void tipc_link_send_proto_msg(struct link *l_ptr, u32 msg_typ, int probe_msg,
...
@@ -2062,7 +2066,7 @@ void tipc_link_send_proto_msg(struct link *l_ptr, u32 msg_typ, int probe_msg,
* change at any time. The node with lowest address rules
* change at any time. The node with lowest address rules
*/
*/
static
void
link_recv_proto_msg
(
struct
link
*
l_ptr
,
struct
sk_buff
*
buf
)
static
void
link_recv_proto_msg
(
struct
tipc_
link
*
l_ptr
,
struct
sk_buff
*
buf
)
{
{
u32
rec_gap
=
0
;
u32
rec_gap
=
0
;
u32
max_pkt_info
;
u32
max_pkt_info
;
...
@@ -2195,12 +2199,12 @@ static void link_recv_proto_msg(struct link *l_ptr, struct sk_buff *buf)
...
@@ -2195,12 +2199,12 @@ static void link_recv_proto_msg(struct link *l_ptr, struct sk_buff *buf)
* tipc_link_tunnel(): Send one message via a link belonging to
* tipc_link_tunnel(): Send one message via a link belonging to
* another bearer. Owner node is locked.
* another bearer. Owner node is locked.
*/
*/
static
void
tipc_link_tunnel
(
struct
link
*
l_ptr
,
static
void
tipc_link_tunnel
(
struct
tipc_
link
*
l_ptr
,
struct
tipc_msg
*
tunnel_hdr
,
struct
tipc_msg
*
tunnel_hdr
,
struct
tipc_msg
*
msg
,
struct
tipc_msg
*
msg
,
u32
selector
)
u32
selector
)
{
{
struct
link
*
tunnel
;
struct
tipc_
link
*
tunnel
;
struct
sk_buff
*
buf
;
struct
sk_buff
*
buf
;
u32
length
=
msg_size
(
msg
);
u32
length
=
msg_size
(
msg
);
...
@@ -2229,11 +2233,11 @@ static void tipc_link_tunnel(struct link *l_ptr,
...
@@ -2229,11 +2233,11 @@ static void tipc_link_tunnel(struct link *l_ptr,
* Owner node is locked.
* Owner node is locked.
*/
*/
void
tipc_link_changeover
(
struct
link
*
l_ptr
)
void
tipc_link_changeover
(
struct
tipc_
link
*
l_ptr
)
{
{
u32
msgcount
=
l_ptr
->
out_queue_size
;
u32
msgcount
=
l_ptr
->
out_queue_size
;
struct
sk_buff
*
crs
=
l_ptr
->
first_out
;
struct
sk_buff
*
crs
=
l_ptr
->
first_out
;
struct
link
*
tunnel
=
l_ptr
->
owner
->
active_links
[
0
];
struct
tipc_
link
*
tunnel
=
l_ptr
->
owner
->
active_links
[
0
];
struct
tipc_msg
tunnel_hdr
;
struct
tipc_msg
tunnel_hdr
;
int
split_bundles
;
int
split_bundles
;
...
@@ -2292,7 +2296,7 @@ void tipc_link_changeover(struct link *l_ptr)
...
@@ -2292,7 +2296,7 @@ void tipc_link_changeover(struct link *l_ptr)
}
}
}
}
void
tipc_link_send_duplicate
(
struct
link
*
l_ptr
,
struct
link
*
tunnel
)
void
tipc_link_send_duplicate
(
struct
tipc_link
*
l_ptr
,
struct
tipc_
link
*
tunnel
)
{
{
struct
sk_buff
*
iter
;
struct
sk_buff
*
iter
;
struct
tipc_msg
tunnel_hdr
;
struct
tipc_msg
tunnel_hdr
;
...
@@ -2356,11 +2360,11 @@ static struct sk_buff *buf_extract(struct sk_buff *skb, u32 from_pos)
...
@@ -2356,11 +2360,11 @@ static struct sk_buff *buf_extract(struct sk_buff *skb, u32 from_pos)
* via other link. Node is locked. Return extracted buffer.
* via other link. Node is locked. Return extracted buffer.
*/
*/
static
int
link_recv_changeover_msg
(
struct
link
**
l_ptr
,
static
int
link_recv_changeover_msg
(
struct
tipc_
link
**
l_ptr
,
struct
sk_buff
**
buf
)
struct
sk_buff
**
buf
)
{
{
struct
sk_buff
*
tunnel_buf
=
*
buf
;
struct
sk_buff
*
tunnel_buf
=
*
buf
;
struct
link
*
dest_link
;
struct
tipc_
link
*
dest_link
;
struct
tipc_msg
*
msg
;
struct
tipc_msg
*
msg
;
struct
tipc_msg
*
tunnel_msg
=
buf_msg
(
tunnel_buf
);
struct
tipc_msg
*
tunnel_msg
=
buf_msg
(
tunnel_buf
);
u32
msg_typ
=
msg_type
(
tunnel_msg
);
u32
msg_typ
=
msg_type
(
tunnel_msg
);
...
@@ -2460,7 +2464,7 @@ void tipc_link_recv_bundle(struct sk_buff *buf)
...
@@ -2460,7 +2464,7 @@ void tipc_link_recv_bundle(struct sk_buff *buf)
* The buffer is complete, inclusive total message length.
* The buffer is complete, inclusive total message length.
* Returns user data length.
* Returns user data length.
*/
*/
static
int
link_send_long_buf
(
struct
link
*
l_ptr
,
struct
sk_buff
*
buf
)
static
int
link_send_long_buf
(
struct
tipc_
link
*
l_ptr
,
struct
sk_buff
*
buf
)
{
{
struct
sk_buff
*
buf_chain
=
NULL
;
struct
sk_buff
*
buf_chain
=
NULL
;
struct
sk_buff
*
buf_chain_tail
=
(
struct
sk_buff
*
)
&
buf_chain
;
struct
sk_buff
*
buf_chain_tail
=
(
struct
sk_buff
*
)
&
buf_chain
;
...
@@ -2656,7 +2660,7 @@ int tipc_link_recv_fragment(struct sk_buff **pending, struct sk_buff **fb,
...
@@ -2656,7 +2660,7 @@ int tipc_link_recv_fragment(struct sk_buff **pending, struct sk_buff **fb,
* @l_ptr: pointer to link
* @l_ptr: pointer to link
*/
*/
static
void
link_check_defragm_bufs
(
struct
link
*
l_ptr
)
static
void
link_check_defragm_bufs
(
struct
tipc_
link
*
l_ptr
)
{
{
struct
sk_buff
*
prev
=
NULL
;
struct
sk_buff
*
prev
=
NULL
;
struct
sk_buff
*
next
=
NULL
;
struct
sk_buff
*
next
=
NULL
;
...
@@ -2686,7 +2690,7 @@ static void link_check_defragm_bufs(struct link *l_ptr)
...
@@ -2686,7 +2690,7 @@ static void link_check_defragm_bufs(struct link *l_ptr)
static
void
link_set_supervision_props
(
struct
link
*
l_ptr
,
u32
tolerance
)
static
void
link_set_supervision_props
(
struct
tipc_
link
*
l_ptr
,
u32
tolerance
)
{
{
if
((
tolerance
<
TIPC_MIN_LINK_TOL
)
||
(
tolerance
>
TIPC_MAX_LINK_TOL
))
if
((
tolerance
<
TIPC_MIN_LINK_TOL
)
||
(
tolerance
>
TIPC_MAX_LINK_TOL
))
return
;
return
;
...
@@ -2698,7 +2702,7 @@ static void link_set_supervision_props(struct link *l_ptr, u32 tolerance)
...
@@ -2698,7 +2702,7 @@ static void link_set_supervision_props(struct link *l_ptr, u32 tolerance)
}
}
void
tipc_link_set_queue_limits
(
struct
link
*
l_ptr
,
u32
window
)
void
tipc_link_set_queue_limits
(
struct
tipc_
link
*
l_ptr
,
u32
window
)
{
{
/* Data messages from this node, inclusive FIRST_FRAGM */
/* Data messages from this node, inclusive FIRST_FRAGM */
l_ptr
->
queue_limit
[
TIPC_LOW_IMPORTANCE
]
=
window
;
l_ptr
->
queue_limit
[
TIPC_LOW_IMPORTANCE
]
=
window
;
...
@@ -2728,11 +2732,12 @@ void tipc_link_set_queue_limits(struct link *l_ptr, u32 window)
...
@@ -2728,11 +2732,12 @@ void tipc_link_set_queue_limits(struct link *l_ptr, u32 window)
* Returns pointer to link (or 0 if invalid link name).
* Returns pointer to link (or 0 if invalid link name).
*/
*/
static
struct
link
*
link_find_link
(
const
char
*
name
,
struct
tipc_node
**
node
)
static
struct
tipc_link
*
link_find_link
(
const
char
*
name
,
struct
tipc_node
**
node
)
{
{
struct
link_name
link_name_parts
;
struct
tipc_
link_name
link_name_parts
;
struct
tipc_bearer
*
b_ptr
;
struct
tipc_bearer
*
b_ptr
;
struct
link
*
l_ptr
;
struct
tipc_
link
*
l_ptr
;
if
(
!
link_name_validate
(
name
,
&
link_name_parts
))
if
(
!
link_name_validate
(
name
,
&
link_name_parts
))
return
NULL
;
return
NULL
;
...
@@ -2791,9 +2796,9 @@ static int link_value_is_valid(u16 cmd, u32 new_value)
...
@@ -2791,9 +2796,9 @@ static int link_value_is_valid(u16 cmd, u32 new_value)
static
int
link_cmd_set_value
(
const
char
*
name
,
u32
new_value
,
u16
cmd
)
static
int
link_cmd_set_value
(
const
char
*
name
,
u32
new_value
,
u16
cmd
)
{
{
struct
tipc_node
*
node
;
struct
tipc_node
*
node
;
struct
link
*
l_ptr
;
struct
tipc_
link
*
l_ptr
;
struct
tipc_bearer
*
b_ptr
;
struct
tipc_bearer
*
b_ptr
;
struct
media
*
m_ptr
;
struct
tipc_
media
*
m_ptr
;
l_ptr
=
link_find_link
(
name
,
&
node
);
l_ptr
=
link_find_link
(
name
,
&
node
);
if
(
l_ptr
)
{
if
(
l_ptr
)
{
...
@@ -2893,7 +2898,7 @@ struct sk_buff *tipc_link_cmd_config(const void *req_tlv_area, int req_tlv_space
...
@@ -2893,7 +2898,7 @@ struct sk_buff *tipc_link_cmd_config(const void *req_tlv_area, int req_tlv_space
* @l_ptr: pointer to link
* @l_ptr: pointer to link
*/
*/
static
void
link_reset_statistics
(
struct
link
*
l_ptr
)
static
void
link_reset_statistics
(
struct
tipc_
link
*
l_ptr
)
{
{
memset
(
&
l_ptr
->
stats
,
0
,
sizeof
(
l_ptr
->
stats
));
memset
(
&
l_ptr
->
stats
,
0
,
sizeof
(
l_ptr
->
stats
));
l_ptr
->
stats
.
sent_info
=
l_ptr
->
next_out_no
;
l_ptr
->
stats
.
sent_info
=
l_ptr
->
next_out_no
;
...
@@ -2903,7 +2908,7 @@ static void link_reset_statistics(struct link *l_ptr)
...
@@ -2903,7 +2908,7 @@ static void link_reset_statistics(struct link *l_ptr)
struct
sk_buff
*
tipc_link_cmd_reset_stats
(
const
void
*
req_tlv_area
,
int
req_tlv_space
)
struct
sk_buff
*
tipc_link_cmd_reset_stats
(
const
void
*
req_tlv_area
,
int
req_tlv_space
)
{
{
char
*
link_name
;
char
*
link_name
;
struct
link
*
l_ptr
;
struct
tipc_
link
*
l_ptr
;
struct
tipc_node
*
node
;
struct
tipc_node
*
node
;
if
(
!
TLV_CHECK
(
req_tlv_area
,
req_tlv_space
,
TIPC_TLV_LINK_NAME
))
if
(
!
TLV_CHECK
(
req_tlv_area
,
req_tlv_space
,
TIPC_TLV_LINK_NAME
))
...
@@ -2951,7 +2956,7 @@ static u32 percent(u32 count, u32 total)
...
@@ -2951,7 +2956,7 @@ static u32 percent(u32 count, u32 total)
static
int
tipc_link_stats
(
const
char
*
name
,
char
*
buf
,
const
u32
buf_size
)
static
int
tipc_link_stats
(
const
char
*
name
,
char
*
buf
,
const
u32
buf_size
)
{
{
struct
print_buf
pb
;
struct
print_buf
pb
;
struct
link
*
l_ptr
;
struct
tipc_
link
*
l_ptr
;
struct
tipc_node
*
node
;
struct
tipc_node
*
node
;
char
*
status
;
char
*
status
;
u32
profile_total
=
0
;
u32
profile_total
=
0
;
...
@@ -3073,7 +3078,7 @@ struct sk_buff *tipc_link_cmd_show_stats(const void *req_tlv_area, int req_tlv_s
...
@@ -3073,7 +3078,7 @@ struct sk_buff *tipc_link_cmd_show_stats(const void *req_tlv_area, int req_tlv_s
u32
tipc_link_get_max_pkt
(
u32
dest
,
u32
selector
)
u32
tipc_link_get_max_pkt
(
u32
dest
,
u32
selector
)
{
{
struct
tipc_node
*
n_ptr
;
struct
tipc_node
*
n_ptr
;
struct
link
*
l_ptr
;
struct
tipc_
link
*
l_ptr
;
u32
res
=
MAX_PKT_DEFAULT
;
u32
res
=
MAX_PKT_DEFAULT
;
if
(
dest
==
tipc_own_addr
)
if
(
dest
==
tipc_own_addr
)
...
@@ -3092,7 +3097,7 @@ u32 tipc_link_get_max_pkt(u32 dest, u32 selector)
...
@@ -3092,7 +3097,7 @@ u32 tipc_link_get_max_pkt(u32 dest, u32 selector)
return
res
;
return
res
;
}
}
static
void
link_print
(
struct
link
*
l_ptr
,
const
char
*
str
)
static
void
link_print
(
struct
tipc_
link
*
l_ptr
,
const
char
*
str
)
{
{
char
print_area
[
256
];
char
print_area
[
256
];
struct
print_buf
pb
;
struct
print_buf
pb
;
...
...
net/tipc/link.h
View file @
56be1788
...
@@ -67,7 +67,7 @@
...
@@ -67,7 +67,7 @@
#define MAX_PKT_DEFAULT 1500
#define MAX_PKT_DEFAULT 1500
/**
/**
* struct link - TIPC link data structure
* struct
tipc_
link - TIPC link data structure
* @addr: network address of link's peer node
* @addr: network address of link's peer node
* @name: link name character string
* @name: link name character string
* @media_addr: media address to use when sending messages over link
* @media_addr: media address to use when sending messages over link
...
@@ -115,7 +115,7 @@
...
@@ -115,7 +115,7 @@
* @stats: collects statistics regarding link activity
* @stats: collects statistics regarding link activity
*/
*/
struct
link
{
struct
tipc_
link
{
u32
addr
;
u32
addr
;
char
name
[
TIPC_MAX_LINK_NAME
];
char
name
[
TIPC_MAX_LINK_NAME
];
struct
tipc_media_addr
media_addr
;
struct
tipc_media_addr
media_addr
;
...
@@ -213,24 +213,24 @@ struct link {
...
@@ -213,24 +213,24 @@ struct link {
struct
tipc_port
;
struct
tipc_port
;
struct
link
*
tipc_link_create
(
struct
tipc_node
*
n_ptr
,
struct
tipc_
link
*
tipc_link_create
(
struct
tipc_node
*
n_ptr
,
struct
tipc_bearer
*
b_ptr
,
struct
tipc_bearer
*
b_ptr
,
const
struct
tipc_media_addr
*
media_addr
);
const
struct
tipc_media_addr
*
media_addr
);
void
tipc_link_delete
(
struct
link
*
l_ptr
);
void
tipc_link_delete
(
struct
tipc_
link
*
l_ptr
);
void
tipc_link_changeover
(
struct
link
*
l_ptr
);
void
tipc_link_changeover
(
struct
tipc_
link
*
l_ptr
);
void
tipc_link_send_duplicate
(
struct
link
*
l_ptr
,
struct
link
*
dest
);
void
tipc_link_send_duplicate
(
struct
tipc_link
*
l_ptr
,
struct
tipc_
link
*
dest
);
void
tipc_link_reset_fragments
(
struct
link
*
l_ptr
);
void
tipc_link_reset_fragments
(
struct
tipc_
link
*
l_ptr
);
int
tipc_link_is_up
(
struct
link
*
l_ptr
);
int
tipc_link_is_up
(
struct
tipc_
link
*
l_ptr
);
int
tipc_link_is_active
(
struct
link
*
l_ptr
);
int
tipc_link_is_active
(
struct
tipc_
link
*
l_ptr
);
u32
tipc_link_push_packet
(
struct
link
*
l_ptr
);
u32
tipc_link_push_packet
(
struct
tipc_
link
*
l_ptr
);
void
tipc_link_stop
(
struct
link
*
l_ptr
);
void
tipc_link_stop
(
struct
tipc_
link
*
l_ptr
);
struct
sk_buff
*
tipc_link_cmd_config
(
const
void
*
req_tlv_area
,
int
req_tlv_space
,
u16
cmd
);
struct
sk_buff
*
tipc_link_cmd_config
(
const
void
*
req_tlv_area
,
int
req_tlv_space
,
u16
cmd
);
struct
sk_buff
*
tipc_link_cmd_show_stats
(
const
void
*
req_tlv_area
,
int
req_tlv_space
);
struct
sk_buff
*
tipc_link_cmd_show_stats
(
const
void
*
req_tlv_area
,
int
req_tlv_space
);
struct
sk_buff
*
tipc_link_cmd_reset_stats
(
const
void
*
req_tlv_area
,
int
req_tlv_space
);
struct
sk_buff
*
tipc_link_cmd_reset_stats
(
const
void
*
req_tlv_area
,
int
req_tlv_space
);
void
tipc_link_reset
(
struct
link
*
l_ptr
);
void
tipc_link_reset
(
struct
tipc_
link
*
l_ptr
);
int
tipc_link_send
(
struct
sk_buff
*
buf
,
u32
dest
,
u32
selector
);
int
tipc_link_send
(
struct
sk_buff
*
buf
,
u32
dest
,
u32
selector
);
void
tipc_link_send_names
(
struct
list_head
*
message_list
,
u32
dest
);
void
tipc_link_send_names
(
struct
list_head
*
message_list
,
u32
dest
);
int
tipc_link_send_buf
(
struct
link
*
l_ptr
,
struct
sk_buff
*
buf
);
int
tipc_link_send_buf
(
struct
tipc_
link
*
l_ptr
,
struct
sk_buff
*
buf
);
u32
tipc_link_get_max_pkt
(
u32
dest
,
u32
selector
);
u32
tipc_link_get_max_pkt
(
u32
dest
,
u32
selector
);
int
tipc_link_send_sections_fast
(
struct
tipc_port
*
sender
,
int
tipc_link_send_sections_fast
(
struct
tipc_port
*
sender
,
struct
iovec
const
*
msg_sect
,
struct
iovec
const
*
msg_sect
,
...
@@ -241,14 +241,16 @@ void tipc_link_recv_bundle(struct sk_buff *buf);
...
@@ -241,14 +241,16 @@ void tipc_link_recv_bundle(struct sk_buff *buf);
int
tipc_link_recv_fragment
(
struct
sk_buff
**
pending
,
int
tipc_link_recv_fragment
(
struct
sk_buff
**
pending
,
struct
sk_buff
**
fb
,
struct
sk_buff
**
fb
,
struct
tipc_msg
**
msg
);
struct
tipc_msg
**
msg
);
void
tipc_link_send_proto_msg
(
struct
link
*
l_ptr
,
u32
msg_typ
,
int
prob
,
u32
gap
,
void
tipc_link_send_proto_msg
(
struct
tipc_link
*
l_ptr
,
u32
msg_typ
,
int
prob
,
u32
tolerance
,
u32
priority
,
u32
acked_mtu
);
u32
gap
,
u32
tolerance
,
u32
priority
,
void
tipc_link_push_queue
(
struct
link
*
l_ptr
);
u32
acked_mtu
);
void
tipc_link_push_queue
(
struct
tipc_link
*
l_ptr
);
u32
tipc_link_defer_pkt
(
struct
sk_buff
**
head
,
struct
sk_buff
**
tail
,
u32
tipc_link_defer_pkt
(
struct
sk_buff
**
head
,
struct
sk_buff
**
tail
,
struct
sk_buff
*
buf
);
struct
sk_buff
*
buf
);
void
tipc_link_wakeup_ports
(
struct
link
*
l_ptr
,
int
all
);
void
tipc_link_wakeup_ports
(
struct
tipc_link
*
l_ptr
,
int
all
);
void
tipc_link_set_queue_limits
(
struct
link
*
l_ptr
,
u32
window
);
void
tipc_link_set_queue_limits
(
struct
tipc_link
*
l_ptr
,
u32
window
);
void
tipc_link_retransmit
(
struct
link
*
l_ptr
,
struct
sk_buff
*
start
,
u32
retransmits
);
void
tipc_link_retransmit
(
struct
tipc_link
*
l_ptr
,
struct
sk_buff
*
start
,
u32
retransmits
);
/*
/*
* Link sequence number manipulation routines (uses modulo 2**16 arithmetic)
* Link sequence number manipulation routines (uses modulo 2**16 arithmetic)
...
@@ -293,32 +295,32 @@ static inline u32 lesser(u32 left, u32 right)
...
@@ -293,32 +295,32 @@ static inline u32 lesser(u32 left, u32 right)
* Link status checking routines
* Link status checking routines
*/
*/
static
inline
int
link_working_working
(
struct
link
*
l_ptr
)
static
inline
int
link_working_working
(
struct
tipc_
link
*
l_ptr
)
{
{
return
l_ptr
->
state
==
WORKING_WORKING
;
return
l_ptr
->
state
==
WORKING_WORKING
;
}
}
static
inline
int
link_working_unknown
(
struct
link
*
l_ptr
)
static
inline
int
link_working_unknown
(
struct
tipc_
link
*
l_ptr
)
{
{
return
l_ptr
->
state
==
WORKING_UNKNOWN
;
return
l_ptr
->
state
==
WORKING_UNKNOWN
;
}
}
static
inline
int
link_reset_unknown
(
struct
link
*
l_ptr
)
static
inline
int
link_reset_unknown
(
struct
tipc_
link
*
l_ptr
)
{
{
return
l_ptr
->
state
==
RESET_UNKNOWN
;
return
l_ptr
->
state
==
RESET_UNKNOWN
;
}
}
static
inline
int
link_reset_reset
(
struct
link
*
l_ptr
)
static
inline
int
link_reset_reset
(
struct
tipc_
link
*
l_ptr
)
{
{
return
l_ptr
->
state
==
RESET_RESET
;
return
l_ptr
->
state
==
RESET_RESET
;
}
}
static
inline
int
link_blocked
(
struct
link
*
l_ptr
)
static
inline
int
link_blocked
(
struct
tipc_
link
*
l_ptr
)
{
{
return
l_ptr
->
exp_msg_count
||
l_ptr
->
blocked
;
return
l_ptr
->
exp_msg_count
||
l_ptr
->
blocked
;
}
}
static
inline
int
link_congested
(
struct
link
*
l_ptr
)
static
inline
int
link_congested
(
struct
tipc_
link
*
l_ptr
)
{
{
return
l_ptr
->
out_queue_size
>=
l_ptr
->
queue_limit
[
0
];
return
l_ptr
->
out_queue_size
>=
l_ptr
->
queue_limit
[
0
];
}
}
...
...
net/tipc/name_distr.c
View file @
56be1788
...
@@ -176,7 +176,7 @@ void tipc_named_withdraw(struct publication *publ)
...
@@ -176,7 +176,7 @@ void tipc_named_withdraw(struct publication *publ)
void
tipc_named_node_up
(
unsigned
long
nodearg
)
void
tipc_named_node_up
(
unsigned
long
nodearg
)
{
{
struct
tipc_node
*
n_ptr
;
struct
tipc_node
*
n_ptr
;
struct
link
*
l_ptr
;
struct
tipc_
link
*
l_ptr
;
struct
publication
*
publ
;
struct
publication
*
publ
;
struct
distr_item
*
item
=
NULL
;
struct
distr_item
*
item
=
NULL
;
struct
sk_buff
*
buf
=
NULL
;
struct
sk_buff
*
buf
=
NULL
;
...
...
net/tipc/name_table.c
View file @
56be1788
...
@@ -251,8 +251,8 @@ static struct publication *tipc_nameseq_insert_publ(struct name_seq *nseq,
...
@@ -251,8 +251,8 @@ static struct publication *tipc_nameseq_insert_publ(struct name_seq *nseq,
u32
type
,
u32
lower
,
u32
upper
,
u32
type
,
u32
lower
,
u32
upper
,
u32
scope
,
u32
node
,
u32
port
,
u32
key
)
u32
scope
,
u32
node
,
u32
port
,
u32
key
)
{
{
struct
subscription
*
s
;
struct
tipc_
subscription
*
s
;
struct
subscription
*
st
;
struct
tipc_
subscription
*
st
;
struct
publication
*
publ
;
struct
publication
*
publ
;
struct
sub_seq
*
sseq
;
struct
sub_seq
*
sseq
;
struct
name_info
*
info
;
struct
name_info
*
info
;
...
@@ -381,7 +381,7 @@ static struct publication *tipc_nameseq_remove_publ(struct name_seq *nseq, u32 i
...
@@ -381,7 +381,7 @@ static struct publication *tipc_nameseq_remove_publ(struct name_seq *nseq, u32 i
struct
sub_seq
*
sseq
=
nameseq_find_subseq
(
nseq
,
inst
);
struct
sub_seq
*
sseq
=
nameseq_find_subseq
(
nseq
,
inst
);
struct
name_info
*
info
;
struct
name_info
*
info
;
struct
sub_seq
*
free
;
struct
sub_seq
*
free
;
struct
subscription
*
s
,
*
st
;
struct
tipc_
subscription
*
s
,
*
st
;
int
removed_subseq
=
0
;
int
removed_subseq
=
0
;
if
(
!
sseq
)
if
(
!
sseq
)
...
@@ -448,7 +448,8 @@ static struct publication *tipc_nameseq_remove_publ(struct name_seq *nseq, u32 i
...
@@ -448,7 +448,8 @@ static struct publication *tipc_nameseq_remove_publ(struct name_seq *nseq, u32 i
* sequence overlapping with the requested sequence
* sequence overlapping with the requested sequence
*/
*/
static
void
tipc_nameseq_subscribe
(
struct
name_seq
*
nseq
,
struct
subscription
*
s
)
static
void
tipc_nameseq_subscribe
(
struct
name_seq
*
nseq
,
struct
tipc_subscription
*
s
)
{
{
struct
sub_seq
*
sseq
=
nseq
->
sseqs
;
struct
sub_seq
*
sseq
=
nseq
->
sseqs
;
...
@@ -625,7 +626,7 @@ u32 tipc_nametbl_translate(u32 type, u32 instance, u32 *destnode)
...
@@ -625,7 +626,7 @@ u32 tipc_nametbl_translate(u32 type, u32 instance, u32 *destnode)
*/
*/
int
tipc_nametbl_mc_translate
(
u32
type
,
u32
lower
,
u32
upper
,
u32
limit
,
int
tipc_nametbl_mc_translate
(
u32
type
,
u32
lower
,
u32
upper
,
u32
limit
,
struct
port_list
*
dports
)
struct
tipc_
port_list
*
dports
)
{
{
struct
name_seq
*
seq
;
struct
name_seq
*
seq
;
struct
sub_seq
*
sseq
;
struct
sub_seq
*
sseq
;
...
@@ -739,7 +740,7 @@ int tipc_nametbl_withdraw(u32 type, u32 lower, u32 ref, u32 key)
...
@@ -739,7 +740,7 @@ int tipc_nametbl_withdraw(u32 type, u32 lower, u32 ref, u32 key)
* tipc_nametbl_subscribe - add a subscription object to the name table
* tipc_nametbl_subscribe - add a subscription object to the name table
*/
*/
void
tipc_nametbl_subscribe
(
struct
subscription
*
s
)
void
tipc_nametbl_subscribe
(
struct
tipc_
subscription
*
s
)
{
{
u32
type
=
s
->
seq
.
type
;
u32
type
=
s
->
seq
.
type
;
struct
name_seq
*
seq
;
struct
name_seq
*
seq
;
...
@@ -763,7 +764,7 @@ void tipc_nametbl_subscribe(struct subscription *s)
...
@@ -763,7 +764,7 @@ void tipc_nametbl_subscribe(struct subscription *s)
* tipc_nametbl_unsubscribe - remove a subscription object from name table
* tipc_nametbl_unsubscribe - remove a subscription object from name table
*/
*/
void
tipc_nametbl_unsubscribe
(
struct
subscription
*
s
)
void
tipc_nametbl_unsubscribe
(
struct
tipc_
subscription
*
s
)
{
{
struct
name_seq
*
seq
;
struct
name_seq
*
seq
;
...
...
net/tipc/name_table.h
View file @
56be1788
...
@@ -39,8 +39,8 @@
...
@@ -39,8 +39,8 @@
#include "node_subscr.h"
#include "node_subscr.h"
struct
subscription
;
struct
tipc_
subscription
;
struct
port_list
;
struct
tipc_
port_list
;
/*
/*
* TIPC name types reserved for internal TIPC use (both current and planned)
* TIPC name types reserved for internal TIPC use (both current and planned)
...
@@ -90,7 +90,7 @@ extern rwlock_t tipc_nametbl_lock;
...
@@ -90,7 +90,7 @@ extern rwlock_t tipc_nametbl_lock;
struct
sk_buff
*
tipc_nametbl_get
(
const
void
*
req_tlv_area
,
int
req_tlv_space
);
struct
sk_buff
*
tipc_nametbl_get
(
const
void
*
req_tlv_area
,
int
req_tlv_space
);
u32
tipc_nametbl_translate
(
u32
type
,
u32
instance
,
u32
*
node
);
u32
tipc_nametbl_translate
(
u32
type
,
u32
instance
,
u32
*
node
);
int
tipc_nametbl_mc_translate
(
u32
type
,
u32
lower
,
u32
upper
,
u32
limit
,
int
tipc_nametbl_mc_translate
(
u32
type
,
u32
lower
,
u32
upper
,
u32
limit
,
struct
port_list
*
dports
);
struct
tipc_
port_list
*
dports
);
int
tipc_nametbl_publish_rsv
(
u32
ref
,
unsigned
int
scope
,
int
tipc_nametbl_publish_rsv
(
u32
ref
,
unsigned
int
scope
,
struct
tipc_name_seq
const
*
seq
);
struct
tipc_name_seq
const
*
seq
);
struct
publication
*
tipc_nametbl_publish
(
u32
type
,
u32
lower
,
u32
upper
,
struct
publication
*
tipc_nametbl_publish
(
u32
type
,
u32
lower
,
u32
upper
,
...
@@ -100,8 +100,8 @@ struct publication *tipc_nametbl_insert_publ(u32 type, u32 lower, u32 upper,
...
@@ -100,8 +100,8 @@ struct publication *tipc_nametbl_insert_publ(u32 type, u32 lower, u32 upper,
u32
scope
,
u32
node
,
u32
ref
,
u32
key
);
u32
scope
,
u32
node
,
u32
ref
,
u32
key
);
struct
publication
*
tipc_nametbl_remove_publ
(
u32
type
,
u32
lower
,
struct
publication
*
tipc_nametbl_remove_publ
(
u32
type
,
u32
lower
,
u32
node
,
u32
ref
,
u32
key
);
u32
node
,
u32
ref
,
u32
key
);
void
tipc_nametbl_subscribe
(
struct
subscription
*
s
);
void
tipc_nametbl_subscribe
(
struct
tipc_
subscription
*
s
);
void
tipc_nametbl_unsubscribe
(
struct
subscription
*
s
);
void
tipc_nametbl_unsubscribe
(
struct
tipc_
subscription
*
s
);
int
tipc_nametbl_init
(
void
);
int
tipc_nametbl_init
(
void
);
void
tipc_nametbl_stop
(
void
);
void
tipc_nametbl_stop
(
void
);
...
...
net/tipc/node.c
View file @
56be1788
...
@@ -136,9 +136,9 @@ void tipc_node_delete(struct tipc_node *n_ptr)
...
@@ -136,9 +136,9 @@ void tipc_node_delete(struct tipc_node *n_ptr)
* Link becomes active (alone or shared) or standby, depending on its priority.
* Link becomes active (alone or shared) or standby, depending on its priority.
*/
*/
void
tipc_node_link_up
(
struct
tipc_node
*
n_ptr
,
struct
link
*
l_ptr
)
void
tipc_node_link_up
(
struct
tipc_node
*
n_ptr
,
struct
tipc_
link
*
l_ptr
)
{
{
struct
link
**
active
=
&
n_ptr
->
active_links
[
0
];
struct
tipc_
link
**
active
=
&
n_ptr
->
active_links
[
0
];
n_ptr
->
working_links
++
;
n_ptr
->
working_links
++
;
...
@@ -171,14 +171,14 @@ void tipc_node_link_up(struct tipc_node *n_ptr, struct link *l_ptr)
...
@@ -171,14 +171,14 @@ void tipc_node_link_up(struct tipc_node *n_ptr, struct link *l_ptr)
static
void
node_select_active_links
(
struct
tipc_node
*
n_ptr
)
static
void
node_select_active_links
(
struct
tipc_node
*
n_ptr
)
{
{
struct
link
**
active
=
&
n_ptr
->
active_links
[
0
];
struct
tipc_
link
**
active
=
&
n_ptr
->
active_links
[
0
];
u32
i
;
u32
i
;
u32
highest_prio
=
0
;
u32
highest_prio
=
0
;
active
[
0
]
=
active
[
1
]
=
NULL
;
active
[
0
]
=
active
[
1
]
=
NULL
;
for
(
i
=
0
;
i
<
MAX_BEARERS
;
i
++
)
{
for
(
i
=
0
;
i
<
MAX_BEARERS
;
i
++
)
{
struct
link
*
l_ptr
=
n_ptr
->
links
[
i
];
struct
tipc_
link
*
l_ptr
=
n_ptr
->
links
[
i
];
if
(
!
l_ptr
||
!
tipc_link_is_up
(
l_ptr
)
||
if
(
!
l_ptr
||
!
tipc_link_is_up
(
l_ptr
)
||
(
l_ptr
->
priority
<
highest_prio
))
(
l_ptr
->
priority
<
highest_prio
))
...
@@ -197,9 +197,9 @@ static void node_select_active_links(struct tipc_node *n_ptr)
...
@@ -197,9 +197,9 @@ static void node_select_active_links(struct tipc_node *n_ptr)
* tipc_node_link_down - handle loss of link
* tipc_node_link_down - handle loss of link
*/
*/
void
tipc_node_link_down
(
struct
tipc_node
*
n_ptr
,
struct
link
*
l_ptr
)
void
tipc_node_link_down
(
struct
tipc_node
*
n_ptr
,
struct
tipc_
link
*
l_ptr
)
{
{
struct
link
**
active
;
struct
tipc_
link
**
active
;
n_ptr
->
working_links
--
;
n_ptr
->
working_links
--
;
...
@@ -239,14 +239,14 @@ int tipc_node_is_up(struct tipc_node *n_ptr)
...
@@ -239,14 +239,14 @@ int tipc_node_is_up(struct tipc_node *n_ptr)
return
tipc_node_active_links
(
n_ptr
);
return
tipc_node_active_links
(
n_ptr
);
}
}
void
tipc_node_attach_link
(
struct
tipc_node
*
n_ptr
,
struct
link
*
l_ptr
)
void
tipc_node_attach_link
(
struct
tipc_node
*
n_ptr
,
struct
tipc_
link
*
l_ptr
)
{
{
n_ptr
->
links
[
l_ptr
->
b_ptr
->
identity
]
=
l_ptr
;
n_ptr
->
links
[
l_ptr
->
b_ptr
->
identity
]
=
l_ptr
;
atomic_inc
(
&
tipc_num_links
);
atomic_inc
(
&
tipc_num_links
);
n_ptr
->
link_cnt
++
;
n_ptr
->
link_cnt
++
;
}
}
void
tipc_node_detach_link
(
struct
tipc_node
*
n_ptr
,
struct
link
*
l_ptr
)
void
tipc_node_detach_link
(
struct
tipc_node
*
n_ptr
,
struct
tipc_
link
*
l_ptr
)
{
{
n_ptr
->
links
[
l_ptr
->
b_ptr
->
identity
]
=
NULL
;
n_ptr
->
links
[
l_ptr
->
b_ptr
->
identity
]
=
NULL
;
atomic_dec
(
&
tipc_num_links
);
atomic_dec
(
&
tipc_num_links
);
...
@@ -360,7 +360,7 @@ static void node_lost_contact(struct tipc_node *n_ptr)
...
@@ -360,7 +360,7 @@ static void node_lost_contact(struct tipc_node *n_ptr)
/* Abort link changeover */
/* Abort link changeover */
for
(
i
=
0
;
i
<
MAX_BEARERS
;
i
++
)
{
for
(
i
=
0
;
i
<
MAX_BEARERS
;
i
++
)
{
struct
link
*
l_ptr
=
n_ptr
->
links
[
i
];
struct
tipc_
link
*
l_ptr
=
n_ptr
->
links
[
i
];
if
(
!
l_ptr
)
if
(
!
l_ptr
)
continue
;
continue
;
l_ptr
->
reset_checkpoint
=
l_ptr
->
next_in_no
;
l_ptr
->
reset_checkpoint
=
l_ptr
->
next_in_no
;
...
...
net/tipc/node.h
View file @
56be1788
...
@@ -79,8 +79,8 @@ struct tipc_node {
...
@@ -79,8 +79,8 @@ struct tipc_node {
struct
hlist_node
hash
;
struct
hlist_node
hash
;
struct
list_head
list
;
struct
list_head
list
;
struct
list_head
nsub
;
struct
list_head
nsub
;
struct
link
*
active_links
[
2
];
struct
tipc_
link
*
active_links
[
2
];
struct
link
*
links
[
MAX_BEARERS
];
struct
tipc_
link
*
links
[
MAX_BEARERS
];
int
link_cnt
;
int
link_cnt
;
int
working_links
;
int
working_links
;
int
block_setup
;
int
block_setup
;
...
@@ -117,10 +117,10 @@ extern u32 tipc_own_tag;
...
@@ -117,10 +117,10 @@ extern u32 tipc_own_tag;
struct
tipc_node
*
tipc_node_find
(
u32
addr
);
struct
tipc_node
*
tipc_node_find
(
u32
addr
);
struct
tipc_node
*
tipc_node_create
(
u32
addr
);
struct
tipc_node
*
tipc_node_create
(
u32
addr
);
void
tipc_node_delete
(
struct
tipc_node
*
n_ptr
);
void
tipc_node_delete
(
struct
tipc_node
*
n_ptr
);
void
tipc_node_attach_link
(
struct
tipc_node
*
n_ptr
,
struct
link
*
l_ptr
);
void
tipc_node_attach_link
(
struct
tipc_node
*
n_ptr
,
struct
tipc_
link
*
l_ptr
);
void
tipc_node_detach_link
(
struct
tipc_node
*
n_ptr
,
struct
link
*
l_ptr
);
void
tipc_node_detach_link
(
struct
tipc_node
*
n_ptr
,
struct
tipc_
link
*
l_ptr
);
void
tipc_node_link_down
(
struct
tipc_node
*
n_ptr
,
struct
link
*
l_ptr
);
void
tipc_node_link_down
(
struct
tipc_node
*
n_ptr
,
struct
tipc_
link
*
l_ptr
);
void
tipc_node_link_up
(
struct
tipc_node
*
n_ptr
,
struct
link
*
l_ptr
);
void
tipc_node_link_up
(
struct
tipc_node
*
n_ptr
,
struct
tipc_
link
*
l_ptr
);
int
tipc_node_active_links
(
struct
tipc_node
*
n_ptr
);
int
tipc_node_active_links
(
struct
tipc_node
*
n_ptr
);
int
tipc_node_redundant_links
(
struct
tipc_node
*
n_ptr
);
int
tipc_node_redundant_links
(
struct
tipc_node
*
n_ptr
);
int
tipc_node_is_up
(
struct
tipc_node
*
n_ptr
);
int
tipc_node_is_up
(
struct
tipc_node
*
n_ptr
);
...
...
net/tipc/port.c
View file @
56be1788
...
@@ -80,7 +80,7 @@ int tipc_multicast(u32 ref, struct tipc_name_seq const *seq,
...
@@ -80,7 +80,7 @@ int tipc_multicast(u32 ref, struct tipc_name_seq const *seq,
struct
tipc_msg
*
hdr
;
struct
tipc_msg
*
hdr
;
struct
sk_buff
*
buf
;
struct
sk_buff
*
buf
;
struct
sk_buff
*
ibuf
=
NULL
;
struct
sk_buff
*
ibuf
=
NULL
;
struct
port_list
dports
=
{
0
,
NULL
,
};
struct
tipc_
port_list
dports
=
{
0
,
NULL
,
};
struct
tipc_port
*
oport
=
tipc_port_deref
(
ref
);
struct
tipc_port
*
oport
=
tipc_port_deref
(
ref
);
int
ext_targets
;
int
ext_targets
;
int
res
;
int
res
;
...
@@ -142,11 +142,11 @@ int tipc_multicast(u32 ref, struct tipc_name_seq const *seq,
...
@@ -142,11 +142,11 @@ int tipc_multicast(u32 ref, struct tipc_name_seq const *seq,
* If there is no port list, perform a lookup to create one
* If there is no port list, perform a lookup to create one
*/
*/
void
tipc_port_recv_mcast
(
struct
sk_buff
*
buf
,
struct
port_list
*
dp
)
void
tipc_port_recv_mcast
(
struct
sk_buff
*
buf
,
struct
tipc_
port_list
*
dp
)
{
{
struct
tipc_msg
*
msg
;
struct
tipc_msg
*
msg
;
struct
port_list
dports
=
{
0
,
NULL
,
};
struct
tipc_
port_list
dports
=
{
0
,
NULL
,
};
struct
port_list
*
item
=
dp
;
struct
tipc_
port_list
*
item
=
dp
;
int
cnt
=
0
;
int
cnt
=
0
;
msg
=
buf_msg
(
buf
);
msg
=
buf_msg
(
buf
);
...
...
net/tipc/port.h
View file @
56be1788
...
@@ -151,7 +151,7 @@ struct tipc_port {
...
@@ -151,7 +151,7 @@ struct tipc_port {
};
};
extern
spinlock_t
tipc_port_list_lock
;
extern
spinlock_t
tipc_port_list_lock
;
struct
port_list
;
struct
tipc_
port_list
;
/*
/*
* TIPC port manipulation routines
* TIPC port manipulation routines
...
@@ -228,7 +228,7 @@ int tipc_port_reject_sections(struct tipc_port *p_ptr, struct tipc_msg *hdr,
...
@@ -228,7 +228,7 @@ int tipc_port_reject_sections(struct tipc_port *p_ptr, struct tipc_msg *hdr,
unsigned
int
total_len
,
int
err
);
unsigned
int
total_len
,
int
err
);
struct
sk_buff
*
tipc_port_get_ports
(
void
);
struct
sk_buff
*
tipc_port_get_ports
(
void
);
void
tipc_port_recv_proto_msg
(
struct
sk_buff
*
buf
);
void
tipc_port_recv_proto_msg
(
struct
sk_buff
*
buf
);
void
tipc_port_recv_mcast
(
struct
sk_buff
*
buf
,
struct
port_list
*
dp
);
void
tipc_port_recv_mcast
(
struct
sk_buff
*
buf
,
struct
tipc_
port_list
*
dp
);
void
tipc_port_reinit
(
void
);
void
tipc_port_reinit
(
void
);
/**
/**
...
...
net/tipc/subscr.c
View file @
56be1788
...
@@ -40,14 +40,14 @@
...
@@ -40,14 +40,14 @@
#include "subscr.h"
#include "subscr.h"
/**
/**
* struct subscriber - TIPC network topology subscriber
* struct
tipc_
subscriber - TIPC network topology subscriber
* @port_ref: object reference to server port connecting to subscriber
* @port_ref: object reference to server port connecting to subscriber
* @lock: pointer to spinlock controlling access to subscriber's server port
* @lock: pointer to spinlock controlling access to subscriber's server port
* @subscriber_list: adjacent subscribers in top. server's list of subscribers
* @subscriber_list: adjacent subscribers in top. server's list of subscribers
* @subscription_list: list of subscription objects for this subscriber
* @subscription_list: list of subscription objects for this subscriber
*/
*/
struct
subscriber
{
struct
tipc_
subscriber
{
u32
port_ref
;
u32
port_ref
;
spinlock_t
*
lock
;
spinlock_t
*
lock
;
struct
list_head
subscriber_list
;
struct
list_head
subscriber_list
;
...
@@ -92,7 +92,7 @@ static u32 htohl(u32 in, int swap)
...
@@ -92,7 +92,7 @@ static u32 htohl(u32 in, int swap)
* try to take the lock if the message is rejected and returned!
* try to take the lock if the message is rejected and returned!
*/
*/
static
void
subscr_send_event
(
struct
subscription
*
sub
,
static
void
subscr_send_event
(
struct
tipc_
subscription
*
sub
,
u32
found_lower
,
u32
found_lower
,
u32
found_upper
,
u32
found_upper
,
u32
event
,
u32
event
,
...
@@ -118,7 +118,7 @@ static void subscr_send_event(struct subscription *sub,
...
@@ -118,7 +118,7 @@ static void subscr_send_event(struct subscription *sub,
* Returns 1 if there is overlap, otherwise 0.
* Returns 1 if there is overlap, otherwise 0.
*/
*/
int
tipc_subscr_overlap
(
struct
subscription
*
sub
,
int
tipc_subscr_overlap
(
struct
tipc_
subscription
*
sub
,
u32
found_lower
,
u32
found_lower
,
u32
found_upper
)
u32
found_upper
)
...
@@ -138,7 +138,7 @@ int tipc_subscr_overlap(struct subscription *sub,
...
@@ -138,7 +138,7 @@ int tipc_subscr_overlap(struct subscription *sub,
* Protected by nameseq.lock in name_table.c
* Protected by nameseq.lock in name_table.c
*/
*/
void
tipc_subscr_report_overlap
(
struct
subscription
*
sub
,
void
tipc_subscr_report_overlap
(
struct
tipc_
subscription
*
sub
,
u32
found_lower
,
u32
found_lower
,
u32
found_upper
,
u32
found_upper
,
u32
event
,
u32
event
,
...
@@ -158,7 +158,7 @@ void tipc_subscr_report_overlap(struct subscription *sub,
...
@@ -158,7 +158,7 @@ void tipc_subscr_report_overlap(struct subscription *sub,
* subscr_timeout - subscription timeout has occurred
* subscr_timeout - subscription timeout has occurred
*/
*/
static
void
subscr_timeout
(
struct
subscription
*
sub
)
static
void
subscr_timeout
(
struct
tipc_
subscription
*
sub
)
{
{
struct
tipc_port
*
server_port
;
struct
tipc_port
*
server_port
;
...
@@ -205,7 +205,7 @@ static void subscr_timeout(struct subscription *sub)
...
@@ -205,7 +205,7 @@ static void subscr_timeout(struct subscription *sub)
* Called with subscriber port locked.
* Called with subscriber port locked.
*/
*/
static
void
subscr_del
(
struct
subscription
*
sub
)
static
void
subscr_del
(
struct
tipc_
subscription
*
sub
)
{
{
tipc_nametbl_unsubscribe
(
sub
);
tipc_nametbl_unsubscribe
(
sub
);
list_del
(
&
sub
->
subscription_list
);
list_del
(
&
sub
->
subscription_list
);
...
@@ -224,11 +224,11 @@ static void subscr_del(struct subscription *sub)
...
@@ -224,11 +224,11 @@ static void subscr_del(struct subscription *sub)
* simply wait for it to be released, then claim it.)
* simply wait for it to be released, then claim it.)
*/
*/
static
void
subscr_terminate
(
struct
subscriber
*
subscriber
)
static
void
subscr_terminate
(
struct
tipc_
subscriber
*
subscriber
)
{
{
u32
port_ref
;
u32
port_ref
;
struct
subscription
*
sub
;
struct
tipc_
subscription
*
sub
;
struct
subscription
*
sub_temp
;
struct
tipc_
subscription
*
sub_temp
;
/* Invalidate subscriber reference */
/* Invalidate subscriber reference */
...
@@ -278,10 +278,10 @@ static void subscr_terminate(struct subscriber *subscriber)
...
@@ -278,10 +278,10 @@ static void subscr_terminate(struct subscriber *subscriber)
*/
*/
static
void
subscr_cancel
(
struct
tipc_subscr
*
s
,
static
void
subscr_cancel
(
struct
tipc_subscr
*
s
,
struct
subscriber
*
subscriber
)
struct
tipc_
subscriber
*
subscriber
)
{
{
struct
subscription
*
sub
;
struct
tipc_
subscription
*
sub
;
struct
subscription
*
sub_temp
;
struct
tipc_
subscription
*
sub_temp
;
int
found
=
0
;
int
found
=
0
;
/* Find first matching subscription, exit if not found */
/* Find first matching subscription, exit if not found */
...
@@ -314,10 +314,10 @@ static void subscr_cancel(struct tipc_subscr *s,
...
@@ -314,10 +314,10 @@ static void subscr_cancel(struct tipc_subscr *s,
* Called with subscriber port locked.
* Called with subscriber port locked.
*/
*/
static
struct
subscription
*
subscr_subscribe
(
struct
tipc_subscr
*
s
,
static
struct
tipc_
subscription
*
subscr_subscribe
(
struct
tipc_subscr
*
s
,
struct
subscriber
*
subscriber
)
struct
tipc_
subscriber
*
subscriber
)
{
{
struct
subscription
*
sub
;
struct
tipc_
subscription
*
sub
;
int
swap
;
int
swap
;
/* Determine subscriber's endianness */
/* Determine subscriber's endianness */
...
@@ -393,7 +393,7 @@ static void subscr_conn_shutdown_event(void *usr_handle,
...
@@ -393,7 +393,7 @@ static void subscr_conn_shutdown_event(void *usr_handle,
unsigned
int
size
,
unsigned
int
size
,
int
reason
)
int
reason
)
{
{
struct
subscriber
*
subscriber
=
usr_handle
;
struct
tipc_
subscriber
*
subscriber
=
usr_handle
;
spinlock_t
*
subscriber_lock
;
spinlock_t
*
subscriber_lock
;
if
(
tipc_port_lock
(
port_ref
)
==
NULL
)
if
(
tipc_port_lock
(
port_ref
)
==
NULL
)
...
@@ -416,9 +416,9 @@ static void subscr_conn_msg_event(void *usr_handle,
...
@@ -416,9 +416,9 @@ static void subscr_conn_msg_event(void *usr_handle,
const
unchar
*
data
,
const
unchar
*
data
,
u32
size
)
u32
size
)
{
{
struct
subscriber
*
subscriber
=
usr_handle
;
struct
tipc_
subscriber
*
subscriber
=
usr_handle
;
spinlock_t
*
subscriber_lock
;
spinlock_t
*
subscriber_lock
;
struct
subscription
*
sub
;
struct
tipc_
subscription
*
sub
;
/*
/*
* Lock subscriber's server port (& make a local copy of lock pointer,
* Lock subscriber's server port (& make a local copy of lock pointer,
...
@@ -471,12 +471,12 @@ static void subscr_named_msg_event(void *usr_handle,
...
@@ -471,12 +471,12 @@ static void subscr_named_msg_event(void *usr_handle,
struct
tipc_portid
const
*
orig
,
struct
tipc_portid
const
*
orig
,
struct
tipc_name_seq
const
*
dest
)
struct
tipc_name_seq
const
*
dest
)
{
{
struct
subscriber
*
subscriber
;
struct
tipc_
subscriber
*
subscriber
;
u32
server_port_ref
;
u32
server_port_ref
;
/* Create subscriber object */
/* Create subscriber object */
subscriber
=
kzalloc
(
sizeof
(
struct
subscriber
),
GFP_ATOMIC
);
subscriber
=
kzalloc
(
sizeof
(
struct
tipc_
subscriber
),
GFP_ATOMIC
);
if
(
subscriber
==
NULL
)
{
if
(
subscriber
==
NULL
)
{
warn
(
"Subscriber rejected, no memory
\n
"
);
warn
(
"Subscriber rejected, no memory
\n
"
);
return
;
return
;
...
@@ -568,8 +568,8 @@ int tipc_subscr_start(void)
...
@@ -568,8 +568,8 @@ int tipc_subscr_start(void)
void
tipc_subscr_stop
(
void
)
void
tipc_subscr_stop
(
void
)
{
{
struct
subscriber
*
subscriber
;
struct
tipc_
subscriber
*
subscriber
;
struct
subscriber
*
subscriber_temp
;
struct
tipc_
subscriber
*
subscriber_temp
;
spinlock_t
*
subscriber_lock
;
spinlock_t
*
subscriber_lock
;
if
(
topsrv
.
setup_port
)
{
if
(
topsrv
.
setup_port
)
{
...
...
net/tipc/subscr.h
View file @
56be1788
...
@@ -37,10 +37,10 @@
...
@@ -37,10 +37,10 @@
#ifndef _TIPC_SUBSCR_H
#ifndef _TIPC_SUBSCR_H
#define _TIPC_SUBSCR_H
#define _TIPC_SUBSCR_H
struct
subscription
;
struct
tipc_
subscription
;
/**
/**
* struct subscription - TIPC network topology subscription object
* struct
tipc_
subscription - TIPC network topology subscription object
* @seq: name sequence associated with subscription
* @seq: name sequence associated with subscription
* @timeout: duration of subscription (in ms)
* @timeout: duration of subscription (in ms)
* @filter: event filtering to be done for subscription
* @filter: event filtering to be done for subscription
...
@@ -52,7 +52,7 @@ struct subscription;
...
@@ -52,7 +52,7 @@ struct subscription;
* @evt: template for events generated by subscription
* @evt: template for events generated by subscription
*/
*/
struct
subscription
{
struct
tipc_
subscription
{
struct
tipc_name_seq
seq
;
struct
tipc_name_seq
seq
;
u32
timeout
;
u32
timeout
;
u32
filter
;
u32
filter
;
...
@@ -64,11 +64,11 @@ struct subscription {
...
@@ -64,11 +64,11 @@ struct subscription {
struct
tipc_event
evt
;
struct
tipc_event
evt
;
};
};
int
tipc_subscr_overlap
(
struct
subscription
*
sub
,
int
tipc_subscr_overlap
(
struct
tipc_
subscription
*
sub
,
u32
found_lower
,
u32
found_lower
,
u32
found_upper
);
u32
found_upper
);
void
tipc_subscr_report_overlap
(
struct
subscription
*
sub
,
void
tipc_subscr_report_overlap
(
struct
tipc_
subscription
*
sub
,
u32
found_lower
,
u32
found_lower
,
u32
found_upper
,
u32
found_upper
,
u32
event
,
u32
event
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment