diff options
author | Patrick McHardy <kaber@trash.net> | 2013-04-17 02:18:26 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-04-17 14:18:33 -0400 |
commit | 8aeb89f214cdb4c3d9e43213d52d4c5b0fb93bbb (patch) | |
tree | ba2175f89efa688ad4e58e0d21842dce4f4c34da /net/tipc/bearer.c | |
parent | ccc4ba2ea23e4507c174620405c5de7bee328f99 (diff) |
tipc: move bcast_addr from struct tipc_media to struct tipc_bearer
Some network protocols, like InfiniBand, don't have a fixed broadcast
address but one that depends on the configuration. Move the bcast_addr
to struct tipc_bearer and initialize it with the broadcast address of
the network device when the bearer is enabled.
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/tipc/bearer.c')
-rw-r--r-- | net/tipc/bearer.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/net/tipc/bearer.c b/net/tipc/bearer.c index aa62f93a9127..45d5398cd957 100644 --- a/net/tipc/bearer.c +++ b/net/tipc/bearer.c | |||
@@ -89,9 +89,6 @@ int tipc_register_media(struct tipc_media *m_ptr) | |||
89 | 89 | ||
90 | if ((strlen(m_ptr->name) + 1) > TIPC_MAX_MEDIA_NAME) | 90 | if ((strlen(m_ptr->name) + 1) > TIPC_MAX_MEDIA_NAME) |
91 | goto exit; | 91 | goto exit; |
92 | if ((m_ptr->bcast_addr.media_id != m_ptr->type_id) || | ||
93 | !m_ptr->bcast_addr.broadcast) | ||
94 | goto exit; | ||
95 | if (m_ptr->priority > TIPC_MAX_LINK_PRI) | 92 | if (m_ptr->priority > TIPC_MAX_LINK_PRI) |
96 | goto exit; | 93 | goto exit; |
97 | if ((m_ptr->tolerance < TIPC_MIN_LINK_TOL) || | 94 | if ((m_ptr->tolerance < TIPC_MIN_LINK_TOL) || |
@@ -407,7 +404,7 @@ restart: | |||
407 | INIT_LIST_HEAD(&b_ptr->links); | 404 | INIT_LIST_HEAD(&b_ptr->links); |
408 | spin_lock_init(&b_ptr->lock); | 405 | spin_lock_init(&b_ptr->lock); |
409 | 406 | ||
410 | res = tipc_disc_create(b_ptr, &m_ptr->bcast_addr, disc_domain); | 407 | res = tipc_disc_create(b_ptr, &b_ptr->bcast_addr, disc_domain); |
411 | if (res) { | 408 | if (res) { |
412 | bearer_disable(b_ptr); | 409 | bearer_disable(b_ptr); |
413 | pr_warn("Bearer <%s> rejected, discovery object creation failed\n", | 410 | pr_warn("Bearer <%s> rejected, discovery object creation failed\n", |