BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 20 июн 2025, 13:58

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: dhcp.option82.agentRemoteId
СообщениеДобавлено: 23 апр 2013, 17:23 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
Под одним DHCP релеем стоят коммутаторы которые по разному формируют dhcp.option82.agentRemoteId (разной длинны) вставляя её в dhcp запрос абонента.
Можно ли сделать функцию dhcp.option82.agentRemoteId.suffix=6 которая будет копировать 6 байт с конца поля dhcp.option82.agentRemoteId?

Пример запросов с двух разных коммутаторов в одном vlanе:

Код:
04-23/14:50:14  INFO [dhcpLstnr-p-10-t-4] InetAbstractDhcpProcessor - REQUEST:
Message type: BOOT_REQUEST
Dhcp message type: DHCP Discover{1}
htype: 1, hlen: 6, hops: 1
xid: 993484174, secs: 6912, flags: -32768
Client IP: 0.0.0.0
Your IP: 0.0.0.0
Server IP: 0.0.0.0
Relay IP: x.x.77.62
Client MAC: {DC0EA1FD2CF6}
  {116}={01}
  {61}={01DC0EA1FD2CF6}
  Requested IP Address{50}=x.x.x.x
  Host name{12}={microsof-236abd}
  {60}={4D53465420352E30}
  Parameter request list{55}={1, 15, 3, 6, 44, 46, 47, 31, 33, -7, 43}
  {43}={DC00}
  Agent information{82}=
    sub{1}={000601BC01000001}
    sub{2}={00030F169BE0}


04-23/14:49:54  INFO [dhcpLstnr-p-10-t-6] InetAbstractDhcpProcessor - REQUEST:
Message type: BOOT_REQUEST
Dhcp message type: DHCP Discover{1}
htype: 1, hlen: 6, hops: 1
xid: 1942092315, secs: 0, flags: -32768
Client IP: 0.0.0.0
Your IP: 0.0.0.0
Server IP: 0.0.0.0
Relay IP: x.x.77.62
Client MAC: {4C72B9CC88A6}
  {61}={014C72B9CC88A6}
  Requested IP Address{50}=x.x.x.x
  Host name{12}={evro}
  {60}={4D53465420352E30}
  Parameter request list{55}={1, 15, 3, 6, 44, 46, 47, 31, 33, 121, -7, -4, 43}
  Agent information{82}=
    sub{1}={000400640006}
    sub{2}={0006000D659699C0}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: dhcp.option82.agentRemoteId
СообщениеДобавлено: 29 апр 2013, 19:20 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Пока выглядит слишком специфично.

Предлагаю установить тип поиска dhcp.deviceSearchMode=0 (совсем недавно добавили такой режим).
По нему сначала по giaddr находится первое устройство, у него вызывается предобработка запроса.
После предобработки ищется агентское дочернее устройство по agentRemoteId (и дополнительно вызывается предобработка у него).

Т.е. нужно будет также добавить предобработку процессора протокола для устройства-giaddr, где устанавливаем remoteId:
Код:
public void preprocessDhcpRequest( DhcpPacket request, DhcpPacket response )
   throws Exception
{
   final DhcpOption subOption = request.getSubOption( 2 );
   if( subOption != null )
   {
      byte[] agentRemoteId = new byte[6];
      System.arraycopy( subOption.value, subOption.value.length-6, agentRemoteId, 0, 6 );
      request.setOption( InetAbstractDhcpProcessor.AGENT_REMOTE_ID, agentRemoteId );
   }
}


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.032s | 19 Queries | GZIP : On ]