This commit changes the method of accessing the default v6 prefix. Instead of always using `UIP_DS6_DEFAULT_PREFIX`, we store the default prefix in a variable. We subsequently retrieve the prefix by calling `uip_ds6_default_prefix()`.
`uip_ds6_init()` will set this variable to the value of `UIP_DS6_DEFAULT_PREFIX`, but only if the startup code has not set a different default prefix before `uip_ds6_init()` gets called.
This approach has the following benefits:
* It allows us to change the default prefix at run time.
* It allows the startup code to set a prefix different than the one specified by `UIP_DS6_DEFAULT_PREFIX`, which can be useful if the default prefix comes from a different source (e.g. the command line for native, or a configuration stored on a node's flash)
* In many places the current code assumes that the prefix contains 6 bytes of zeros (e.g. `FDxx::/64`). Changing to a different prefix (e.g. `FD00:ABCD::`) would need extensive code changes. This change here makes it easy to use a prefix of any length.
Made cc2420 follow the same logic as cc2538 when
disabling the unmodulated carrier. Now they both
return to the state they were in before the carrier
was enabled.
Modified the cc2538 driver to enable the radio test
mode to emit unmodulated carriers (tones).
A carrier can be enabled using the normal radio driver
API:
NETSTACK_CONF_RADIO.set_value(
RADIO_PARAM_POWER_MODE,
RADIO_POWER_MODE_CARRIER_ON);
Once enabled, the carrier can be disabled like this:
NETSTACK_CONF_RADIO.set_value(
RADIO_PARAM_POWER_MODE,
RADIO_POWER_MODE_CARRIER_OFF);
This feature, which is disabled by default, extends the neighbor cache
management in order to have multiple IPv6 address associated with a
single link-layer address as neighbor caches.
To use this feature, set 1 to UIP_DS6_NBR_CONF_MAX_NEIGHBOR_CACHES.
Modified the cc2420 driver to enable the radio test
mode to emit unmodulated carriers (tones).
A carrier can be enabled using the normal radio driver
API:
NETSTACK_CONF_RADIO.set_value(
RADIO_PARAM_POWER_MODE,
RADIO_POWER_MODE_CARRIER_ON);
Once enabled, the carrier can be disabled like this:
NETSTACK_CONF_RADIO.set_value(
RADIO_PARAM_POWER_MODE,
RADIO_POWER_MODE_CARRIER_OFF);