diff -ur cipe-1.5.2/cipe/output.c cipe-1.5.2-routes/cipe/output.c --- cipe-1.5.2/cipe/output.c Tue May 1 21:23:42 2001 +++ cipe-1.5.2-routes/cipe/output.c Fri Jan 18 23:03:15 2002 @@ -155,7 +155,7 @@ RT_TOS(tos), tunnel->sock->bound_dev_if)); #endif if (ip_route_output(&rt, dst, tunnel->sock->rcv_saddr, RT_TOS(tos), - tunnel->sock->bound_dev_if)) { + tunnel->sock->bound_dev_if, 0)) { dprintk(DEB_OUT, (KERN_NOTICE "%s: no route\n", dev->name)); tunnel->stat.tx_carrier_errors++; dst_link_failure(skb); diff -ur cipe-1.5.2/cipe/sock.c cipe-1.5.2-routes/cipe/sock.c --- cipe-1.5.2/cipe/sock.c Sun Feb 11 21:42:40 2001 +++ cipe-1.5.2-routes/cipe/sock.c Fri Jan 18 23:03:15 2002 @@ -211,6 +211,11 @@ goto framerr; } #endif + if (lengthsockshost?sizeof(struct sockshdr):0)) { + printk(KERN_INFO "%s: got short packet from %s\n", c->dev->name, + cipe_ntoa(saddr(skb))); + goto framerr; + } n=alloc_skb(skb->len, GFP_KERNEL); if (!n) { @@ -388,10 +393,8 @@ c->stat.rx_packets++; return NULL; -#if 0 framerr: ++c->stat.rx_frame_errors; /* slightly abuse this */ -#endif error: ++c->stat.rx_errors; if (n)