-/* if_en.c 4.24 81/12/22 */
+/* if_en.c 4.29 82/01/19 */
#include "en.h"
es->es_if.if_net = ui->ui_flags;
es->es_if.if_host[0] =
(~(((struct endevice *)eninfo[ui->ui_unit]->ui_addr)->en_addr)) & 0xff;
+#ifdef ENKLUDGE
+ if (es->es_if.if_net == 10) {
+ es->es_if.if_host[0] <<= 16;
+ es->es_if.if_host[0] |= 0x4e;
+ }
+#endif
es->es_if.if_addr =
if_makeaddr(es->es_if.if_net, es->es_if.if_host[0]);
es->es_if.if_init = eninit;
register struct ip *ip = mtod(m0, struct ip *);
int off;
+#ifndef ENKLUDGE
dest = ip->ip_dst.s_addr >> 24;
+#else
+ dest = (ip->ip_dst.s_addr >> 8) & 0xff;
+#endif
off = ntohs((u_short)ip->ip_len) - m->m_len;
+#ifndef ENKLUDGE
if (off > 0 && (off & 0x1ff) == 0 && m->m_off >= MMINOFF + 2) {
type = ENPUP_TRAIL + (off>>9);
m->m_off -= 2;
*mtod(m, u_short *) = ENPUP_IPTYPE;
goto gottrailertype;
}
+#endif
type = ENPUP_IPTYPE;
off = 0;
goto gottype;