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 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(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 Exception
    При назначении адреса не учитывается, что адрес может быть сейчас занят в динамической выдаче. Здесь производится поиск и закрытие таких сессий. TODO: возможно переделать на DAO для оптимизации, или при специальном флаге - не искать вообще (например, для конвертации)
    Parameters:
      `inetServ` -
    Throws:
      `ru.bitel.bgbilling.common.BGException`
      `Exception`

  - ### flowStaticSubnet

    public static void flowStaticSubnet(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-ресурса в отдельном поле