Index of /~sebek/gvrpcd
gvrpcd - linux GVRP client daemon
"GVRP stands for GARP (Generic Attribute Registration Protocol) VLAN
Registration Protocol. It's a Layer 2 network protocol, for automatic
configuration of switches in a VLAN network.
Each VLAN switch is configured with the VLANs it is part of. GVRP will
spread this information and configure the needed VLANs.
So to add a switch to a VLAN, only 1 switch needs to be reconfigured. This
is not the case within a standard VLAN, where all switches might need
gvrpcd implements end-node GVRP functionality as a user-space daemon.
It generates periodically GVRP "JOIN" packets with information about
VLANs that server has defined on given NIC, or more generically - that it
wants to be able to connect to.
This is especially useful for Linux-based routers or firewalls that use
lots of VLANs. As new VLANs show up, or old ones are deleted, switch
automatically reconfigures port VLANs membership.
Requirements: libnet (tested with version 18.104.22.168)
Compilation: simply run "make". You'll need libnet library header files.
For usage help, see gvrpcd -h.
My preferred way of running gvrpcd is as foreground process controlled by init.
My example inittab entry (Debian):
gvrp:23:respawn:/usr/local/sbin/gvrpcd -i eth0 -t 3
Other way is to start gvrpcd in daemon mode (-d option). You may find
attached .init script useful for running gvrpcd on boot in daemon mode. Just
put it in /etc/init.d, create symlinks in runlevel directories, copy
.sysconfig file to /etc/sysconfig or /etc/defaults (depending on your
distribution) and edit INTERFACES list. You can also edit INTERFACES
directly in .init file.
Init scripts can also take list of interfaces as command-line arguments.
Format of VLAN config file (-f option) is compatible with
kernel's /proc/net/vlan/config file: two lines of file header (ignored),
and in following lines VLAN configuration (one line per VLAN):
<interface description (ignored)> | <VLAN ID> | <interface>
Notice two spaces after VLAN ID. Example:
--- CUT HERE ---
blah | 123 | eth0
blah | 124 | eth0
--- CUT HERE ---
(c) Sebastian Zagrodzki <firstname.lastname@example.org>, 2007
 http://wiki.wireshark.org/GVRP, 20090304