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 reconfiguration." [1] 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 1.1.2.1) 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): | | Notice two spaces after VLAN ID. Example: --- CUT HERE --- blahblahignore blahblahignore blah | 123 | eth0 blah | 124 | eth0 --- CUT HERE --- (c) Sebastian Zagrodzki , 2007 [1] http://wiki.wireshark.org/GVRP, 20090304