arp request
This commit is contained in:
parent
899561e94a
commit
24cbbe0940
@ -257,19 +257,21 @@ handle_event(internal, {frame, <<?PACKET_ARP_REQUEST, Body/binary>>}, registered
|
|||||||
case sdlan_network:arp_request(NetworkPid, TargetIp) of
|
case sdlan_network:arp_request(NetworkPid, TargetIp) of
|
||||||
error ->
|
error ->
|
||||||
logger:debug("[sdlan_channel] network: ~p, arp_request target_ip: ~p, mac not found", [NetworkId, TargetIp]),
|
logger:debug("[sdlan_channel] network: ~p, arp_request target_ip: ~p, mac not found", [NetworkId, TargetIp]),
|
||||||
EmptyResponse = sdlan_pb:encode_msg(#sdl_empty{
|
EmptyArpResponsePkt = sdlan_pb:encode_msg(#sdl_arp_response{
|
||||||
pkt_id = PktId
|
pkt_id = PktId,
|
||||||
|
target_ip = TargetIp,
|
||||||
|
target_mac = <<>>
|
||||||
}),
|
}),
|
||||||
quic_send(Stream, <<?PACKET_ARP_RESPONSE, EmptyResponse/binary>>),
|
quic_send(Stream, <<?PACKET_ARP_RESPONSE, EmptyArpResponsePkt/binary>>),
|
||||||
keep_state_and_data;
|
keep_state_and_data;
|
||||||
{ok, Mac} ->
|
{ok, Mac} ->
|
||||||
logger:debug("[sdlan_channel] network: ~p, arp_request target_ip: ~p, mac: ~p", [NetworkId, sdlan_util:int_to_ipv4(TargetIp), sdlan_util:format_mac(Mac)]),
|
logger:debug("[sdlan_channel] network: ~p, arp_request target_ip: ~p, mac: ~p", [NetworkId, sdlan_util:int_to_ipv4(TargetIp), sdlan_util:format_mac(Mac)]),
|
||||||
PeerInfo = sdlan_pb:encode_msg(#sdl_arp_response{
|
ArpResponsePkt = sdlan_pb:encode_msg(#sdl_arp_response{
|
||||||
pkt_id = PktId,
|
pkt_id = PktId,
|
||||||
target_ip = TargetIp,
|
target_ip = TargetIp,
|
||||||
target_mac = Mac
|
target_mac = Mac
|
||||||
}),
|
}),
|
||||||
quic_send(Stream, <<?PACKET_PEER_INFO, PeerInfo/binary>>),
|
quic_send(Stream, <<?PACKET_ARP_RESPONSE, ArpResponsePkt/binary>>),
|
||||||
keep_state_and_data
|
keep_state_and_data
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user