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
|
||||
error ->
|
||||
logger:debug("[sdlan_channel] network: ~p, arp_request target_ip: ~p, mac not found", [NetworkId, TargetIp]),
|
||||
EmptyResponse = sdlan_pb:encode_msg(#sdl_empty{
|
||||
pkt_id = PktId
|
||||
EmptyArpResponsePkt = sdlan_pb:encode_msg(#sdl_arp_response{
|
||||
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;
|
||||
{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)]),
|
||||
PeerInfo = sdlan_pb:encode_msg(#sdl_arp_response{
|
||||
ArpResponsePkt = sdlan_pb:encode_msg(#sdl_arp_response{
|
||||
pkt_id = PktId,
|
||||
target_ip = TargetIp,
|
||||
target_mac = Mac
|
||||
}),
|
||||
quic_send(Stream, <<?PACKET_PEER_INFO, PeerInfo/binary>>),
|
||||
quic_send(Stream, <<?PACKET_ARP_RESPONSE, ArpResponsePkt/binary>>),
|
||||
keep_state_and_data
|
||||
end;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user