Package ru.bitel.bgbilling.modules.inet.server.ip

# Class InetServIpUtils

java.lang.Object
ru.bitel.bgbilling.modules.inet.server.ip.InetServIpUtils

    public class InetServIpUtils
    extends java.lang.Object

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `InetServIpUtils()` |

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `static void` | `closeConnectionsWithIntersectionIP​(InetServ inetServ, InetSessionDao inetSessionDao, Directory<InetServType> servTypeDirectory, InetSessionService inetSessionService, int moduleId)` | При назначении адреса не учитывается, что адрес может быть сейчас занят в динамической выдаче.
  `static void` | `flowStaticSubnet​(java.util.List<IpNet> result, IpNet net)` | добавляем статическую подсеть в обсчет Netflow
  `static byte[]` | `getEndAddressFromParent​(InetServ parent, Preferences servTypeConfig)` |
  `static byte[]` | `getStartAddressFromParent​(InetServ parent, Preferences servTypeConfig)` |
  `static void` | `setDelegatedIPv6Prefix​(RadiusListenerWorker<?> radiusListenerWorker, RadiusPacket response, int ipResourceId, byte[] prefix, short prefixLength)` | Для ipv6 проставляем в response атрибут Delegated_IPv6_Prefix
  `static void` | `setFramedIPAddress​(RadiusListenerWorker<?> radiusListenerWorker, RadiusPacket response, int ipResourceId, byte[] ipAddress)` | Установка ip-адреса в response в атрибуты Framed_IP_Address/Framed_IPv6_Prefix.
  `static void` | `setFramedIPv6Prefix​(RadiusListenerWorker<?> radiusListenerWorker, RadiusPacket response, int ipResourceId, byte[] prefix, short prefixLength)` | Для ipv6 проставляем в response атрибут Framed_IPv6_Prefix

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### InetServIpUtils

    public InetServIpUtils()

- ## Method Details

  - ### getStartAddressFromParent

    public static byte[] getStartAddressFromParent​(InetServ parent, Preferences servTypeConfig)

  - ### getEndAddressFromParent

    public static byte[] getEndAddressFromParent​(InetServ parent, Preferences servTypeConfig)

  - ### closeConnectionsWithIntersectionIP

    public static void closeConnectionsWithIntersectionIP​(InetServ inetServ, InetSessionDao inetSessionDao, Directory<InetServType> servTypeDirectory, InetSessionService inetSessionService, int moduleId) throws ru.bitel.bgbilling.common.BGException
    При назначении адреса не учитывается, что адрес может быть сейчас занят в динамической выдаче. Здесь производится поиск и закрытие таких сессий. TODO: возможно переделать на DAO для оптимизации, или при специальном флаге - не искать вообще (например, для конвертации)
    Parameters:
      `inetServ` -
    Throws:
      `ru.bitel.bgbilling.common.BGException`

  - ### flowStaticSubnet

    public static void flowStaticSubnet​(java.util.List<IpNet> result, IpNet net)
    добавляем статическую подсеть в обсчет Netflow
    Parameters:
      `inetServRuntime` -
      `result` -
      `addressFrom` -
      `addressTo` -

  - ### setFramedIPAddress

    public static void setFramedIPAddress​(RadiusListenerWorker<?> radiusListenerWorker, RadiusPacket response, int ipResourceId, byte[] ipAddress)
    Установка ip-адреса в response в атрибуты Framed_IP_Address/Framed_IPv6_Prefix.
    Parameters:
      `radiusListenerWorker` - текущий обработчик радиус-запроса
      `response` - ответ на запрос
      `ipResourceId` - id ip-ресурса, из которого взяли ip
      `ipAddress` - адрес

  - ### setFramedIPv6Prefix

    public static void setFramedIPv6Prefix​(RadiusListenerWorker<?> radiusListenerWorker, RadiusPacket response, int ipResourceId, byte[] prefix, short prefixLength)
    Для ipv6 проставляем в response атрибут Framed_IPv6_Prefix
    Parameters:
      `radiusListenerWorker` - текущий обработчик радиус-запроса
      `response` - ответ на запрос
      `ipResourceId` - id ip-ресурса, из которого взяли ip
      `prefix` - префикс ipv6-ресурса, отвечающий за адрес сети
      `prefixLength` - длина ipv6-префикса. Длина префикса настраивается в редакторе ip-ресурса в отдельном поле

  - ### setDelegatedIPv6Prefix

    public static void setDelegatedIPv6Prefix​(RadiusListenerWorker<?> radiusListenerWorker, RadiusPacket response, int ipResourceId, byte[] prefix, short prefixLength)
    Для ipv6 проставляем в response атрибут Delegated_IPv6_Prefix
    Parameters:
      `radiusListenerWorker` - текущий обработчик радиус-запроса
      `response` - ответ на запрос
      `ipResourceId` - id ip-ресурса, из которого взяли ip
      `prefix` - префикс ipv6-ресурса, отвечающий за адрес сети
      `prefixLength` - длина ipv6-префикса. Длина префикса настраивается в редакторе ip-ресурса в отдельном поле