summaryrefslogtreecommitdiffstats
path: root/net/tipc/bearer.c
diff options
context:
space:
mode:
authorJon Paul Maloy2015-10-22 14:51:43 +0200
committerDavid S. Miller2015-10-24 15:56:40 +0200
commit959e1781aa230aecc90e4deb80117fd9a53dede7 (patch)
tree623deab93b0a27fe2208d1c1da55741d6cd926bc /net/tipc/bearer.c
parenttipc: simplify bearer level broadcast (diff)
downloadkernel-qcow2-linux-959e1781aa230aecc90e4deb80117fd9a53dede7.tar.gz
kernel-qcow2-linux-959e1781aa230aecc90e4deb80117fd9a53dede7.tar.xz
kernel-qcow2-linux-959e1781aa230aecc90e4deb80117fd9a53dede7.zip
tipc: introduce jumbo frame support for broadcast
Until now, we have only been supporting a fix MTU size of 1500 bytes for all broadcast media, irrespective of their actual capability. We now make the broadcast MTU adaptable to the carrying media, i.e., we use the smallest MTU supported by any of the interfaces attached to TIPC. Signed-off-by: Jon Maloy <jon.maloy@ericsson.com> Reviewed-by: Ying Xue <ying.xue@windriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/tipc/bearer.c')
-rw-r--r--net/tipc/bearer.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/net/tipc/bearer.c b/net/tipc/bearer.c
index 62f47ecc6b84..b39f631fd6d7 100644
--- a/net/tipc/bearer.c
+++ b/net/tipc/bearer.c
@@ -464,6 +464,19 @@ void tipc_bearer_send(struct net *net, u32 bearer_id, struct sk_buff *buf,
rcu_read_unlock();
}
+int tipc_bearer_mtu(struct net *net, u32 bearer_id)
+{
+ int mtu = 0;
+ struct tipc_bearer *b;
+
+ rcu_read_lock();
+ b = rcu_dereference_rtnl(tipc_net(net)->bearer_list[bearer_id]);
+ if (b)
+ mtu = b->mtu;
+ rcu_read_unlock();
+ return mtu;
+}
+
/* tipc_bearer_xmit() -send buffer to destination over bearer
*/
void tipc_bearer_xmit(struct net *net, u32 bearer_id,