增加对domain的支持
This commit is contained in:
parent
55c658a733
commit
ae6ce156fb
@ -31,7 +31,8 @@
|
|||||||
{network_id = 0 :: non_neg_integer() | undefined, % = 1, optional, 32 bits
|
{network_id = 0 :: non_neg_integer() | undefined, % = 1, optional, 32 bits
|
||||||
mac = <<>> :: iodata() | undefined, % = 2, optional
|
mac = <<>> :: iodata() | undefined, % = 2, optional
|
||||||
net_addr = 0 :: non_neg_integer() | undefined, % = 3, optional, 32 bits
|
net_addr = 0 :: non_neg_integer() | undefined, % = 3, optional, 32 bits
|
||||||
net_bit_len = 0 :: non_neg_integer() | undefined % = 4, optional, 32 bits
|
net_bit_len = 0 :: non_neg_integer() | undefined, % = 4, optional, 32 bits
|
||||||
|
network_domain = <<>> :: unicode:chardata() | undefined % = 5, optional
|
||||||
}).
|
}).
|
||||||
-endif.
|
-endif.
|
||||||
|
|
||||||
|
|||||||
@ -148,7 +148,8 @@ handle_info({tcp, Sock, <<PacketId:32, ?PACKET_REGISTER_SUPER, Body/binary>>}, S
|
|||||||
network_id = NetworkId,
|
network_id = NetworkId,
|
||||||
net_addr = NetAddr,
|
net_addr = NetAddr,
|
||||||
mac = Mac,
|
mac = Mac,
|
||||||
net_bit_len = NetBitLen
|
net_bit_len = NetBitLen,
|
||||||
|
network_domain = Domain
|
||||||
},
|
},
|
||||||
aes_key = EncodedAesKey,
|
aes_key = EncodedAesKey,
|
||||||
upgrade_type = UpgradeType,
|
upgrade_type = UpgradeType,
|
||||||
@ -231,7 +232,7 @@ handle_info({tcp, Sock, <<PacketId:32, ?PACKET_QUERY_INFO, Body/binary>>}, State
|
|||||||
{noreply, State}
|
{noreply, State}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
handle_info({tcp, _Sock, <<0:32, ?PACKET_PING>>}, State = #state{transport = Transport, socket = Sock, client_id = ClientId, ping_counter = PingCounter}) ->
|
handle_info({tcp, _Sock, <<0:32, ?PACKET_PING>>}, State = #state{transport = Transport, socket = Sock, ping_counter = PingCounter}) ->
|
||||||
%lager:debug("[sdlan_channel] client_id: ~p, get ping", [ClientId]),
|
%lager:debug("[sdlan_channel] client_id: ~p, get ping", [ClientId]),
|
||||||
Transport:send(Sock, <<0:32, ?PACKET_PONG>>),
|
Transport:send(Sock, <<0:32, ?PACKET_PONG>>),
|
||||||
{noreply, State#state{ping_counter = PingCounter + 1}};
|
{noreply, State#state{ping_counter = PingCounter + 1}};
|
||||||
@ -263,7 +264,8 @@ handle_info({move_network, ReceiverPid, Ref, NetworkPid},
|
|||||||
dev_addr = #sdl_dev_addr {
|
dev_addr = #sdl_dev_addr {
|
||||||
network_id = NetworkId,
|
network_id = NetworkId,
|
||||||
net_addr = NetAddr,
|
net_addr = NetAddr,
|
||||||
net_bit_len = NetBitLen
|
net_bit_len = NetBitLen,
|
||||||
|
network_domain = Domain
|
||||||
},
|
},
|
||||||
aes_key = EncodedAesKey
|
aes_key = EncodedAesKey
|
||||||
}),
|
}),
|
||||||
|
|||||||
@ -213,7 +213,7 @@ encode_msg_sdl_v6_info(#sdl_v6_info{port = F1, v6 = F2}, Bin, TrUserData) ->
|
|||||||
encode_msg_sdl_dev_addr(Msg, TrUserData) -> encode_msg_sdl_dev_addr(Msg, <<>>, TrUserData).
|
encode_msg_sdl_dev_addr(Msg, TrUserData) -> encode_msg_sdl_dev_addr(Msg, <<>>, TrUserData).
|
||||||
|
|
||||||
|
|
||||||
encode_msg_sdl_dev_addr(#sdl_dev_addr{network_id = F1, mac = F2, net_addr = F3, net_bit_len = F4}, Bin, TrUserData) ->
|
encode_msg_sdl_dev_addr(#sdl_dev_addr{network_id = F1, mac = F2, net_addr = F3, net_bit_len = F4, network_domain = F5}, Bin, TrUserData) ->
|
||||||
B1 = if F1 == undefined -> Bin;
|
B1 = if F1 == undefined -> Bin;
|
||||||
true ->
|
true ->
|
||||||
begin
|
begin
|
||||||
@ -242,7 +242,7 @@ encode_msg_sdl_dev_addr(#sdl_dev_addr{network_id = F1, mac = F2, net_addr = F3,
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
if F4 == undefined -> B3;
|
B4 = if F4 == undefined -> B3;
|
||||||
true ->
|
true ->
|
||||||
begin
|
begin
|
||||||
TrF4 = id(F4, TrUserData),
|
TrF4 = id(F4, TrUserData),
|
||||||
@ -250,6 +250,16 @@ encode_msg_sdl_dev_addr(#sdl_dev_addr{network_id = F1, mac = F2, net_addr = F3,
|
|||||||
true -> e_varint(TrF4, <<B3/binary, 32>>, TrUserData)
|
true -> e_varint(TrF4, <<B3/binary, 32>>, TrUserData)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end,
|
||||||
|
if F5 == undefined -> B4;
|
||||||
|
true ->
|
||||||
|
begin
|
||||||
|
TrF5 = id(F5, TrUserData),
|
||||||
|
case is_empty_string(TrF5) of
|
||||||
|
true -> B4;
|
||||||
|
false -> e_type_string(TrF5, <<B4/binary, 42>>, TrUserData)
|
||||||
|
end
|
||||||
|
end
|
||||||
end.
|
end.
|
||||||
|
|
||||||
encode_msg_sdl_empty(_Msg, _TrUserData) -> <<>>.
|
encode_msg_sdl_empty(_Msg, _TrUserData) -> <<>>.
|
||||||
@ -1159,70 +1169,77 @@ skip_32_sdl_v6_info(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) ->
|
|||||||
|
|
||||||
skip_64_sdl_v6_info(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_sdl_v6_info(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData).
|
skip_64_sdl_v6_info(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_sdl_v6_info(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData).
|
||||||
|
|
||||||
decode_msg_sdl_dev_addr(Bin, TrUserData) -> dfp_read_field_def_sdl_dev_addr(Bin, 0, 0, 0, id(0, TrUserData), id(<<>>, TrUserData), id(0, TrUserData), id(0, TrUserData), TrUserData).
|
decode_msg_sdl_dev_addr(Bin, TrUserData) -> dfp_read_field_def_sdl_dev_addr(Bin, 0, 0, 0, id(0, TrUserData), id(<<>>, TrUserData), id(0, TrUserData), id(0, TrUserData), id(<<>>, TrUserData), TrUserData).
|
||||||
|
|
||||||
dfp_read_field_def_sdl_dev_addr(<<8, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> d_field_sdl_dev_addr_network_id(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
dfp_read_field_def_sdl_dev_addr(<<8, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) -> d_field_sdl_dev_addr_network_id(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData);
|
||||||
dfp_read_field_def_sdl_dev_addr(<<18, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> d_field_sdl_dev_addr_mac(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
dfp_read_field_def_sdl_dev_addr(<<18, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) -> d_field_sdl_dev_addr_mac(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData);
|
||||||
dfp_read_field_def_sdl_dev_addr(<<24, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> d_field_sdl_dev_addr_net_addr(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
dfp_read_field_def_sdl_dev_addr(<<24, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) -> d_field_sdl_dev_addr_net_addr(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData);
|
||||||
dfp_read_field_def_sdl_dev_addr(<<32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> d_field_sdl_dev_addr_net_bit_len(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
dfp_read_field_def_sdl_dev_addr(<<32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) -> d_field_sdl_dev_addr_net_bit_len(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData);
|
||||||
dfp_read_field_def_sdl_dev_addr(<<>>, 0, 0, _, F@_1, F@_2, F@_3, F@_4, _) -> #sdl_dev_addr{network_id = F@_1, mac = F@_2, net_addr = F@_3, net_bit_len = F@_4};
|
dfp_read_field_def_sdl_dev_addr(<<42, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) -> d_field_sdl_dev_addr_network_domain(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData);
|
||||||
dfp_read_field_def_sdl_dev_addr(Other, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> dg_read_field_def_sdl_dev_addr(Other, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData).
|
dfp_read_field_def_sdl_dev_addr(<<>>, 0, 0, _, F@_1, F@_2, F@_3, F@_4, F@_5, _) -> #sdl_dev_addr{network_id = F@_1, mac = F@_2, net_addr = F@_3, net_bit_len = F@_4, network_domain = F@_5};
|
||||||
|
dfp_read_field_def_sdl_dev_addr(Other, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) -> dg_read_field_def_sdl_dev_addr(Other, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData).
|
||||||
|
|
||||||
dg_read_field_def_sdl_dev_addr(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData) when N < 32 - 7 -> dg_read_field_def_sdl_dev_addr(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
dg_read_field_def_sdl_dev_addr(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) when N < 32 - 7 -> dg_read_field_def_sdl_dev_addr(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData);
|
||||||
dg_read_field_def_sdl_dev_addr(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, F@_2, F@_3, F@_4, TrUserData) ->
|
dg_read_field_def_sdl_dev_addr(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) ->
|
||||||
Key = X bsl N + Acc,
|
Key = X bsl N + Acc,
|
||||||
case Key of
|
case Key of
|
||||||
8 -> d_field_sdl_dev_addr_network_id(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
8 -> d_field_sdl_dev_addr_network_id(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData);
|
||||||
18 -> d_field_sdl_dev_addr_mac(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
18 -> d_field_sdl_dev_addr_mac(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData);
|
||||||
24 -> d_field_sdl_dev_addr_net_addr(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
24 -> d_field_sdl_dev_addr_net_addr(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData);
|
||||||
32 -> d_field_sdl_dev_addr_net_bit_len(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
32 -> d_field_sdl_dev_addr_net_bit_len(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData);
|
||||||
|
42 -> d_field_sdl_dev_addr_network_domain(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData);
|
||||||
_ ->
|
_ ->
|
||||||
case Key band 7 of
|
case Key band 7 of
|
||||||
0 -> skip_varint_sdl_dev_addr(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
0 -> skip_varint_sdl_dev_addr(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData);
|
||||||
1 -> skip_64_sdl_dev_addr(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
1 -> skip_64_sdl_dev_addr(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData);
|
||||||
2 -> skip_length_delimited_sdl_dev_addr(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
2 -> skip_length_delimited_sdl_dev_addr(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData);
|
||||||
3 -> skip_group_sdl_dev_addr(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
3 -> skip_group_sdl_dev_addr(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData);
|
||||||
5 -> skip_32_sdl_dev_addr(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, TrUserData)
|
5 -> skip_32_sdl_dev_addr(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData)
|
||||||
end
|
end
|
||||||
end;
|
end;
|
||||||
dg_read_field_def_sdl_dev_addr(<<>>, 0, 0, _, F@_1, F@_2, F@_3, F@_4, _) -> #sdl_dev_addr{network_id = F@_1, mac = F@_2, net_addr = F@_3, net_bit_len = F@_4}.
|
dg_read_field_def_sdl_dev_addr(<<>>, 0, 0, _, F@_1, F@_2, F@_3, F@_4, F@_5, _) -> #sdl_dev_addr{network_id = F@_1, mac = F@_2, net_addr = F@_3, net_bit_len = F@_4, network_domain = F@_5}.
|
||||||
|
|
||||||
d_field_sdl_dev_addr_network_id(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData) when N < 57 -> d_field_sdl_dev_addr_network_id(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
d_field_sdl_dev_addr_network_id(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) when N < 57 -> d_field_sdl_dev_addr_network_id(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData);
|
||||||
d_field_sdl_dev_addr_network_id(<<0:1, X:7, Rest/binary>>, N, Acc, F, _, F@_2, F@_3, F@_4, TrUserData) ->
|
d_field_sdl_dev_addr_network_id(<<0:1, X:7, Rest/binary>>, N, Acc, F, _, F@_2, F@_3, F@_4, F@_5, TrUserData) ->
|
||||||
{NewFValue, RestF} = {id((X bsl N + Acc) band 4294967295, TrUserData), Rest},
|
{NewFValue, RestF} = {id((X bsl N + Acc) band 4294967295, TrUserData), Rest},
|
||||||
dfp_read_field_def_sdl_dev_addr(RestF, 0, 0, F, NewFValue, F@_2, F@_3, F@_4, TrUserData).
|
dfp_read_field_def_sdl_dev_addr(RestF, 0, 0, F, NewFValue, F@_2, F@_3, F@_4, F@_5, TrUserData).
|
||||||
|
|
||||||
d_field_sdl_dev_addr_mac(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData) when N < 57 -> d_field_sdl_dev_addr_mac(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
d_field_sdl_dev_addr_mac(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) when N < 57 -> d_field_sdl_dev_addr_mac(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData);
|
||||||
d_field_sdl_dev_addr_mac(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, _, F@_3, F@_4, TrUserData) ->
|
d_field_sdl_dev_addr_mac(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, _, F@_3, F@_4, F@_5, TrUserData) ->
|
||||||
{NewFValue, RestF} = begin Len = X bsl N + Acc, <<Bytes:Len/binary, Rest2/binary>> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end,
|
{NewFValue, RestF} = begin Len = X bsl N + Acc, <<Bytes:Len/binary, Rest2/binary>> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end,
|
||||||
dfp_read_field_def_sdl_dev_addr(RestF, 0, 0, F, F@_1, NewFValue, F@_3, F@_4, TrUserData).
|
dfp_read_field_def_sdl_dev_addr(RestF, 0, 0, F, F@_1, NewFValue, F@_3, F@_4, F@_5, TrUserData).
|
||||||
|
|
||||||
d_field_sdl_dev_addr_net_addr(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData) when N < 57 -> d_field_sdl_dev_addr_net_addr(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
d_field_sdl_dev_addr_net_addr(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) when N < 57 -> d_field_sdl_dev_addr_net_addr(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData);
|
||||||
d_field_sdl_dev_addr_net_addr(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, _, F@_4, TrUserData) ->
|
d_field_sdl_dev_addr_net_addr(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, _, F@_4, F@_5, TrUserData) ->
|
||||||
{NewFValue, RestF} = {id((X bsl N + Acc) band 4294967295, TrUserData), Rest},
|
{NewFValue, RestF} = {id((X bsl N + Acc) band 4294967295, TrUserData), Rest},
|
||||||
dfp_read_field_def_sdl_dev_addr(RestF, 0, 0, F, F@_1, F@_2, NewFValue, F@_4, TrUserData).
|
dfp_read_field_def_sdl_dev_addr(RestF, 0, 0, F, F@_1, F@_2, NewFValue, F@_4, F@_5, TrUserData).
|
||||||
|
|
||||||
d_field_sdl_dev_addr_net_bit_len(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData) when N < 57 -> d_field_sdl_dev_addr_net_bit_len(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
d_field_sdl_dev_addr_net_bit_len(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) when N < 57 -> d_field_sdl_dev_addr_net_bit_len(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData);
|
||||||
d_field_sdl_dev_addr_net_bit_len(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, _, TrUserData) ->
|
d_field_sdl_dev_addr_net_bit_len(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, _, F@_5, TrUserData) ->
|
||||||
{NewFValue, RestF} = {id((X bsl N + Acc) band 4294967295, TrUserData), Rest},
|
{NewFValue, RestF} = {id((X bsl N + Acc) band 4294967295, TrUserData), Rest},
|
||||||
dfp_read_field_def_sdl_dev_addr(RestF, 0, 0, F, F@_1, F@_2, F@_3, NewFValue, TrUserData).
|
dfp_read_field_def_sdl_dev_addr(RestF, 0, 0, F, F@_1, F@_2, F@_3, NewFValue, F@_5, TrUserData).
|
||||||
|
|
||||||
skip_varint_sdl_dev_addr(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> skip_varint_sdl_dev_addr(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
d_field_sdl_dev_addr_network_domain(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) when N < 57 -> d_field_sdl_dev_addr_network_domain(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData);
|
||||||
skip_varint_sdl_dev_addr(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> dfp_read_field_def_sdl_dev_addr(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData).
|
d_field_sdl_dev_addr_network_domain(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, _, TrUserData) ->
|
||||||
|
{NewFValue, RestF} = begin Len = X bsl N + Acc, <<Bytes:Len/binary, Rest2/binary>> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end,
|
||||||
|
dfp_read_field_def_sdl_dev_addr(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, NewFValue, TrUserData).
|
||||||
|
|
||||||
skip_length_delimited_sdl_dev_addr(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData) when N < 57 -> skip_length_delimited_sdl_dev_addr(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
skip_varint_sdl_dev_addr(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) -> skip_varint_sdl_dev_addr(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData);
|
||||||
skip_length_delimited_sdl_dev_addr(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData) ->
|
skip_varint_sdl_dev_addr(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) -> dfp_read_field_def_sdl_dev_addr(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData).
|
||||||
|
|
||||||
|
skip_length_delimited_sdl_dev_addr(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) when N < 57 -> skip_length_delimited_sdl_dev_addr(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData);
|
||||||
|
skip_length_delimited_sdl_dev_addr(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) ->
|
||||||
Length = X bsl N + Acc,
|
Length = X bsl N + Acc,
|
||||||
<<_:Length/binary, Rest2/binary>> = Rest,
|
<<_:Length/binary, Rest2/binary>> = Rest,
|
||||||
dfp_read_field_def_sdl_dev_addr(Rest2, 0, 0, F, F@_1, F@_2, F@_3, F@_4, TrUserData).
|
dfp_read_field_def_sdl_dev_addr(Rest2, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData).
|
||||||
|
|
||||||
skip_group_sdl_dev_addr(Bin, _, Z2, FNum, F@_1, F@_2, F@_3, F@_4, TrUserData) ->
|
skip_group_sdl_dev_addr(Bin, _, Z2, FNum, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) ->
|
||||||
{_, Rest} = read_group(Bin, FNum),
|
{_, Rest} = read_group(Bin, FNum),
|
||||||
dfp_read_field_def_sdl_dev_addr(Rest, 0, Z2, FNum, F@_1, F@_2, F@_3, F@_4, TrUserData).
|
dfp_read_field_def_sdl_dev_addr(Rest, 0, Z2, FNum, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData).
|
||||||
|
|
||||||
skip_32_sdl_dev_addr(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> dfp_read_field_def_sdl_dev_addr(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData).
|
skip_32_sdl_dev_addr(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) -> dfp_read_field_def_sdl_dev_addr(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData).
|
||||||
|
|
||||||
skip_64_sdl_dev_addr(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> dfp_read_field_def_sdl_dev_addr(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData).
|
skip_64_sdl_dev_addr(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) -> dfp_read_field_def_sdl_dev_addr(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData).
|
||||||
|
|
||||||
decode_msg_sdl_empty(Bin, TrUserData) -> dfp_read_field_def_sdl_empty(Bin, 0, 0, 0, TrUserData).
|
decode_msg_sdl_empty(Bin, TrUserData) -> dfp_read_field_def_sdl_empty(Bin, 0, 0, 0, TrUserData).
|
||||||
|
|
||||||
@ -2546,7 +2563,8 @@ merge_msg_sdl_v6_info(#sdl_v6_info{port = PFport, v6 = PFv6}, #sdl_v6_info{port
|
|||||||
end}.
|
end}.
|
||||||
|
|
||||||
-compile({nowarn_unused_function,merge_msg_sdl_dev_addr/3}).
|
-compile({nowarn_unused_function,merge_msg_sdl_dev_addr/3}).
|
||||||
merge_msg_sdl_dev_addr(#sdl_dev_addr{network_id = PFnetwork_id, mac = PFmac, net_addr = PFnet_addr, net_bit_len = PFnet_bit_len}, #sdl_dev_addr{network_id = NFnetwork_id, mac = NFmac, net_addr = NFnet_addr, net_bit_len = NFnet_bit_len}, _) ->
|
merge_msg_sdl_dev_addr(#sdl_dev_addr{network_id = PFnetwork_id, mac = PFmac, net_addr = PFnet_addr, net_bit_len = PFnet_bit_len, network_domain = PFnetwork_domain},
|
||||||
|
#sdl_dev_addr{network_id = NFnetwork_id, mac = NFmac, net_addr = NFnet_addr, net_bit_len = NFnet_bit_len, network_domain = NFnetwork_domain}, _) ->
|
||||||
#sdl_dev_addr{network_id =
|
#sdl_dev_addr{network_id =
|
||||||
if NFnetwork_id =:= undefined -> PFnetwork_id;
|
if NFnetwork_id =:= undefined -> PFnetwork_id;
|
||||||
true -> NFnetwork_id
|
true -> NFnetwork_id
|
||||||
@ -2562,6 +2580,10 @@ merge_msg_sdl_dev_addr(#sdl_dev_addr{network_id = PFnetwork_id, mac = PFmac, net
|
|||||||
net_bit_len =
|
net_bit_len =
|
||||||
if NFnet_bit_len =:= undefined -> PFnet_bit_len;
|
if NFnet_bit_len =:= undefined -> PFnet_bit_len;
|
||||||
true -> NFnet_bit_len
|
true -> NFnet_bit_len
|
||||||
|
end,
|
||||||
|
network_domain =
|
||||||
|
if NFnetwork_domain =:= undefined -> PFnetwork_domain;
|
||||||
|
true -> NFnetwork_domain
|
||||||
end}.
|
end}.
|
||||||
|
|
||||||
-compile({nowarn_unused_function,merge_msg_sdl_empty/3}).
|
-compile({nowarn_unused_function,merge_msg_sdl_empty/3}).
|
||||||
@ -2943,7 +2965,7 @@ v_submsg_sdl_dev_addr(Msg, Path, TrUserData) -> v_msg_sdl_dev_addr(Msg, Path, Tr
|
|||||||
|
|
||||||
-compile({nowarn_unused_function,v_msg_sdl_dev_addr/3}).
|
-compile({nowarn_unused_function,v_msg_sdl_dev_addr/3}).
|
||||||
-dialyzer({nowarn_function,v_msg_sdl_dev_addr/3}).
|
-dialyzer({nowarn_function,v_msg_sdl_dev_addr/3}).
|
||||||
v_msg_sdl_dev_addr(#sdl_dev_addr{network_id = F1, mac = F2, net_addr = F3, net_bit_len = F4}, Path, TrUserData) ->
|
v_msg_sdl_dev_addr(#sdl_dev_addr{network_id = F1, mac = F2, net_addr = F3, net_bit_len = F4, network_domain = F5}, Path, TrUserData) ->
|
||||||
if F1 == undefined -> ok;
|
if F1 == undefined -> ok;
|
||||||
true -> v_type_uint32(F1, [network_id | Path], TrUserData)
|
true -> v_type_uint32(F1, [network_id | Path], TrUserData)
|
||||||
end,
|
end,
|
||||||
@ -2956,6 +2978,9 @@ v_msg_sdl_dev_addr(#sdl_dev_addr{network_id = F1, mac = F2, net_addr = F3, net_b
|
|||||||
if F4 == undefined -> ok;
|
if F4 == undefined -> ok;
|
||||||
true -> v_type_uint32(F4, [net_bit_len | Path], TrUserData)
|
true -> v_type_uint32(F4, [net_bit_len | Path], TrUserData)
|
||||||
end,
|
end,
|
||||||
|
if F5 == undefined -> ok;
|
||||||
|
true -> v_type_string(F5, [network_domain | Path], TrUserData)
|
||||||
|
end,
|
||||||
ok;
|
ok;
|
||||||
v_msg_sdl_dev_addr(X, Path, _TrUserData) -> mk_type_error({expected_msg, sdl_dev_addr}, X, Path).
|
v_msg_sdl_dev_addr(X, Path, _TrUserData) -> mk_type_error({expected_msg, sdl_dev_addr}, X, Path).
|
||||||
|
|
||||||
@ -3324,7 +3349,8 @@ get_msg_defs() ->
|
|||||||
[#field{name = network_id, fnum = 1, rnum = 2, type = uint32, occurrence = defaulty, opts = []},
|
[#field{name = network_id, fnum = 1, rnum = 2, type = uint32, occurrence = defaulty, opts = []},
|
||||||
#field{name = mac, fnum = 2, rnum = 3, type = bytes, occurrence = defaulty, opts = []},
|
#field{name = mac, fnum = 2, rnum = 3, type = bytes, occurrence = defaulty, opts = []},
|
||||||
#field{name = net_addr, fnum = 3, rnum = 4, type = uint32, occurrence = defaulty, opts = []},
|
#field{name = net_addr, fnum = 3, rnum = 4, type = uint32, occurrence = defaulty, opts = []},
|
||||||
#field{name = net_bit_len, fnum = 4, rnum = 5, type = uint32, occurrence = defaulty, opts = []}]},
|
#field{name = net_bit_len, fnum = 4, rnum = 5, type = uint32, occurrence = defaulty, opts = []},
|
||||||
|
#field{name = network_domain, fnum = 5, rnum = 6, type = string, occurrence = defaulty, opts = []}]},
|
||||||
{{msg, sdl_empty}, []},
|
{{msg, sdl_empty}, []},
|
||||||
{{msg, sdl_register_super},
|
{{msg, sdl_register_super},
|
||||||
[#field{name = version, fnum = 1, rnum = 2, type = uint32, occurrence = defaulty, opts = []},
|
[#field{name = version, fnum = 1, rnum = 2, type = uint32, occurrence = defaulty, opts = []},
|
||||||
@ -3467,7 +3493,8 @@ find_msg_def(sdl_dev_addr) ->
|
|||||||
[#field{name = network_id, fnum = 1, rnum = 2, type = uint32, occurrence = defaulty, opts = []},
|
[#field{name = network_id, fnum = 1, rnum = 2, type = uint32, occurrence = defaulty, opts = []},
|
||||||
#field{name = mac, fnum = 2, rnum = 3, type = bytes, occurrence = defaulty, opts = []},
|
#field{name = mac, fnum = 2, rnum = 3, type = bytes, occurrence = defaulty, opts = []},
|
||||||
#field{name = net_addr, fnum = 3, rnum = 4, type = uint32, occurrence = defaulty, opts = []},
|
#field{name = net_addr, fnum = 3, rnum = 4, type = uint32, occurrence = defaulty, opts = []},
|
||||||
#field{name = net_bit_len, fnum = 4, rnum = 5, type = uint32, occurrence = defaulty, opts = []}];
|
#field{name = net_bit_len, fnum = 4, rnum = 5, type = uint32, occurrence = defaulty, opts = []},
|
||||||
|
#field{name = network_domain, fnum = 5, rnum = 6, type = string, occurrence = defaulty, opts = []}];
|
||||||
find_msg_def(sdl_empty) -> [];
|
find_msg_def(sdl_empty) -> [];
|
||||||
find_msg_def(sdl_register_super) ->
|
find_msg_def(sdl_register_super) ->
|
||||||
[#field{name = version, fnum = 1, rnum = 2, type = uint32, occurrence = defaulty, opts = []},
|
[#field{name = version, fnum = 1, rnum = 2, type = uint32, occurrence = defaulty, opts = []},
|
||||||
|
|||||||
@ -16,10 +16,10 @@ message SDLV6Info {
|
|||||||
// 设备网络地址信息
|
// 设备网络地址信息
|
||||||
message SDLDevAddr {
|
message SDLDevAddr {
|
||||||
uint32 network_id = 1;
|
uint32 network_id = 1;
|
||||||
string network_domain = 2;
|
bytes mac = 2;
|
||||||
bytes mac = 3;
|
uint32 net_addr = 3;
|
||||||
uint32 net_addr = 4;
|
uint32 net_bit_len = 4;
|
||||||
uint32 net_bit_len = 5;
|
string network_domain = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
// tcp通讯消息
|
// tcp通讯消息
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user