[W5300] W5300에서 UDP(snmp) 전송 시 arp 문제

안녕하세요…

w5300으로 시험 중입니다.

장비에서 다른 ip 영역으로 udp data 전송 시 전송이 되지 않습니다.
같은 영역 ip로는 정상 전송 됩니다.

확인해 보니… 다른 ip영역으로 전송 시 gateway의 주소 arp 조회를 진행하여야 하나 다른 영역의 해당 ip주소로 바로 arp 문의를 하고 있습니다.
<wireShark상 표시된 내용>
ARP : who has 192.168.0.7 ? Tell 192.168.80.102

제품은 ip 세팅은 다음과 같이 설정하였고
Ip : 192.168.80.102 Gateway : 192.168.80.1 SubnetMask 255.255.255.0
목적지 ip는 다음과 같습니다.
Ip : 192.168.0.7

w3100 으로 시험 시에는 동일한 환경에서 정상적으로 전송됩니다.
arp도 gateway의 주소를 정상적으로 문의 합니다.
<wireShark상 표시된 내용>
ARP : who has 192.168.80.1 ? Tell 192.168.80.102

원인을 찾았습니다.
subnetMask 설정 소스에 문제가 있었네요.

예전에 받았던 예제소스 인데… 혹시 동일한 문제로 고생하는 분들을 위해

제가 수정한 내용 올려 드립니다.
참고하세요…

<예제 소스>
void ApplySubnet()
{
IINCHIP_WRITE((SUBR),Subnet[0]);
IINCHIP_WRITE((SUBR),Subnet[1]);
IINCHIP_WRITE((SUBR),Subnet[2]);
IINCHIP_WRITE((SUBR),Subnet[3]);
}

<수정 후 >
void ApplySubnet()
{
IINCHIP_WRITE((SUBR0),Subnet[0]);
IINCHIP_WRITE((SUBR1),Subnet[1]);
IINCHIP_WRITE((SUBR2),Subnet[2]);
IINCHIP_WRITE((SUBR3),Subnet[3]);
}

감사합니다. Thank you!