Implementing GVRP host

I am trying to make a GVRP host to an endstation. The idea is that this host has static VLAN entries and it sends GVRP messages to a switch which creates dynamical VLAN entries and propagates GVRP messages further.

I have read (=tried to understand) GVRP section of IEEE 802.1Q and some other GVRP related documents but lots of things are unclear for me.

IEEE 802.1Q has "skeleton code" for implementing GVRP but I'm surprised that there doesn't seem to be any complete (or even less complete) source codes published in internet. There are few things, which I don't understand in above mentioned skeleton code. For example:

- include files require gip.h but GIP is not needed to implement in endstation (only 1 participant), right?

- where is the implementation of these "system supplied routines" such as syspdu_tx & syspdu_alloc? What does sys.h include?

- are there any clear instructions anywhere how to build GVRP frame? IEEE code just uses some gvf_wrmsg & gvf_rdmsg routines without a word of their implementation.

I also wonder what IEE 802.1Q means by ES_REGISTER_VLAN_MEMBER & ES_DEREGISTER_VLAN_MEMBER service primitives. Are these primitives implemented somewhere? If not, why such specific name?

I do see an alternative way to implement GVRP functionality by using SNMP to configure static VLANs to switch which endstation is connected and therefore not needing to simulate GVRP functionality in endstation itself. However this might be less optimal solution.

Reply to
Hess
Loading thread data ...

[..]

Since GVRP is an application of GARP, you would really need to understand GARP before you can fully implement GVRP. GARP is described in IEEE 802.1D. You might want to take a look at that since it'll answer most of your questions. That is, for example, where you would find sys.h.

Anoop

Reply to
Anoop Ghanwani

Yeah but I have been reading GARP section of IEEE 802.1D as well without getting answers :) For example that sys.h included some other libraries which are unknown to me. And I am more interested about code files than header files ;)

Reply to
Hess

In that case, you might try posting your queries to the IEEE 802.1 mailing list. See

formatting link
for more information on this. I am not aware of a public-domain GVRP implementation, so I doubt you will be able to get any code. However, the folks there are pretty good about clarifying concepts for anyone posting to the list.

Anoop

Reply to
Anoop Ghanwani

Ok, I'll take a look of it. Thanks for your suggestion. It just really makes me wonder why there isn't any freeware GVRP implementations out there (and not many commercial ones either) - haven't people found the concept of it helpful?

Reply to
Hess

There are the following commercial implementations:

formatting link
are probably others as well.

A search on GVRP for Linux turned up this paper which might address some of your issues:

formatting link
To the best of my knowledge GVRP is not a very widely deployed protocol, and certainly not one that a network administrator would trust users to run on an end-station. In general, however, freeware versions of bridging software are sparse.

Anoop

Reply to
Anoop Ghanwani

Cabling-Design.com Forums website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.