Class InetServIpUtils
java.lang.Object
ru.bitel.bgbilling.modules.inet.server.ip.InetServIpUtils
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidcloseConnectionsWithIntersectionIP(InetServ inetServ, InetSessionDao inetSessionDao, Directory<InetServType> servTypeDirectory, InetSessionService inetSessionService, int moduleId) При назначении адреса не учитывается, что адрес может быть сейчас занят в динамической выдаче.static voidflowStaticSubnet(List<IpNet> result, IpNet net) добавляем статическую подсеть в обсчет Netflowstatic byte[]getEndAddressFromParent(InetServ parent, Preferences servTypeConfig) static byte[]getStartAddressFromParent(InetServ parent, Preferences servTypeConfig) static voidsetDelegatedIPv6Prefix(RadiusListenerWorker<?> radiusListenerWorker, RadiusPacket response, int ipResourceId, byte[] prefix, short prefixLength) Для ipv6 проставляем в response атрибут Delegated_IPv6_Prefixstatic voidsetFramedIPAddress(RadiusListenerWorker<?> radiusListenerWorker, RadiusPacket response, int ipResourceId, byte[] ipAddress) Установка ip-адреса в response в атрибуты Framed_IP_Address/Framed_IPv6_Prefix.static voidsetFramedIPv6Prefix(RadiusListenerWorker<?> radiusListenerWorker, RadiusPacket response, int ipResourceId, byte[] prefix, short prefixLength) Для ipv6 проставляем в response атрибут Framed_IPv6_Prefix
-
Constructor Details
-
InetServIpUtils
public InetServIpUtils()
-
-
Method Details
-
getStartAddressFromParent
-
getEndAddressFromParent
-
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.BGExceptionException
-
flowStaticSubnet
добавляем статическую подсеть в обсчет Netflow- Parameters:
result-inetServRuntime-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-ресурса, из которого взяли ipipAddress- адрес
-
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-ресурса, из которого взяли ipprefix- префикс 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-ресурса, из которого взяли ipprefix- префикс ipv6-ресурса, отвечающий за адрес сетиprefixLength- длина ipv6-префикса. Длина префикса настраивается в редакторе ip-ресурса в отдельном поле
-