aboutsummaryrefslogtreecommitdiffstats
path: root/net/tipc/bcast.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/tipc/bcast.c')
-rw-r--r--net/tipc/bcast.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/net/tipc/bcast.c b/net/tipc/bcast.c
index 74ee09ac430d..d8c399d31288 100644
--- a/net/tipc/bcast.c
+++ b/net/tipc/bcast.c
@@ -148,9 +148,9 @@ void tipc_bclink_input(struct net *net)
148 tipc_sk_mcast_rcv(net, &tn->bcbase->arrvq, &tn->bcbase->inputq); 148 tipc_sk_mcast_rcv(net, &tn->bcbase->arrvq, &tn->bcbase->inputq);
149} 149}
150 150
151uint tipc_bcast_get_mtu(void) 151int tipc_bcast_get_mtu(struct net *net)
152{ 152{
153 return MAX_PKT_DEFAULT_MCAST; 153 return tipc_link_mtu(tipc_bc_sndlink(net));
154} 154}
155 155
156static u16 bcbuf_acks(struct sk_buff *skb) 156static u16 bcbuf_acks(struct sk_buff *skb)
@@ -175,7 +175,7 @@ static void tipc_bcbase_select_primary(struct net *net)
175{ 175{
176 struct tipc_bc_base *bb = tipc_bc_base(net); 176 struct tipc_bc_base *bb = tipc_bc_base(net);
177 int all_dests = tipc_link_bc_peers(bb->link); 177 int all_dests = tipc_link_bc_peers(bb->link);
178 int i; 178 int i, mtu;
179 179
180 bb->primary_bearer = INVALID_BEARER_ID; 180 bb->primary_bearer = INVALID_BEARER_ID;
181 181
@@ -183,6 +183,13 @@ static void tipc_bcbase_select_primary(struct net *net)
183 return; 183 return;
184 184
185 for (i = 0; i < MAX_BEARERS; i++) { 185 for (i = 0; i < MAX_BEARERS; i++) {
186 if (!bb->dests[i])
187 continue;
188
189 mtu = tipc_bearer_mtu(net, i);
190 if (mtu < tipc_link_mtu(bb->link))
191 tipc_link_set_mtu(bb->link, mtu);
192
186 if (bb->dests[i] < all_dests) 193 if (bb->dests[i] < all_dests)
187 continue; 194 continue;
188 195
@@ -1220,7 +1227,7 @@ int tipc_bcast_init(struct net *net)
1220 bb->node.net = net; 1227 bb->node.net = net;
1221 1228
1222 if (!tipc_link_bc_create(&bb->node, 0, 0, 1229 if (!tipc_link_bc_create(&bb->node, 0, 0,
1223 MAX_PKT_DEFAULT_MCAST, 1230 U16_MAX,
1224 BCLINK_WIN_DEFAULT, 1231 BCLINK_WIN_DEFAULT,
1225 0, 1232 0,
1226 &bb->inputq, 1233 &bb->inputq,