BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 29 мар 2024, 00:08

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




Начать новую тему Ответить на тему  [ Сообщений: 53 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Порты устройств в Inet?
СообщениеДобавлено: 16 мар 2013, 13:23 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Есть что-то? Хотя бы примерная схема реализации?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Порты устройств в Inet?
СообщениеДобавлено: 18 мар 2013, 18:48 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
У каждого экземпляра устройства уже есть inv_device_port (Хотя в API сейчас данный bean называется DeviceInterface).
К нему привязжем inv_device_iface или inv_device_port_iface или переименуем inv_device_port в inv_device_iface и привяжем inv_device_iface_index,
в которой будет index, timeFrom, timeTo. Если есть запись в index за заданный промежуток времени - то индекс для порта, тот что указан в записи. Иначе - по умолчанию, как раньше - индекс равен номеру интерфейса (порта).

Т.е. основные изменения в обработке flow и snmp.
Плюс в устройстве возможность редактировать интерфейсы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Порты устройств в Inet?
СообщениеДобавлено: 19 мар 2013, 12:51 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Цитата:
Плюс в устройстве возможность редактировать интерфейсы.

Сейчас порты в inv_device_port можно использовать только из списка портов для типа устройства. Я правильно понимаю, что в будущем можно будет добавлять туда произвольные?

Когда примерно ждать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Порты устройств в Inet?
СообщениеДобавлено: 25 мар 2013, 16:03 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Выложили.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Порты устройств в Inet?
СообщениеДобавлено: 26 мар 2013, 11:47 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Спасибо, выглядит интересно.
Сразу бага: для индексов не сохраняются часы/минуты/секунды.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Порты устройств в Inet?
СообщениеДобавлено: 26 мар 2013, 12:31 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
На что влияет галка "Индивидуальные интерфейсы" в типах устройств?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Порты устройств в Inet?
СообщениеДобавлено: 26 мар 2013, 13:38 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Цитата:
На что влияет галка "Индивидуальные интерфейсы" в типах устройств?
Если не стоит - т.е. как раньше, при пересохранении типа устройства интерфейсы у каждого устройства данного типа приводятся в соответствие с интерфейсами, указанными в типе.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Порты устройств в Inet?
СообщениеДобавлено: 26 мар 2013, 14:14 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Цитата:
Сразу бага: для индексов не сохраняются часы/минуты/секунды.
Выкладывается обновление.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Порты устройств в Inet?
СообщениеДобавлено: 01 апр 2013, 14:42 
Не в сети
Клиент

Зарегистрирован: 15 мар 2009, 14:04
Сообщения: 1337
Карма: 12
Господа... а я что-то не понял. Где вообще этот ifIndex? У меня в типах устройств на закладке интерфейсы все так же 2 поля. Можно чуть по подробнее как эту схему использовать? :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Порты устройств в Inet?
СообщениеДобавлено: 01 апр 2013, 14:46 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
ifIndex'ы задаются в самом устройстве (а не в типе) - в дереве устройств правой кнопкой - Интерфейсы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Порты устройств в Inet?
СообщениеДобавлено: 16 апр 2013, 08:35 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Когда заводишь на устройстве интерфейс, если не указать id, то ставится 0.
Когда заводишь второй - говорит "интерфейс уже существует".
Указываю id=1 - всё ок.
Неплохо было бы, если б он сам автоинкрементом подставлял.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Порты устройств в Inet?
СообщениеДобавлено: 19 апр 2013, 07:58 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Столкнулся со следующей проблемой:

Задача: cisco ip subscriber interface

Access-Request выглядит вот так:
Код:
Packet type: Access-Request
Identifier: 88
Authenticator: {8E 77 26 98 05 C3 54 2A 9D D5 AF 06 75 6D 9D DA}
Attributes:
  User-Name=nas-port:172.xx.xx.254:0/0/0/1112
  NAS-Identifier=195.xxx.0xx.0xx
  NAS-Port-Id=0/0/0/1112
  User-Password=cisco
  Event-Timestamp=1366271067
  NAS-IP-Address=195.xxx.xx.xx
  NAS-Port=98098
  Service-Type=5
  Acct-Session-Id=8000000000017F32
  NAS-Port-Type=33
  cisco-NAS-Port=0/0/0/1112

Это то, что присылает циска.
Причём для обычного ip subscriber interface username выглядел бы вот так:
nas-port:195.xxx.xx.xx:0/0/0/1112
где 195.xxx.xx.xx - это NAS-IP-Address.
Но в случае, когда на интерфейсе сконфигурирован VRF, некоторые IOS подставляют management ip в соответствующем vrf.

Вот что у нас на циске:
Код:
Current configuration : 249 bytes
!
interface GigabitEthernet0/0.1112
 description ---- ISG IP ----
 encapsulation dot1Q 1112
 ip vrf forwarding dsi-mgmt
 ip verify unicast source reachable-via rx
 no cdp enable
 service-policy type control IP-ISG-VRF
 ip subscriber interface
end


В биллинге в сервисе я указываю только устройство и интерфейс (Gi0/0.1112)

Как мне авторизоваться?

Сейчас я сделал следующее:
- LoginGenerator, который при сохранении сервиса на договоре формирует и прописывает ему логин в виде "nas-port:195.xxx.xx.xx:0/0/0/1112"
- Предобработка в ProtocolHandler-е, которая формирует и устанавливает username, который мне надо

Можно конечно прописать где-то в конфиге устройства все его возможные management ip-шники и генерировать логины учитывая их, но это пфф..
Текущая схема работает, но т.к. мы подменяем приходящий UserName, то при отправке CoA могут возникнуть накладки из-за разных username-ов.


Авторизоваться по порту через соответствующий servSearchMode я не могу, т.к. у меня нет цифрового идентификатора интерфейса. Вместо этого у меня в пакете приходит строковый Nas-Port-Id (не путать с именем интерфейса: viewtopic.php?f=44&t=7694&p=62007#p62007), которого в биллинге вообще в явном виде нет.

Как сопоставлять логины в такой ситуации?

Есть предложение для разработчиков - сделать ещё один режим поиска логина, по произвольному строковому параметру. Аналогично username, но без необходимости подмены стандартного username своим.
Либо сделать опцию
Код:
public static final RadiusPacket.RadiusPacketOption<String> USERNAME= new RadiusPacket.RadiusPacketOption("username");

, которая при поиске по логину будет приоритетнее, но при этом connection.getUserName() будет возвращать стандартный username соединения.

Сейчас при поиске через устройство и порт мы указываем :
- в AGENT_REMOTE_ID - строковый идентификатор устройства
- в INTERFACE_ID (или AGENT_CIRCUIT_ID) - целочисленный номер интерфейса

Мне нужна возможность задания строкового идентификатора для интерфейса (NAS-Port-Id для cisco) для поиска по нему, аналогично поиску устройства по его идентификатору. Причём в общем случае nas-port-id отличается от имени интерфейса (которое может использоваться, например, в telnet-командах)

Столько вариантов, хочется сделать как можно чище, без костылей :|


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Порты устройств в Inet?
СообщениеДобавлено: 19 апр 2013, 08:21 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Вот другой пример, когда circuit-id не целочисленный: PPPoE intermediate agent на zyxel dslam + cisco NAS :
Код:
cisco-avpair=circuit-id-tag=zyx95-ad atm 0/12:8.35
, где
zyx95-ad - идентификатор устройства доступа
0 - плата,
12 - порт
8 - VPI
35 - VCI

Цитата:
PPPoE Intermediate Agent sub-option includes the system name or IPaddress, slot ID, port number, VPI, and VCI on which the TCP/IP configurationrequest was receive


Идентификатором интерфейса клиента в данном случае будет комбинация плата-порт-VPI-VCI


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Порты устройств в Inet?
СообщениеДобавлено: 19 апр 2013, 11:12 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Ещё такой момент: методы getOption82InterfaceId для Radius и DHCP по-умолчанию возвращают 0, если ничего не нашли - значит, будет взят интерфейс с номером 0.
Может есть смысл возвращать "-1", чтобы сервис не нашёлся совсем и сработал следующий режим поиска из списка servSearchMode ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Порты устройств в Inet?
СообщениеДобавлено: 19 апр 2013, 12:21 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Пока что сделал таким обарзом: в ProtocolHandler-е ведётся карта соответствий "Nas-Port-Id" -> "id порта в Биллинге", по которой в предобработке проставляется INTERFACE_ID.

Как-то так пока получилось:

Код:
package ru.dsi.bgbilling.modules.inet.dyn.device.cisco;

import org.apache.log4j.Logger;
import ru.bitel.bgbilling.kernel.container.managed.ServerContext;
import ru.bitel.bgbilling.kernel.network.radius.RadiusDictionary;
import ru.bitel.bgbilling.kernel.network.radius.RadiusPacket;
import ru.bitel.bgbilling.kernel.network.radius.RadiusProtocolHandler;
import ru.bitel.bgbilling.modules.inet.api.common.bean.InetDevice;
import ru.bitel.bgbilling.modules.inet.api.common.bean.InetDeviceType;
import ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor;
import ru.bitel.bgbilling.server.util.Setup;
import ru.bitel.common.ParameterMap;
import ru.bitel.common.sql.ConnectionSet;
import ru.bitel.common.worker.ThreadContext;
import ru.bitel.oss.systems.inventory.resource.common.DeviceInterfaceService;
import ru.bitel.oss.systems.inventory.resource.common.bean.DeviceInterface;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.SortedMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * TODO
 * Предполагается, что клиент авторизуется именно на том устройстве, на котором указан этот ProtocolHandler (не на дочерних)
 * ...
 */
public class ISGIPoEProtocolHandler extends ISGProtocolHandler implements RadiusProtocolHandler {

    private static final Logger logger = Logger.getLogger( ISGIPoEProtocolHandler.class );

    /**
     * Соответствие cisco Nas-Port-Id -> id интерфейса в биллинге
     */
    protected Map<String, Integer> nasPortIdToBGPortIdMap = null;

    /**
     * Список шаблонов-регулярных выражений, по которым будем получать Nas-Port-Id по названию интерфейса
     */
    private SortedMap<Integer, ParameterMap> patternMap;

    @Override
    public void init(Setup setup, int moduleId, InetDevice inetDevice, InetDeviceType inetDeviceType, ParameterMap deviceConfig) throws Exception {
        super.init(setup, moduleId, inetDevice, inetDeviceType, deviceConfig);
        this.patternMap = deviceConfig.subIndexed("radius.ipoe.nas_port_id.pattern.");
        //Инициализируем массив портов
        this.nasPortIdToBGPortIdMap = new HashMap<String, Integer>();
        //Перебираем порты устройств
        ServerContext ctx = (ServerContext)ThreadContext.get();
        DeviceInterfaceService devicePortService = ctx.getService(DeviceInterfaceService.class, moduleId);
        List<DeviceInterface> deviceIfaceList = devicePortService.devicePortList(inetDevice.getId());
        String nasPortId;
        if(deviceIfaceList!=null){
            for(DeviceInterface iface : deviceIfaceList){
                nasPortId = nasPortIdByIfaceTitle(iface.getTitle());
                if(null!=nasPortId){
                    nasPortIdToBGPortIdMap.put(nasPortId, iface.getPort());
                    logger.info("["+inetDevice.getIdentifier()+"]: nas-port-id='"+nasPortId+"' -> "+iface.getPort());
                }
            }
        }
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public void preprocessAccountingRequest(RadiusPacket request, RadiusPacket response, ConnectionSet connectionSet) throws Exception {
        super.preprocessAccountingRequest(request, response, connectionSet);
        //ищем id порта на устройстве и указываем его
        setBGIfaceId( request);
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public void preprocessAccessRequest(RadiusPacket request, RadiusPacket response, ConnectionSet connectionSet) throws Exception {
        super.preprocessAccessRequest(request, response, connectionSet);
        //ищем id порта на устройстве и указываем его
        setBGIfaceId( request);
    }

    /**
     * TODO
     * @param request
     */
    private void setBGIfaceId(RadiusPacket request) {
        String nas_port_id = request.getStringAttribute(-1, RadiusDictionary.NAS_Port_Id, null);
        Integer port=-1;
        if(nas_port_id!=null){
            port = this.nasPortIdToBGPortIdMap.get(nas_port_id);
        }
        if(null==port)
        {
            port=-1;//Насчёт port=0 и port=-1 - см http://forum.bgbilling.ru/viewtopic.php?f=44&t=7694&p=64541#p64541
        }
        request.setOption(InetRadiusProcessor.INTERFACE_ID, port);
    }

    /**
     * TODO
     * @param ifaceTitle
     * @return
     */
    protected String nasPortIdByIfaceTitle(String ifaceTitle){
        if(null==ifaceTitle){
            return null;
        }
        Pattern p;
        Matcher m;
        String pattern;
        String replacement;
        String nasPortId;
        for(Map.Entry<Integer, ParameterMap> patternMapEntry : patternMap.entrySet()){
            pattern = patternMapEntry.getValue().get("pattern", null);
            replacement = patternMapEntry.getValue().get("replacement", null);
            if(pattern!=null && replacement!=null){
                p = Pattern.compile(pattern);
                m = p.matcher(ifaceTitle);
                if (m.find()) {
                    //Получаем логин путём подстановки найденных capturing groups в $1, $2 и т.д. шаблона
                    nasPortId = m.replaceFirst(replacement);
                    return nasPortId;
                }
            }
        }
        return null;
    }
}



Конфиг преобразования имени интерфейса (Gi0/0.102) в Nas-Port-Id (0/0/0/102):
(Нужно иметь в виду, что такое сопоставление возможно, только если цисководы специально будут заводить имена интерфейсов, соответствующие Nas-Port-Id)
Код:
#ex Gi0/0/3.7 -> 0/0/3/7
radius.ipoe.nas_port_id.pattern.1.pattern=^(?:Gi|Fa)(\d+)/?\d*/(\d+)\.(?=\d{1,4}$)0{0,3}([1-9]\d{0,3})$
radius.ipoe.nas_port_id.pattern.1.replacement=$1/0/$2/$3
#for q-n-q
radius.ipoe.nas_port_id.pattern.2.pattern=^(?:Gi|Fa)(\d+)/?\d*/(\d+)\.(?=\d{8}$)0{0,3}([1-9]\d{0,3})(?=\d{4}$)0{0,3}([1-9]\d{0,3})$
radius.ipoe.nas_port_id.pattern.2.replacement=$1/0/$2/$4.$3


Работает :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Порты устройств в Inet?
СообщениеДобавлено: 19 апр 2013, 12:31 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Вот такой вот rubber ducking
Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Порты устройств в Inet?
СообщениеДобавлено: 30 май 2013, 12:39 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Cromeshnic писал(а):
Пока что сделал таким обарзом: в ProtocolHandler-е ведётся карта соответствий "Nas-Port-Id" -> "id порта в Биллинге", по которой в предобработке проставляется INTERFACE_ID.


Cromeshnic писал(а):
Код:
    private void setBGIfaceId(RadiusPacket request) {
        String nas_port_id = request.getStringAttribute(-1, RadiusDictionary.NAS_Port_Id, null);
        Integer port=-1;
        if(nas_port_id!=null){
            port = this.nasPortIdToBGPortIdMap.get(nas_port_id);
        }
        if(null==port)
        {
            port=-1;//Насчёт port=0 и port=-1 - см http://forum.bgbilling.ru/viewtopic.php?f=44&t=7694&p=64541#p64541
        }
        request.setOption(InetRadiusProcessor.INTERFACE_ID, port);
    }



Тут возникает основная проблема любого кэша - его нужно обновлять.
Я изначально делал в расчёте на то, что новые порты на устройствах будут заводиться нечасто и руками, после чего нужно тыркать "перечитать конфигурацию".
Но это не есть хорошо на практике.

Со своей стороны вижу 2 выхода - либо по таймеру обновлять наш кэш портов, либо обновлять его в блоке "if(null==port)", т.е. когда кто-то ломится с неизвестного порта. Первый вариант топорный и после заведения нового клиента в биллинге оператору придётся ждать таймаут, чтобы проверить, что он авторизуется. Второй вариант может вызвать большую нагрузку и придётся сильно его усложнять кучей всяких условий.

Со стороны Битела вижу тоже 2 решения:
- Сделать Event на изменение порта устройства
- Сделать ещё один servSearchMode по имени интерфейса, а не только по номеру

правильный вариант - второй ;)

ммм?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Порты устройств в Inet?
СообщениеДобавлено: 19 дек 2013, 09:07 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Amir писал(а):
ifIndex'ы задаются в самом устройстве (а не в типе) - в дереве устройств правой кнопкой - Интерфейсы.


Попробовал использовать указание ifindex на интерфейсе в периоде - не работает.
HD #4887


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Порты устройств в Inet?
СообщениеДобавлено: 23 дек 2013, 14:13 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Написал класс-обработчик управления устройством, позволяющий синхронизировать интерфейсы и их индексы по SNMP:
http://wiki.bitel.ru/index.php/%D0%9E%D ... 0%BE%D0%B2

Изображение
Изображение

Осталось только, чтобы индексы в периоде починили


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Порты устройств в Inet?
СообщениеДобавлено: 09 окт 2017, 18:33 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Cromeshnic писал(а):
Написал класс-обработчик управления устройством, позволяющий синхронизировать интерфейсы и их индексы по SNMP:
http://wiki.bitel.ru/index.php/%D0%9E%D ... 0%BE%D0%B2


Столкнулся с подобной задачей, только сбор статистики по snmp, а не по netflow . Но индексы так же могут меняться. Не совсем понял фразу
Цитата:
Использовал snmp4j вместо идущего с биллингом westhawk snmp, т.к. в последнем нельзя сделать GETNEXT
Почему нельзя сделать ? Мы делаем. Просто думал попробовать взять ваше решение, но тащить еще одну библиотеку для работы с snmp не хотел.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Порты устройств в Inet?
СообщениеДобавлено: 10 окт 2017, 07:36 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Не помню уже. Мб версия старая была.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Порты устройств в Inet?
СообщениеДобавлено: 19 окт 2017, 19:26 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Cromeshnic писал(а):
Написал класс-обработчик управления устройством, позволяющий синхронизировать интерфейсы и их индексы по SNMP:
http://wiki.bitel.ru/index.php/%D0%9E%D ... 0%BE%D0%B2

Сделал на основе этого решения :
http://wiki.bitel.ru/index.php/%D0%9E%D ... B8%D1%8F_2
Цитата:
Отличия:
1) Не нужна сторонняя библиотека у snmp4j, используется стандартная из поставки. Поэтому не нужны классы SnmpClient и SnmpDeviceManager из того решения. А класс IfaceSnmpDeviceManager немного изменен и переименован в IndexSnmpDeviceManager. Он наследуется от стандартного ru.bitel.bgbilling.modules.inet.dyn.device.snmp.SnmpDeviceManager(Описан тут: https://docs.bitel.ru/pages/viewpage.ac ... d=43385967) и используется та же самая конфигурация при получении uptime.
2) В случае если интерфейс в биллинге не найден, то создается интерфейс с номером, который считываться как group(1) из snmp.ifNameRegexpFilter=GigabitEthernet0/0/2\.(\d+). В старом решении просто присваивался (максимальный номер интерфейса) + 1.
3) На устройстве не нужно явно вбивать команду ifsync, во всплывающем меню уже есть пункт "сихронизировать интерфейсы". При перезагрузке устройства этого делать не надо - смотрим следующий пункт.
4) При перезагрузке устройства IfaceSnmpDeviceManager сам это определит и вызовет( метод onReboot).

B и том коде кажется в этом месте ошибка:
Цитата:
cal.add(Calendar.SECOND, uptime/-100);

Тут 1000 наверное имелось ввиду.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Порты устройств в Inet?
СообщениеДобавлено: 20 окт 2017, 14:03 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
stark писал(а):
B и том коде кажется в этом месте ошибка:
Цитата:
cal.add(Calendar.SECOND, uptime/-100);

Тут 1000 наверное имелось ввиду.


Там в комменте выше у меня:
"//Получаем uptime (в TimeTicks - 0.01 секунды)"
Так что наверное всё же -100.
Надо проверять.


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

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


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

Сейчас этот форум просматривают: Google [Bot] и гости: 1


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

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