from_ip(buf, l)
void from_ip(buf, l)
from_ip(buf, l)unsigned char *buf;int l;{	int port = 0;	unsigned char *a;	if(!ok_crc(buf, l)){		stats.ip_failed_crc++;		LOGL2("from_ip: dumped - CRC incorrect!\n");		return;	}	l = l - 2;      /* dump the blasted CRC */	if(l<15){		stats.ip_tooshort++;		LOGL2("from_ip: dumped - length wrong!\n");		return;	}	if(loglevel>2)dump_ax25frame("from_ip: ", buf, l);	if(digi){               /* if we are in digi mode */		a = next_addr(buf);		if(NOT_ME(a)){			stats.ip_not_for_me++;			LOGL2("from_ip: (digi) dumped - not for me!\n");			return;		}		if(a==buf){     /* must be a digi */			stats.ip_i_am_dest++;			LOGL2("from_ip: (digi) dumped - I am destination!\n");			return;		}		if(dual_port == 1 && FOR_PORT2(a)){			port = 0x10;		}		SETREPEATED(a);	} else {                /* must be tnc mode */		a = next_addr(buf);#ifdef TNC_FILTER		if(NOT_ME(a)){			LOGL2("from_ip: (tnc) dumped - I am not destination!\n");			return;		}#endif	}                       /* end of tnc mode */	send_kiss(port, buf, l);}