The bcast directive is used to configure which interfaces Heartbeat sends UDP broadcast traffic on. More than one interface can be specified on the line. The udpport directive is used to configure which port is used for these broadcast communications if the udpport directive is specified before the bcast directive, otherwise the default port will be used. A couple of sample bcast lines are shown below.
bcast eth0 eth1 # on Linux systems bcast le0 # for Solaris systems
On CRM-enabled clusters, the bcast directive does not work on FreeBSD and OpenBSD because of the fragmentation issue described in
W. Richard Stevens - Unix Network Programming - Vol 1 - 3rd Edition: The Sockets Networking API
20.4 dg_cli Function Using Broadcasting .. IP Fragmentation and Broadcasts Berkeley-derived kernels do not allow a broadcast datagram to be fragmented. If the size of an IP datagram that is being sent to a broadcast address exceeds the outgoing interface MTU, EMSGSIZE is returned (pp. 233-234 of TCPv2). This is a policy decision that has existed since 4.2BSD. There is nothing that prevents a kernel from fragmenting a broadcast datagram, but the feeling is that broadcasting puts enough load on the network as it is, so there is no need to multiply this load by the number of fragments. .... AIX, FreeBSD, and MacOS implement this limitation. Linux, Solaris, and HP-UX fragment datagrams sent to a broadcast address.
This results because CRM clusters try and send large (>MTU size) packets over the cluster communication media.