routerfilter.c

来自「包括EPA协议栈」· C语言 代码 · 共 26 行

C
26
字号
#include "tcpip.h"

uint8 IPFilter(PNetIF pni, uint32 ip, PSock psock) {
	
	if((ip & pni->mask) ==( pni->ip& pni->mask) || pni->ip == ip)
   {
		psock->pni = pni;
		return IP_NO_ERR;
	}
	if((ip & ~pni->mask) == ~pni->mask && ip != pni->ip)
	 {
		return IP_ADDR_ERR;
	}
	if((ip & 0xF0000000) == 0xE0000000) 
	{
		return IP_NO_ERR;
	}
	if(pni->ip == ip)//如果是发往本机的报文 
	{
	   return IP_NO_ROUTE;  
	}
	else {
		return IP_ADDR_ROUTE;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?