diff options
author | Erlang/OTP <[email protected]> | 2014-08-07 17:36:26 +0200 |
---|---|---|
committer | Erlang/OTP <[email protected]> | 2014-08-07 17:36:26 +0200 |
commit | 6828c2ed8fdd5f19cad002a7dae07dd5f1c4409c (patch) | |
tree | d86469ff46b5b7a53f85f245963e1084f8bd3710 /lib/snmp/src/manager/snmpm.erl | |
parent | f68b689662dcfba7f6e82bad03938eeb3a48a300 (diff) | |
parent | e910f8568a4d19093f7ea8c6865367c3e73703f0 (diff) | |
download | otp-6828c2ed8fdd5f19cad002a7dae07dd5f1c4409c.tar.gz otp-6828c2ed8fdd5f19cad002a7dae07dd5f1c4409c.tar.bz2 otp-6828c2ed8fdd5f19cad002a7dae07dd5f1c4409c.zip |
Merge branch 'raimo/snmp/ipv4+ipv6/OTP-12020' into maint-17
* refs/heads/fetch-and-merge.maint-17-opu/FETCH_HEAD/54676: (46 commits)
Fix error printouts to not crash
Improve ct_snmp test cases
Fix misspelled community in manager
Rearrange test suite group structure
Fix testcase for really dual ip
Adjust test cases for daily builds
Fix call to non-existent function
Fix test manager in agent tests for IPv6
Call new Net-SNMP test suite from top suite
Improve external snmp commands args
Test inform to dual transports
Write list of trap targets
Improve dual stack test suite
Use {ipv6_v6only, true}
Remove commented out code
Add dual_ip tests in snmp_to_snmpnet_SUITE
Silence logging from agent net_if at shutdown
Rewrite agent for IPv4 + IPv6
snmp: Add inform test
snmp: Add new test suite
...
Diffstat (limited to 'lib/snmp/src/manager/snmpm.erl')
-rw-r--r-- | lib/snmp/src/manager/snmpm.erl | 49 |
1 files changed, 32 insertions, 17 deletions
diff --git a/lib/snmp/src/manager/snmpm.erl b/lib/snmp/src/manager/snmpm.erl index c97b635fc6..8976322c4e 100644 --- a/lib/snmp/src/manager/snmpm.erl +++ b/lib/snmp/src/manager/snmpm.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2004-2013. All Rights Reserved. +%% Copyright Ericsson AB 2004-2014. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in @@ -379,21 +379,33 @@ register_agent(UserId, Addr) -> register_agent(UserId, Addr, ?DEFAULT_AGENT_PORT, []). %% Backward compatibility -register_agent(UserId, Addr, Port, Config0) -> +register_agent(UserId, Domain, Addr, Config0) when is_atom(Domain) -> case lists:keymember(target_name, 1, Config0) of false -> - TargetName = mk_target_name(Addr, Port, Config0), - Config = [{reg_type, addr_port}, - {address, Addr}, {port, Port} | Config0], + TargetName = mk_target_name(Domain, Addr, Config0), + Config = + [{reg_type, addr_port}, + {tdomain, Domain}, {taddress, Addr} | Config0], do_register_agent(UserId, TargetName, ensure_engine_id(Config)); true -> {value, {_, TargetName}} = lists:keysearch(target_name, 1, Config0), Config1 = lists:keydelete(target_name, 1, Config0), - Config2 = [{reg_type, addr_port}, - {address, Addr}, {port, Port} | Config1], + Config2 = + [{reg_type, addr_port}, + {tdomain, Domain}, {taddress, Addr} | Config1], register_agent(UserId, TargetName, ensure_engine_id(Config2)) - end. + end; +register_agent(UserId, Ip, Port, Config) when is_integer(Port) -> + Domain = snmpm_config:default_transport_domain(), + Addr = + case snmp_conf:check_address(Domain, {Ip, Port}) of + ok -> + {Ip, Port}; + {ok, FixedAddr} -> + FixedAddr + end, + register_agent(UserId, Domain, Addr, Config). unregister_agent(UserId, TargetName) when is_list(TargetName) -> snmpm_config:unregister_agent(UserId, TargetName); @@ -402,8 +414,8 @@ unregister_agent(UserId, TargetName) when is_list(TargetName) -> unregister_agent(UserId, Addr) -> unregister_agent(UserId, Addr, ?DEFAULT_AGENT_PORT). -unregister_agent(UserId, Addr, Port) -> - case target_name(Addr, Port) of +unregister_agent(UserId, DomainIp, AddressPort) -> + case target_name(DomainIp, AddressPort) of {ok, TargetName} -> unregister_agent(UserId, TargetName); Error -> @@ -1264,14 +1276,17 @@ format_vb_value(Prefix, _Type, Val) -> %% --- Internal utility functions --- %% -target_name(Addr) -> - target_name(Addr, ?DEFAULT_AGENT_PORT). +target_name(Ip) -> + target_name(Ip, ?DEFAULT_AGENT_PORT). -target_name(Addr, Port) -> - snmpm_config:agent_info(Addr, Port, target_name). +target_name(DomainIp, AddressPort) -> + snmpm_config:agent_info(DomainIp, AddressPort, target_name). mk_target_name(Addr, Port, Config) -> - snmpm_config:mk_target_name(Addr, Port, Config). + R = snmpm_config:mk_target_name(Addr, Port, Config), + p(?MODULE_STRING":mk_target_name(~p, ~p, ~p) -> ~p.~n", + [Addr, Port, Config, R]), + R. ensure_engine_id(Config) -> case lists:keymember(engine_id, 1, Config) of @@ -1287,5 +1302,5 @@ ensure_engine_id(Config) -> %% p(F) -> %% p(F, []). -%% p(F, A) -> -%% io:format("~w:" ++ F ++ "~n", [?MODULE | A]). +p(F, A) -> + io:format("~w:" ++ F ++ "~n", [?MODULE | A]). |