I have a few 3rd party libraries that control ethernet GigEVision cameras and inertial location systems. They discover what devices are available by broadcasting on each ethernet interface. I have the source for one but not the others. But a broadcast is the discovery method.
In order for these libs to do this, the process must have suifficient permissions. So, we run them as root. In fact, these both come with a very useful Windows exploration tool that happily works in wine when it is run as root. Not a big fan of doing that.... But it does work.
Our systems are stand-alone with limited access. There is no security opening. I looked at the man page for capabilities(7) and saw CAP_NET_BROADCAST, which seemed to be interesting. Except that in the description it said it was unused (oprnSUSE 12.1 and newer).
My question is if it is possible to arrange for a non-root user to be able to do ethernet broadcasts. If so, how do I set that up? Some interesting value to echo to some place in /proc or /sys?