Установка параметров для шлюза свича
Код:
stream.startElement( "gate" );
stream.addAttribute( "id", String.valueOf( DHCP.get("gateId")) );
stream.addAttribute( "host", DHCP.get("Relay") ); // ip - адрес свича
ParamDHCP(stream, "dhcp.router", gateSetup);
ParamDHCP(stream, "dhcp.subnetMask", gateSetup);
ParamDHCP(stream, "dhcp.dns", gateSetup);
ParamDHCP(stream, "dhcp.ipAddressLeaseTime", gateSetup);
ParamDHCP(stream, "dhcp.timeOffset", gateSetup);
ParamDHCP(stream, "dhcp.option.121", gateSetup);
ParamDHCP(stream, "dhcp.option.249", gateSetup);
stream.endElement( "gate" );
ParamDHCP(stream, paramStr, gateSetup)
{
param = gateSetup.getStringValue( paramStr, null );
if (param != null){
stream.startElement( "param" );
stream.addAttribute( "id", paramStr );
stream.addAttribute( "value", param );
stream.endElement( "param" );
}
}
Привязка к шлюзу ip адреса и порта клиента
Код:
ip = DHCP.get("ip").split(",");
for (int i = 0; i < id.length; i++)
{
stream.startElement( DHCP.get("start") );
stream.addAttribute( "gateId", DHCP.get("gateId") );
stream.addAttribute( "id", String.valueOf( id[i] ) );
ip[i] = ip[i].substring(0 , 9);
Hex_ip = Integer.toHexString(Integer.parseInt(ip[i]));
if(Hex_ip.length() < 8){
Hex_ip = "0" + Hex_ip;
}
Hex_ip = Hex_ip.substring(0,2) + " " + Hex_ip.substring(2,4) + " " +Hex_ip.substring(4,6) + " " +
Hex_ip.substring(6,8);
stream.addAttribute( "ip", Hex_ip.toUpperCase() );
stream.endElement( DHCP.get("start") );
}
Нужно в свиче посмотреть, что передает он в качестве agentid. Лучше снифером посмотреть что находится в пакете на запрос адреса.