patch-2.0.34 linux/drivers/isdn/isdn_net.c
Next file: linux/drivers/isdn/sc/includes.h
Previous file: linux/drivers/isdn/avmb1/capiutil.c
Back to the patch index
Back to the overall index
- Lines: 45
- Date:
Wed Jun 3 15:17:47 1998
- Orig file:
v2.0.33/linux/drivers/isdn/isdn_net.c
- Orig date:
Mon Aug 4 17:34:00 1997
diff -u --recursive --new-file v2.0.33/linux/drivers/isdn/isdn_net.c linux/drivers/isdn/isdn_net.c
@@ -208,9 +208,7 @@
#include <net/icmp.h>
#include "isdn_common.h"
#include "isdn_net.h"
-#ifdef CONFIG_ISDN_PPP
#include "isdn_ppp.h"
-#endif
/* Prototypes */
@@ -822,6 +820,9 @@
addinfo[0] = '\0';
switch (lp->p_encap) {
+ case ISDN_NET_ENCAP_SYNCPPP:
+ p = &buf[IPPP_MAX_HEADER];
+ break;
case ISDN_NET_ENCAP_IPTYP:
proto = ntohs(*(unsigned short *) &buf[0]);
p = &buf[2];
@@ -1344,6 +1345,7 @@
isdn_net_local *lp = dev->priv;
ushort len = 0;
+ skb->mac.raw = skb->data;
switch (lp->p_encap) {
case ISDN_NET_ENCAP_ETHER:
len = my_eth_header(skb, dev, type, daddr, saddr, plen);
@@ -2256,6 +2258,7 @@
p->local.chargeint = cfg->chargeint * HZ;
}
if (cfg->p_encap != p->local.p_encap) {
+ /* FIXME: What if there are alias devices too? */
if (cfg->p_encap == ISDN_NET_ENCAP_RAWIP) {
p->dev.hard_header = NULL;
#if (LINUX_VERSION_CODE < 0x02010F)
@@ -2282,7 +2285,7 @@
p->dev.hard_header_cache = NULL;
#endif
p->dev.header_cache_update = NULL;
- p->dev.flags = IFF_NOARP;
+ p->dev.flags = IFF_NOARP | IFF_SOFTHEADERS;
}
}
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov