forum.bitel.ru http://forum.bitel.ru/ |
|
dhcp.option82.agentRemoteId http://forum.bitel.ru/viewtopic.php?f=44&t=7988 |
Страница 1 из 1 |
Автор: | iONE [ 23 апр 2013, 17:23 ] |
Заголовок сообщения: | dhcp.option82.agentRemoteId |
Под одним 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} |
Автор: | Amir [ 29 апр 2013, 19:20 ] |
Заголовок сообщения: | Re: dhcp.option82.agentRemoteId |
Пока выглядит слишком специфично. Предлагаю установить тип поиска 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 ); } } |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |