Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 

OnePopDualStackAcctId Scenario

 

This scenario illustrates a configuration that is very similar to the OnePopAcctId scenario and is specific to dual-stack configuration. This scenario introduces two new agents AcctIdIpv6 and Ipv6AcctId to maintain IPv6 address mappings, in addition to the agents available in the OnePopAcctId scenario. These agents operate on plugin-attribute PA_FRAMED_IPv6_PREFIX.

In this scenario, MappingResolver is used for AcctId to IP resolution. Either IPv4 or IPv6 address is returned to VTA during resolution request. VTA uses the returned IP address to activate or deactivate subscribers in SAE.

Note

This scenario does not induce any change in VTA and VTA makes requests to SAE based on IPv4 or IPv6 address returned by the NIC.

Note

This scenario does not support multiple subscribers with same accounting ID.

Figure 1 shows the resolution graphs for this realm.

Figure 1: Resolution Process for OnePopDualStackAcctId Realm
Resolution
Process for OnePopDualStackAcctId Realm

The following agents collect information for resolvers in this realm:

  • Directory agent PoolVr collects and publishes information about the mappings of IP address pools to VRs.

  • Directory agent VrSaeId collects and publishes information about the mappings of virtual routers and the mappings between virtual routers and SAEs.

  • SAE plug-in agent AcctIdIp collects and publishes information about the mappings of accounting IDs of subscribers to subscriber IPv4 addresses.

  • SAE plug-in agent IpAcctId collects and publishes information about the mappings of subscriber IPv4 addresses to accounting IDs.

  • SAE plug-in agent AcctIdIpv6 collects and publishes information about the mappings of accounting IDs of subscribers to subscriber IPv6 addresses.

  • SAE plug-in agent Ipv6AcctId collects and publishes information about the mappings of subscriber IPv6 addresses to accounting IDs.

The OnePopDualStackAcctId scenario provides one host for a centralized configuration. In this configuration, the single host DemoHost supports all agents and resolvers. Two NIC proxies are associated with the configuration. One NIC proxy (called acct-sae in this description) submits accounting IDs, and another NIC proxy (called addr-acct in this description) submits subscribers’ IP addresses.

When the NIC proxy sends an accounting ID to host DemoHost, the following sequence of events occurs:

  1. The host passes the subscriber’s accounting ID to Resolver A1.

  2. Resolver A1 obtains an IP address for the account ID. The MappingResolver returns either IPv4 or IPv6 address even if mappings for both the address are available in the agents.

  3. Resolver A1 forwards the IP address to Resolver D1.

  4. Resolver D1 obtains the IP pool for the IP address and returns it to Resolver A1.

  5. Resolver A1 forwards the IP address and IP pool to Resolver B1.

  6. Resolver B1 obtains the VR name and returns it to Resolver A1.

  7. Resolver A1 forwards the VR name to Resolver C1.

  8. Resolver C1 obtains the SAE reference for the VR name and returns it to Resolver A1.

  9. Resolver A1 passes the SAE reference to its host.

  10. The host returns the SAE reference to the NIC proxy acct-sae.

When the NIC proxy sends an IP address to host DemoHost, the following sequence of events occurs:

  1. The host passes the subscriber’s IP address to Resolver A1.

  2. Resolver A1 forwards the IP address to Resolver D1.

  3. Resolver D1 obtains the IP pool for the IP address and returns it to Resolver A1.

  4. Resolver A1 forwards the IP address and IP pool to Resolver C1.

  5. Resolver C1 obtains the accounting ID for the IP address and associated IP pool and returns the accounting Id to Resolver A1.

  6. Resolver A1 passes the accounting ID to its host.

  7. The host returns the accounting ID to the NIC proxy addr-acct.

SAE Plug-in Agent Considerations

The following information describes the dual-stack support considerations for the SAE plug-in agent.

For dual-stack subscribers, the family activation and deactivation are published to the NIC SAE plug-in agents (AcctIdIp, IpAcctId, AcctIdIpv6, and Ipv6AcctId) as user interim events.

For each interim event, the available IP addresses (IPv4 or IPv6) in the subscriber sessions are published to the NIC. For example, an IPv6 family deactivation for a subscriber session with both the stacks up triggers a user interim with IPv4 address being populated with a correct value and an empty IPv6 plug-in attribute. This is because the IPv6 family is deactivated.

To process the dual-stack subscribers, the following changes are introduced in SAE plug-in agent.

The following processors are introduced:

  • IPAddressProcessor—Processes the PA_USER_IP_ADDRESS attribute by converting the integer value into string value of IPv4 address. If the SAE does not send any value or sends unknown address (for example, 0.0.0.0), returns empty string.

  • IPv6AddressProcessor—Processes the PA_FRAMED_IPv6_PREFIX attribute by converting the byte value into string value of IPv6 address. If the SAE does not send any value or sends unknown address, returns an empty string.

The following configuration parameters are introduced and are set by default in OnePopDualStackAcctId:

  • ignore-empty-or-unknown-data—In user start or stop events, if PA_USER_IP_ADDRESS or PA_FRAMED_IPv6_PREFIX is returned empty, this parameter prevents the agent from having the mapping for empty or unknown IP address to accounting ID. That is, the event is ignored if it has empty or unknown data.

  • process-interim-based-on-sessionid—In interim events, if PA_USER_IP_ADDRESS or PA_FRAMED_IPv6_PREFIX is returned empty, it indicates that a family has been deactivated. To remove the existing mapping for the subscriber session, this parameter allows removal of the mapping of IP address to accounting ID, based on the session ID.

Note

It is mandatory that you set the above configurations for JSRC dual-stack scenario.

The events are processed in the following sequence:

Start or Stop events

  1. The plug-in attributes are passed to the respective processor (IPAddressProcessor or IPv6AddressProcessor). The processor returns the string form of the IP address or an empty string, if the attribute is empty or unknown IP address.

  2. If an empty string is returned and ignore-empty-or-unknown-data is set, the event is rejected to avoid having mapping for empty data.

  3. For start events, a mapping between the IP address and Account ID is stored.

  4. For stop events, the mapping is deleted.

Interim events

  1. The plug-in attributes are passed to the respective processor (IPAddressProcessor or IPv6AddressProcessor). The processor returns the string form of the IP address or an empty string, if the attribute is empty or unknown IP address.

  2. If an empty string is returned and process-interim-based-on-sessionid is set, the existing mapping based on the session-id is removed from the memory. Else, the existing mapping is preserved.

Note

To detect out-of-order interim events, the mandatory event-time-millisecond plug-in attribute has to be configured in SAE external plug-in configuration. NIC uses this attribute to check the event timestamp of interim events and sends OutOfSync exception to SAE, if the events are not in the order. If this attribute is not configured, the events are rejected in NIC with an exception.

Note

During synchronization between SAE and NIC, the out-of-order events are processed.

Figure 2 illustrates the interactions of the NIC components for this realm.

Figure 2: OnePopDualStackAcctId Centralized Configuration
OnePopDualStackAcctId
Centralized Configuration