Re: [Bacnet-developers] IPv6 VMAC
Brought to you by:
skarg
|
From: <mat...@fr...> - 2010-02-25 08:43:50
|
> Another option is to modify the address-table API to take port information and increase the internal representation of a MAC address to allow it to hold an IPv6 address. Then when IAm, or any other request, modifies the address table, it would provide, the port, the address and the device id. If the port type information indicates the use of a virtual MAC, then the address-table can return a virtual MAC or an actual MAC (through a new API call). In this case, the BACNET_ADDRESS would have to be extended to allow for the longer addresses, but this is an implementation specific choice (the longer BACNET_ADDRESS would not be network visible in any standard way). The address table could then be used by the IPv6 layer as well for storing the mappings centralizing all device address mapping information. This is the approach I was suggesting in my previous message when I asked if I could store the IPv6 information into the BACNET_ADDRESS structure. But by doing this the BVLL layer could transfer bacnet addresses which are not valid as per addendum 135-2008q to upper layer. Before the address is processed by the IAm handler and the new API call, only the IPv6 part of the bacnet_address is filled. The device id so the vmac address is unknown. It's not really a problem as long as this kind of partial bacnet_address is processed by an IAm handler. But it could hurt if the address is processed by other handlers especially if the message must be routed to another bacnet network. Matthieu VIAL |