public class PacketValueExtractor
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected java.util.regex.Pattern |
agentSvlanPattern
Шаблон поиска SVLAN
|
protected java.lang.String |
agentSvlanPrefix
Префикс атрибута (если есть) - значение для SVLAN
|
protected int |
agentSvlanType
Код атрибута - значение для SVLAN
|
protected int |
agentSvlanVendor
Вендор атрибута - значение для SVLAN
|
protected java.lang.String |
calledStationIdPrefix
Префикс атрибута (если есть) - значение для подмены Called-Station-Id
|
protected int |
calledStationIdType
Код атрибута - значение для подмены Called-Station-Id
|
protected int |
calledStationIdVendor
Вендор атрибута - значение для подмены Called-Station-Id
|
protected java.lang.String |
callingStationIdPrefix
Префикс атрибута (если есть) - значение для подмены Calling-Station-Id
|
protected int |
callingStationIdType
Код атрибута - значение для подмены Calling-Station-Id
|
protected int |
callingStationIdVendor
Вендор атрибута - значение для подмены Calling-Station-Id
|
protected java.util.regex.Pattern |
macAddressPattern
Шаблон поиска MAC-адреса
|
protected java.lang.String |
macAddressPrefix
Префикс атрибута (если есть) - MAC-адрес
|
protected int |
macAddressType
Код атрибута - MAC-адрес
|
protected int |
macAddressVendor
Вендор атрибута - MAC-адрес
|
protected int |
option82RemoveHeader
Нужно ли удалять заголовок (2 байта, тип+длина) из значения DHCP-опции
|
protected java.util.regex.Pattern |
vlanPattern
Шаблон поиска VLAN
|
protected java.lang.String |
vlanPrefix
Префикс атрибута (если есть) - значение для VLAN
|
protected int |
vlanType
Код атрибута - значение для VLAN
|
protected int |
vlanVendor
Вендор атрибута - значение для VLAN
|
Constructor and Description |
---|
PacketValueExtractor(ParameterMap config) |
Modifier and Type | Method and Description |
---|---|
byte[] |
convertToInt(java.lang.Object data)
Конвертирует значение (byte[], ByteBuffer, HEX-String) в byte[].
|
int |
convertToInt(java.lang.Object value,
int def)
Ковертирует значение (String, Long, Integer, byte[], ByteBuffer) в int.
|
int |
extractAgentSvlanId(RadiusPacket request)
Извлечение VLAN из RADIUS-пакета c помошью параметров конфигурации:
radius.agentSvlan.vendor=
radius.agentSvlan.type=
radius.agentSvlan.prefix=
radius.agentSvlan.pattern=
Или извлечение VLAN из circuitId option82 RADIUS-пакета c помошью параметров конфигурации:
dhcp.option82.agentSvlanId.code=2
dhcp.option82.agentSvlanId.hex=^(\w{2})
Или
dhcp.option82.agentSvlanId.code=2
dhcp.option82.agentSvlanId.position=0
dhcp.option82.agentSvlanId.length=2
|
java.lang.Object |
extractCalledStationId(RadiusPacket request)
Получение Called-Station-Id из атрибута в RADIUS-пакете c помошью параметров конфигурации:
radius.calledStationId.vendor=
radius.calledStationId.type=
radius.calledStationId.prefix=
|
java.lang.Object |
extractCallingStationId(RadiusPacket request)
Получение Calling-Station-Id из атрибута в RADIUS-пакете c помошью параметров конфигурации:
radius.callingStationId.vendor=
radius.callingStationId.type=
radius.callingStationId.prefix=
|
java.lang.Object |
extractMacAddress(RadiusPacket request)
Извлечение значения MAC-адреса с помошью параметров конфигурации:
radius.macAddress.vendor=
radius.macAddress.type=
radius.macAddress.prefix=
radius.macAddress.pattern=
|
java.lang.Object |
extractOption82AgentRemoteId(DhcpPacket request)
Извлечение agentRemoteId из option82 DHCP-пакета c помошью параметров конфигурации:
dhcp.option82.agentRemoteId.code=2
dhcp.option82.agentRemoteId.hex=.*
Или
dhcp.option82.agentRemoteId.code=2
dhcp.option82.agentRemoteId.position=2
dhcp.option82.agentRemoteId.length=6
|
int |
extractOption82AgentSvlanId(DhcpPacket request)
Извлечение SVLAN из option82 DHCP-пакета c помошью параметров конфигурации:
dhcp.option82.agentSvlanId.code=2
dhcp.option82.agentSvlanId.hex=^(\w{2})
Или
dhcp.option82.agentSvlanId.code=2
dhcp.option82.agentSvlanId.position=0
dhcp.option82.agentSvlanId.length=2
Если в пакет проставлена опция InetDhcpProcessor.AGENT_CIRCUIT_ID, то извлечения происходит из него (т.е. параметр dhcp.option82.agentSvlanId.code
ингоринуется).
|
int |
extractOption82InterfaceId(DhcpPacket request)
Извлечение порта из option82 DHCP-пакета c помошью параметров конфигурации:
dhcp.option82.interfaceId.code=2
dhcp.option82.interfaceId.hex=^(\w{2})
Или
dhcp.option82.interfaceId.code=2
dhcp.option82.interfaceId.position=0
dhcp.option82.interfaceId.length=2
Если в пакет проставлена опция InetDhcpProcessor.AGENT_CIRCUIT_ID, то извлечения происходит из него (т.е. параметр dhcp.option82.interfaceId.code
ингоринуется).
|
int |
extractOption82InterfaceId(RadiusPacket request)
Извлечение порта из circuitId option82 RADIUS-пакета c помошью параметров конфигурации:
dhcp.option82.interfaceId.hex=^(\w{2})
Или
dhcp.option82.interfaceId.position=0
dhcp.option82.interfaceId.length=2
|
int |
extractOption82VlanId(DhcpPacket request)
Извлечение VLAN из option82 DHCP-пакета c помошью параметров конфигурации:
dhcp.option82.vlanId.code=2
dhcp.option82.vlanId.hex=^(\w{2})
Или
dhcp.option82.vlanId.code=2
dhcp.option82.vlanId.position=0
dhcp.option82.vlanId.length=2
Если в пакет проставлена опция InetDhcpProcessor.AGENT_CIRCUIT_ID, то извлечения происходит из него (т.е. параметр dhcp.option82.vlanId.code
ингоринуется).
|
int |
extractOption82VlanId(RadiusPacket request)
Извлечение VLAN из circuitId option82 RADIUS-пакета c помошью параметров конфигурации:
dhcp.option82.vlanId.hex=^(\w{2})
Или
dhcp.option82.vlanId.position=0
dhcp.option82.vlanId.length=2
|
int |
extractVlanId(RadiusPacket request)
Извлечение VLAN из RADIUS-пакета c помошью параметров конфигурации:
radius.vlan.vendor=
radius.vlan.type=
radius.vlan.prefix=
radius.vlan.pattern=
Или извлечение VLAN из circuitId option82 RADIUS-пакета c помошью параметров конфигурации:
dhcp.option82.vlanId.position=0
dhcp.option82.vlanId.length=2
|
java.lang.Object |
getAgentRemoteId(RadiusPacket request)
Получение agentRemoteId из option82 RADIUS-пакета.
|
int |
getAgentSvlanId(RadiusPacket request,
boolean setOption)
Получение SVLAN из RADIUS-пакета.
|
ru.bitel.common.io.BinaryValueExtractor |
getExtractor(ParameterMap params,
java.lang.String prefix) |
java.lang.Object |
getOption82AgentRemoteId(DhcpPacket request,
boolean setOption)
Получение agentRemoteId из option82 DHCP-пакета.
|
int |
getOption82AgentSvlanId(DhcpPacket request,
boolean setOption)
Получение SVLAN из option82 DHCP-пакета.
|
java.lang.Object |
getOption82CircuitId(RadiusPacket request)
Получение circuitId из option82 RADIUS-пакета.
|
int |
getOption82InterfaceId(DhcpPacket request,
boolean setOption)
Получение порта из DHCP-пакета.
|
int |
getOption82InterfaceId(RadiusPacket request,
boolean setOption)
Получение порта из RADIUS-пакета.
|
java.lang.Object |
getOption82Login(DhcpPacket request)
Получение логина из option82 DHCP-пакета c помошью параметров конфигурации:
dhcp.option82.login.code=2
dhcp.option82.login.hex=.*
|
java.lang.Object |
getOption82Login(DhcpPacket request,
boolean setOption)
Получение логина из option82 DHCP-пакета c помошью параметров конфигурации:
dhcp.option82.login.code=2
dhcp.option82.login.hex=.*
|
int |
getOption82VlanId(DhcpPacket request,
boolean setOption)
Получение VLAN из option82 DHCP-пакета.
|
int |
getOption82VlanId(RadiusPacket request,
boolean setOption)
Получение VLAN из circuitId option82 RADIUS-пакета.
|
int |
getVlanId(RadiusPacket request,
boolean setOption)
Получение VLAN из RADIUS-пакета.
|
void |
setCalledStationIdAttribute(RadiusPacket request)
Подмена Called-Station-Id атрибута в RADIUS-пакете c помошью параметров конфигурации:
radius.calledStationId.vendor=
radius.calledStationId.type=
radius.calledStationId.prefix=
|
void |
setCallingStationIdAttribute(RadiusPacket request)
Подмена Calling-Station-Id атрибута в RADIUS-пакете c помошью параметров конфигурации:
radius.callingStationId.vendor=
radius.callingStationId.type=
radius.callingStationId.prefix=
|
void |
setMacAddressOption(RadiusPacket request)
Извлечение значения MAC-адреса и установка его как опцию.
|
protected int option82RemoveHeader
protected int macAddressVendor
protected int macAddressType
protected java.lang.String macAddressPrefix
protected java.util.regex.Pattern macAddressPattern
protected int callingStationIdVendor
protected int callingStationIdType
protected java.lang.String callingStationIdPrefix
protected int calledStationIdVendor
protected int calledStationIdType
protected java.lang.String calledStationIdPrefix
protected int vlanVendor
protected int vlanType
protected java.lang.String vlanPrefix
protected java.util.regex.Pattern vlanPattern
protected int agentSvlanVendor
protected int agentSvlanType
protected java.lang.String agentSvlanPrefix
protected java.util.regex.Pattern agentSvlanPattern
public PacketValueExtractor(ParameterMap config)
public int convertToInt(java.lang.Object value, int def)
value
- def
- public byte[] convertToInt(java.lang.Object data)
data
- public java.lang.Object getOption82AgentRemoteId(DhcpPacket request, boolean setOption)
extractOption82AgentRemoteId(DhcpPacket)
.request
- DHCP-запрос.setOption
- нужно ли установить извлеченное значение в пакет через request.setOption.public java.lang.Object extractOption82AgentRemoteId(DhcpPacket request)
dhcp.option82.agentRemoteId.code=2 dhcp.option82.agentRemoteId.hex=.*Или
dhcp.option82.agentRemoteId.code=2 dhcp.option82.agentRemoteId.position=2 dhcp.option82.agentRemoteId.length=6
request
- public java.lang.Object getAgentRemoteId(RadiusPacket request)
radius.agentRemoteId.vendor=2352 radius.agentRemoteId.type=96 #radius.agentRemoteId.prefix= #radius.agentRemoteId.pattern=Полученное значение устанавливается как опция InetRadiusProcessor.AGENT_REMOTE_ID в пакет.
request
- RADIUS-запрос.public java.lang.Object getOption82CircuitId(RadiusPacket request)
radius.option82.circuitId.vendor=2352 radius.option82.circuitId.type=97 #radius.option82.circuitId.prefix= #radius.option82.circuitId.pattern=Полученное значение устанавливается как опция InetRadiusProcessor.AGENT_CIRCUIT_ID в пакет.
request
- RADIUS-запрос.public int getOption82VlanId(DhcpPacket request, boolean setOption)
extractOption82VlanId(DhcpPacket)
.request
- DHCP-запрос.setOption
- нужно ли установить извлеченное значение в пакет через request.setOption.public int getOption82AgentSvlanId(DhcpPacket request, boolean setOption)
extractOption82AgentSvlanId(DhcpPacket)
.request
- DHCP-запрос.setOption
- нужно ли установить извлеченное значение в пакет через request.setOption.public int extractOption82VlanId(DhcpPacket request)
dhcp.option82.vlanId.code=2 dhcp.option82.vlanId.hex=^(\w{2})Или
dhcp.option82.vlanId.code=2 dhcp.option82.vlanId.position=0 dhcp.option82.vlanId.length=2Если в пакет проставлена опция InetDhcpProcessor.AGENT_CIRCUIT_ID, то извлечения происходит из него (т.е. параметр dhcp.option82.vlanId.code ингоринуется).
request
- public int extractOption82AgentSvlanId(DhcpPacket request)
dhcp.option82.agentSvlanId.code=2 dhcp.option82.agentSvlanId.hex=^(\w{2})Или
dhcp.option82.agentSvlanId.code=2 dhcp.option82.agentSvlanId.position=0 dhcp.option82.agentSvlanId.length=2Если в пакет проставлена опция InetDhcpProcessor.AGENT_CIRCUIT_ID, то извлечения происходит из него (т.е. параметр dhcp.option82.agentSvlanId.code ингоринуется).
request
- public int getOption82VlanId(RadiusPacket request, boolean setOption)
extractOption82VlanId(RadiusPacket)
.request
- RADIUS-запрос.setOption
- нужно ли установить извлеченное значение в пакет через request.setOption.public int extractOption82VlanId(RadiusPacket request)
dhcp.option82.vlanId.hex=^(\w{2})Или
dhcp.option82.vlanId.position=0 dhcp.option82.vlanId.length=2
request
- getOption82CircuitId(RadiusPacket)
public int getVlanId(RadiusPacket request, boolean setOption)
extractVlanId(RadiusPacket)
.request
- RADIUS-запрос.setOption
- нужно ли установить извлеченное значение в пакет через request.setOption.public int extractVlanId(RadiusPacket request)
radius.vlan.vendor= radius.vlan.type= radius.vlan.prefix= radius.vlan.pattern=Или извлечение VLAN из circuitId option82 RADIUS-пакета c помошью параметров конфигурации:
dhcp.option82.vlanId.position=0 dhcp.option82.vlanId.length=2
request
- RADIUS-пакет.public int getAgentSvlanId(RadiusPacket request, boolean setOption)
extractAgentSvlanId(RadiusPacket)
.request
- RADIUS-запрос.setOption
- нужно ли установить извлеченное значение в пакет через request.setOption.public int extractAgentSvlanId(RadiusPacket request)
radius.agentSvlan.vendor= radius.agentSvlan.type= radius.agentSvlan.prefix= radius.agentSvlan.pattern=Или извлечение VLAN из circuitId option82 RADIUS-пакета c помошью параметров конфигурации:
dhcp.option82.agentSvlanId.code=2 dhcp.option82.agentSvlanId.hex=^(\w{2})Или
dhcp.option82.agentSvlanId.code=2 dhcp.option82.agentSvlanId.position=0 dhcp.option82.agentSvlanId.length=2
request
- RADIUS-пакет.public int getOption82InterfaceId(DhcpPacket request, boolean setOption)
extractOption82InterfaceId(DhcpPacket)
.request
- DHCP-запрос.setOption
- нужно ли установить извлеченное значение в пакет через request.setOption.public int extractOption82InterfaceId(DhcpPacket request)
dhcp.option82.interfaceId.code=2 dhcp.option82.interfaceId.hex=^(\w{2})Или
dhcp.option82.interfaceId.code=2 dhcp.option82.interfaceId.position=0 dhcp.option82.interfaceId.length=2Если в пакет проставлена опция InetDhcpProcessor.AGENT_CIRCUIT_ID, то извлечения происходит из него (т.е. параметр dhcp.option82.interfaceId.code ингоринуется).
request
- public int getOption82InterfaceId(RadiusPacket request, boolean setOption)
extractOption82InterfaceId(RadiusPacket)
.request
- RADIUS-запрос.setOption
- нужно ли установить извлеченное значение в пакет через request.setOption.public int extractOption82InterfaceId(RadiusPacket request)
dhcp.option82.interfaceId.hex=^(\w{2})Или
dhcp.option82.interfaceId.position=0 dhcp.option82.interfaceId.length=2
request
- getOption82CircuitId(RadiusPacket)
public java.lang.Object getOption82Login(DhcpPacket request, boolean setOption)
dhcp.option82.login.code=2 dhcp.option82.login.hex=.*
request
- DHCP-запрос.setOption
- нужно ли установить извлеченное значение в пакет через request.setOption.public java.lang.Object getOption82Login(DhcpPacket request)
dhcp.option82.login.code=2 dhcp.option82.login.hex=.*
request
- DHCP-запрос.public void setCallingStationIdAttribute(RadiusPacket request)
radius.callingStationId.vendor= radius.callingStationId.type= radius.callingStationId.prefix=
request
- public java.lang.Object extractCallingStationId(RadiusPacket request)
radius.callingStationId.vendor= radius.callingStationId.type= radius.callingStationId.prefix=
request
- public void setCalledStationIdAttribute(RadiusPacket request)
radius.calledStationId.vendor= radius.calledStationId.type= radius.calledStationId.prefix=
request
- public java.lang.Object extractCalledStationId(RadiusPacket request)
radius.calledStationId.vendor= radius.calledStationId.type= radius.calledStationId.prefix=
request
- public void setMacAddressOption(RadiusPacket request)
radius.macAddress.vendor= radius.macAddress.type= radius.macAddress.prefix= radius.macAddress.pattern=
request
- public java.lang.Object extractMacAddress(RadiusPacket request)
radius.macAddress.vendor= radius.macAddress.type= radius.macAddress.prefix= radius.macAddress.pattern=
request
- public ru.bitel.common.io.BinaryValueExtractor getExtractor(ParameterMap params, java.lang.String prefix)