On Apr 11, 2006, at 6:30 PM, Sebastien Roy wrote:

Nicolas Droux wrote:
- If the "destination address" (as in mac_dest_update()) is used only for IP tunnels, shouldn't it be part of the plugin data for that MAC type?


It can't be transparent to Nemo because the address is passed up in
DL_NOTIFY_IND messages.
Isn't this address specific to the IP tunnels plug-in though?

No more so than unicast source addresses are specific to the Ethernet plugin. There are (or will be) three different tunneling plugins, and two of them use destination addresses. In the future, I can see other types of MACs (including different kinds of tunneling) that have this concept, so I don't think it's really specific to IP tunnels.

If so, your statement would imply that the introduction of new notifications types would require a modification of the framework itself,

That's true, since all notifications are requested, generated, and distributed by the framework.

even for notifications that are plug-in specific. Is this a correct statement?

I think so. I don't see a convenient way to generically inject notifications into GLDv3 all the way from the mac module up to individual DLPI STREAMS in dld.

Have you considered adding the plugin to the notification path itself for plugin-specific notifications? In this case the mac_handle_t would be passed through by the plugin, and the notification would make it up to the MAC clients.

My concern with the current proposal is that new plugin types might require new entry points to be added to the MAC driver and client interfaces of the common framework.


- shouldn't there be a versioning mechanism between the plugins and the drivers that depend on that plugin? I.e. the change of an interface provided by one plugin shouldn't affect drivers using different plug-ins.


I don't understand this comment. Drivers don't use plugin interfaces at
all.  Can you provide an example or be more specific?
I'm talking about the format of the plugin data that is exchanged between drivers and plugins. The format of that data is defined by the plugin. What if a new version of the plugin requires a new format for that data, shouldn't there be a versioning mechanism to track the versions of individual plugins?

Ah, I see what you're saying. It seems like that's specific to a given
plugin's data format.

But in that case the plugin would have to be invoked to validate the plugin data specified by MAC drivers when they register, for example to detect a mismatching version number. I don't remember seeing such hook in your proposal.

Thanks,
Nicolas.

--
Nicolas Droux, Solaris Kernel Networking
Sun Microsystems, Inc. http://blogs.sun.com/droux


_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to