Removed TIMRU stuff.

This commit is contained in:
Fritz Elfert 1999-04-18 14:07:18 +00:00
parent 028b412fca
commit a6dac6114b
7 changed files with 18 additions and 209 deletions

View File

@ -7,11 +7,6 @@ if [ "$CONFIG_INET" != "n" ]; then
bool 'Use VJ-compression with synchronous PPP' CONFIG_ISDN_PPP_VJ
bool 'Support generic MP (RFC 1717)' CONFIG_ISDN_MPP
fi
bool 'Support dynamic timeout-rules' CONFIG_ISDN_TIMEOUT_RULES
if [ "$CONFIG_ISDN_TIMEOUT_RULES" != "n" ]; then
bool 'Use masqueraded addresses for rule-matching' CONFIG_ISDN_TIMRU_USE_MASQ
fi
bool 'Support budget-accounting' CONFIG_ISDN_BUDGET
fi
bool 'Support audio via ISDN' CONFIG_ISDN_AUDIO
if [ "$CONFIG_X25" != "n" ]; then

View File

@ -25,12 +25,6 @@ ifeq ($(CONFIG_ISDN),y)
ifdef CONFIG_ISDN_AUDIO
L_OBJS += isdn_audio.o
endif
ifdef CONFIG_ISDN_TIMEOUT_RULES
L_OBJS += isdn_timru.o
endif
ifdef CONFIG_ISDN_BUDGET
L_OBJS += isdn_budget.o
endif
else
ifeq ($(CONFIG_ISDN),m)
M_OBJS += isdn.o
@ -48,12 +42,6 @@ else
ifdef CONFIG_ISDN_AUDIO
O_OBJS += isdn_audio.o
endif
ifdef CONFIG_ISDN_TIMEOUT_RULES
O_OBJS += isdn_timru.o
endif
ifdef CONFIG_ISDN_BUDGET
O_OBJS += isdn_budget.o
endif
endif
endif

View File

@ -21,6 +21,9 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Log$
* Revision 1.74 1999/04/12 13:16:45 fritz
* Changes from 2.0 tree.
*
* Revision 1.73 1999/04/12 12:33:15 fritz
* Changes from 2.0 tree.
*
@ -390,7 +393,7 @@ isdn_MOD_DEC_USE_COUNT(void)
}
}
#if defined(ISDN_DEBUG_NET_DUMP) || defined(ISDN_DEBUG_MODEM_DUMP) || defined(CONFIG_ISDN_TIMEOUT_RULES)
#if defined(ISDN_DEBUG_NET_DUMP) || defined(ISDN_DEBUG_MODEM_DUMP)
void
isdn_dumppkt(char *s, u_char * p, int len, int dumplen)
{
@ -1345,12 +1348,6 @@ isdn_ioctl(struct inode *inode, struct file *file, uint cmd, ulong arg)
isdn_ioctl_struct iocts;
isdn_net_ioctl_phone phone;
isdn_net_ioctl_cfg cfg;
#ifdef CONFIG_ISDN_TIMEOUT_RULES
isdn_ioctl_timeout_rule timru;
#endif /* CONFIG_ISDN_TIMEOUT_RULES */
#ifdef CONFIG_ISDN_BUDGET
isdn_ioctl_budget budget;
#endif /* CONFIG_ISDN_BUDGET */
} iocpar;
#define name iocpar.name
@ -1358,13 +1355,6 @@ isdn_ioctl(struct inode *inode, struct file *file, uint cmd, ulong arg)
#define iocts iocpar.iocts
#define phone iocpar.phone
#define cfg iocpar.cfg
#ifdef CONFIG_ISDN_TIMEOUT_RULES
# define timru iocpar.timru
#endif /* CONFIG_ISDN_TIMEOUT_RULES */
#ifdef CONFIG_ISDN_BUDGET
# define budget iocpar.budget
#endif /* CONFIG_ISDN_BUDGET */
if (minor == ISDN_MINOR_STATUS) {
switch (cmd) {
@ -1561,57 +1551,6 @@ isdn_ioctl(struct inode *inode, struct file *file, uint cmd, ulong arg)
return -EFAULT;
return isdn_net_force_hangup(name);
break;
#ifdef CONFIG_ISDN_TIMEOUT_RULES
case IIOCNETARU:
/* Add a rule to a network-interface */
if (arg) {
if(copy_from_user((char *) &timru, (char *) arg, sizeof(timru)))
return -EFAULT;
return(isdn_timru_ioctl_add_rule(&timru));
} else
return(-EINVAL);
case IIOCNETDRU:
/* Delete a rule from a network-interface */
if (arg) {
if(copy_from_user((char *) &timru, (char *) arg, sizeof(timru)))
return -EFAULT;
return(isdn_timru_ioctl_del_rule(&timru));
} else
return(-EINVAL);
case IIOCNETGRU:
/* Get a rule of a network-interface */
if (arg) {
if(copy_from_user((char *)&timru, (char *)arg, sizeof(timru)))
return -EFAULT;
if((ret = isdn_timru_ioctl_get_rule(&timru)))
return(ret);
if(copy_to_user((char *)arg, (char *)&timru, sizeof(timru)))
return -EFAULT;
return(0);
} else
return(-EINVAL);
#endif /* CONFIG_ISDN_TIMEOUT_RULES */
#ifdef CONFIG_ISDN_BUDGET
case IIOCNETBUD:
/* handle budget-accounting of a network-interface */
if (arg) {
if(copy_from_user((char *)&budget, (char *)arg, sizeof(budget)))
return -EFAULT;
if((ret = isdn_budget_ioctl(&budget)))
return(ret);
if(copy_to_user((char *)arg, (char *)&budget, sizeof(budget)))
return -EFAULT;
return(0);
} else
return(-EINVAL);
#endif /* CONFIG_ISDN_BUDGET */
#endif /* CONFIG_NETDEVICES */
case IIOCSETVER:
dev->net_verbose = arg;

View File

@ -21,6 +21,9 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Log$
* Revision 1.14 1999/04/12 12:33:18 fritz
* Changes from 2.0 tree.
*
* Revision 1.13 1999/03/02 12:04:47 armin
* -added ISDN_STAT_ADDCH to increase supported channels after
* register_isdn().
@ -115,6 +118,6 @@ extern int isdn_writebuf_skb_stub(int, int, int, struct sk_buff *);
extern int register_isdn(isdn_if * i);
extern int isdn_wildmat(char *, char *);
extern int isdn_add_channels(driver *, int, int, int);
#if defined(ISDN_DEBUG_NET_DUMP) || defined(ISDN_DEBUG_MODEM_DUMP) || defined(CONFIG_ISDN_TIMEOUT_RULES)
#if defined(ISDN_DEBUG_NET_DUMP) || defined(ISDN_DEBUG_MODEM_DUMP)
extern void isdn_dumppkt(char *, u_char *, int, int);
#endif

View File

@ -21,6 +21,9 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Log$
* Revision 1.83 1999/04/12 12:33:23 fritz
* Changes from 2.0 tree.
*
* Revision 1.82 1999/01/17 00:55:58 he
* added mark_bh in BCONN statcallb and cleaned up some dead code
*
@ -543,17 +546,10 @@ isdn_net_autohup()
l->huptimer++;
/*
* if there is some dialmode where timeout-hangup
* should _not_ be done, check for that here and
* 37 lines below (ifdef CONFIG_ISDN_BUDGET)
* eg: (ISDN_NET_DIALMODE(*l) != ISDN_NET_DM_NOTIMEOUT)
* should _not_ be done, check for that here
*/
#ifdef CONFIG_ISDN_TIMEOUT_RULES
if ((l->timeout_rules || l->huptimeout) &&
(l->huptimer > l->huptimeout))
#else
if ((l->onhtime) &&
(l->huptimer > l->onhtime))
#endif
{
if (l->hupflags & ISDN_MANCHARGE &&
l->hupflags & ISDN_CHARGEHUP) {
@ -579,11 +575,6 @@ isdn_net_autohup()
} else if (l->hupflags & ISDN_INHUP)
isdn_net_hangup(&p->dev);
}
#ifdef CONFIG_ISDN_BUDGET
if(isdn_net_budget(ISDN_BUDGET_CHECK_ONLINE, &p->dev)) {
isdn_net_hangup(&p->dev);
}
#endif
if(dev->global_flags & ISDN_GLOBAL_STOPPED || (ISDN_NET_DIALMODE(*l) == ISDN_NET_DM_OFF)) {
isdn_net_hangup(&p->dev);
@ -717,10 +708,6 @@ isdn_net_stat_callback(int idx, isdn_ctrl *c)
/* reset dial-timeout */
lp->dialstarted = 0;
lp->dialwait_timer = 0;
#ifdef CONFIG_ISDN_BUDGET
(void)isdn_net_budget(ISDN_BUDGET_START_ONLINE, &p->dev);
(void)isdn_net_budget(ISDN_BUDGET_CHECK_CHARGE, &p->dev);
#endif
/* Immediately send first skb to speed up arp */
#ifdef CONFIG_ISDN_PPP
@ -745,11 +732,6 @@ isdn_net_stat_callback(int idx, isdn_ctrl *c)
*/
lp->netdev->dev.tbusy = 0;
mark_bh(NET_BH);
#ifdef CONFIG_ISDN_TIMEOUT_RULES
/* recalc initial huptimeout,
there is no packet to match the rules. */
isdn_net_recalc_timeout(ISDN_TIMRU_BRINGUP, ISDN_TIMRU_PACKET_NONE, &p->dev, NULL, 0);
#endif
}
return 1;
}
@ -776,11 +758,6 @@ isdn_net_stat_callback(int idx, isdn_ctrl *c)
lp->chargetime = jiffies;
printk(KERN_DEBUG "isdn_net: Got CINF chargetime of %s now %d\n",
lp->name, lp->chargetime);
#ifdef CONFIG_ISDN_BUDGET
if(isdn_net_budget(ISDN_BUDGET_CHECK_CHARGE, &p->dev)) {
isdn_net_hangup(&p->dev);
}
#endif
return 1;
}
}
@ -907,14 +884,6 @@ isdn_net_dial(void)
lp->dialstate = 4;
printk(KERN_INFO "%s: Open leased line ...\n", lp->name);
} else {
#ifdef CONFIG_ISDN_BUDGET
if(isdn_net_budget(ISDN_BUDGET_CHECK_DIAL, &p->dev)) {
restore_flags(flags);
isdn_net_unreachable(&p->dev, lp->first_skb, "dial: budget(s) used up");
isdn_net_hangup(&p->dev);
break;
}
#endif
if(lp->dialtimeout > 0)
if(jiffies > (lp->dialstarted + lp->dialtimeout)) {
restore_flags(flags);
@ -1256,21 +1225,14 @@ isdn_net_xmit(struct device *ndev, isdn_net_local * lp, struct sk_buff *skb)
{
int ret;
#if CONFIG_ISDN_TIMEOUT_RULES
(void)isdn_net_recalc_timeout(ISDN_TIMRU_KEEPUP_OUT,
ISDN_TIMRU_PACKET_SKB, ndev, skb, 0);
#endif
/* For the other encaps the header has already been built */
#ifdef CONFIG_ISDN_PPP
if (lp->p_encap == ISDN_NET_ENCAP_SYNCPPP) {
return isdn_ppp_xmit(skb, ndev);
}
#endif
#ifndef CONFIG_ISDN_TIMEOUT_RULES
/* Reset hangup-timeout */
lp->huptimer = 0;
#endif
if (lp->cps > lp->triggercps) {
/* Device overloaded */
@ -1390,16 +1352,6 @@ isdn_net_start_xmit(struct sk_buff *skb, struct device *ndev)
save_flags(flags);
cli();
#ifdef CONFIG_ISDN_TIMEOUT_RULES
if(isdn_net_recalc_timeout(ISDN_TIMRU_BRINGUP,
ISDN_TIMRU_PACKET_SKB, ndev, skb, 0) <= 0) {
isdn_net_unreachable(ndev, skb, "dial rejected: packet may not bring up connection");
dev_kfree_skb(skb);
ndev->tbusy = 0;
restore_flags(flags);
return 0;
}
#endif
if(lp->dialwait_timer <= 0)
if(lp->dialstarted > 0 && lp->dialtimeout > 0 && jiffies < lp->dialstarted + lp->dialtimeout + lp->dialwait)
lp->dialwait_timer = lp->dialstarted + lp->dialtimeout + lp->dialwait;
@ -1694,10 +1646,8 @@ isdn_net_receive(struct device *ndev, struct sk_buff *skb)
isdn_net_local *lp = (isdn_net_local *) ndev->priv;
isdn_net_local *olp = lp; /* original 'lp' */
#ifdef CONFIG_ISDN_PPP
#ifndef CONFIG_ISDN_TIMEOUT_RULES
int proto = PPP_PROTOCOL(skb->data);
#endif
#endif
#ifdef CONFIG_ISDN_X25
struct concap_proto *cprot = lp -> netdev -> cprot;
#endif
@ -1726,26 +1676,20 @@ isdn_net_receive(struct device *ndev, struct sk_buff *skb)
switch (lp->p_encap) {
case ISDN_NET_ENCAP_ETHER:
/* Ethernet over ISDN */
#ifndef CONFIG_ISDN_TIMEOUT_RULES
olp->huptimer = 0;
lp->huptimer = 0;
#endif
skb->protocol = isdn_net_type_trans(skb, ndev);
break;
case ISDN_NET_ENCAP_UIHDLC:
/* HDLC with UI-frame (for ispa with -h1 option) */
#ifndef CONFIG_ISDN_TIMEOUT_RULES
olp->huptimer = 0;
lp->huptimer = 0;
#endif
skb_pull(skb, 2);
/* Fall through */
case ISDN_NET_ENCAP_RAWIP:
/* RAW-IP without MAC-Header */
#ifndef CONFIG_ISDN_TIMEOUT_RULES
olp->huptimer = 0;
lp->huptimer = 0;
#endif
skb->protocol = htons(ETH_P_IP);
break;
case ISDN_NET_ENCAP_CISCOHDLCK:
@ -1785,10 +1729,8 @@ isdn_net_receive(struct device *ndev, struct sk_buff *skb)
/* Fall through */
case ISDN_NET_ENCAP_IPTYP:
/* IP with type field */
#ifndef CONFIG_ISDN_TIMEOUT_RULES
olp->huptimer = 0;
lp->huptimer = 0;
#endif
skb->protocol = *(unsigned short *) &(skb->data[0]);
skb_pull(skb, 2);
if (*(unsigned short *) skb->data == 0xFFFF)
@ -1796,7 +1738,6 @@ isdn_net_receive(struct device *ndev, struct sk_buff *skb)
break;
#ifdef CONFIG_ISDN_PPP
case ISDN_NET_ENCAP_SYNCPPP:
#ifndef CONFIG_ISDN_TIMEOUT_RULES
/*
* If encapsulation is syncppp, don't reset
* huptimer on LCP packets.
@ -1805,7 +1746,6 @@ isdn_net_receive(struct device *ndev, struct sk_buff *skb)
olp->huptimer = 0;
lp->huptimer = 0;
}
#endif
isdn_ppp_receive(lp->netdev, olp, skb);
return;
#endif
@ -1824,12 +1764,6 @@ isdn_net_receive(struct device *ndev, struct sk_buff *skb)
return;
}
#ifdef CONFIG_ISDN_TIMEOUT_RULES
isdn_net_recalc_timeout(ISDN_TIMRU_KEEPUP_IN,
ISDN_TIMRU_PACKET_SKB, ndev, skb, 0);
/* FIXME: olp->huptimer = lp->huptimer ? */
#endif
netif_rx(skb);
return;
}
@ -2588,14 +2522,6 @@ isdn_net_new(char *name, struct device *master)
netdev->local->dialstarted = 0; /* Jiffies of last dial-start */
netdev->local->dialwait_timer = 0; /* Jiffies of earliest next dial-start */
#ifdef CONFIG_ISDN_TIMEOUT_RULES
netdev->local->timeout_rules = NULL;
#endif
#ifdef CONFIG_ISDN_BUDGET
(void)isdn_net_budget(ISDN_BUDGET_INIT, &netdev->dev);
#endif
/* Put into to netdev-chain */
netdev->next = (void *) dev->netdev;
dev->netdev = netdev;

View File

@ -19,6 +19,9 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Log$
* Revision 1.46 1999/04/12 12:33:35 fritz
* Changes from 2.0 tree.
*
* Revision 1.45 1998/12/30 17:48:24 paul
* fixed syncPPP callback out
*
@ -934,10 +937,8 @@ isdn_ppp_write(int min, struct file *file, const char *buf, int count)
{
isdn_net_local *lp;
struct ippp_struct *is;
#ifndef CONFIG_ISDN_TIMEOUT_RULES
int proto;
unsigned char protobuf[4];
#endif
is = file->private_data;
@ -951,7 +952,6 @@ isdn_ppp_write(int min, struct file *file, const char *buf, int count)
if (!lp)
printk(KERN_DEBUG "isdn_ppp_write: lp == NULL\n");
else {
#ifndef CONFIG_ISDN_TIMEOUT_RULES
/*
* Don't reset huptimer for
* LCP packets. (Echo requests).
@ -961,7 +961,6 @@ isdn_ppp_write(int min, struct file *file, const char *buf, int count)
proto = PPP_PROTOCOL(protobuf);
if (proto != PPP_LCP)
lp->huptimer = 0;
#endif
if (lp->isdn_device < 0 || lp->isdn_channel < 0)
return 0;
@ -983,10 +982,6 @@ isdn_ppp_write(int min, struct file *file, const char *buf, int count)
isdn_ppp_frame_log("xmit", skb->data, skb->len, 32,is->unit,lp->ppp_slot);
}
#ifdef CONFIG_ISDN_TIMEOUT_RULES
(void)isdn_net_recalc_timeout(ISDN_TIMRU_KEEPUP_OUT,
ISDN_TIMRU_PACKET_PPP, &lp->netdev->dev, skb->data, 0);
#endif
isdn_ppp_send_ccp(lp->netdev,lp,skb); /* keeps CCP/compression states in sync */
if ((cnt = isdn_writebuf_skb_stub(lp->isdn_device, lp->isdn_channel, 1, skb)) != count) {
@ -1366,22 +1361,13 @@ isdn_ppp_push_higher(isdn_net_dev * net_dev, isdn_net_local * lp, struct sk_buff
break;
/* fall through */
default:
#ifdef CONFIG_ISDN_TIMEOUT_RULES
(void)isdn_net_recalc_timeout(ISDN_TIMRU_KEEPUP_IN,
ISDN_TIMRU_PACKET_PPP_NO_HEADER, dev, skb->data, proto);
#endif
isdn_ppp_fill_rq(skb->data, skb->len, proto, lp->ppp_slot); /* push data to pppd device */
dev_kfree_skb(skb);
return;
}
#ifdef CONFIG_ISDN_TIMEOUT_RULES
(void)isdn_net_recalc_timeout(ISDN_TIMRU_KEEPUP_IN,
ISDN_TIMRU_PACKET_SKB, dev, skb, 0);
#else
/* Reset hangup-timer */
lp->huptimer = 0;
#endif
netif_rx(skb);
/* net_dev->local->stats.rx_packets++; *//* done in isdn_net.c */
@ -1484,10 +1470,7 @@ isdn_ppp_xmit(struct sk_buff *skb, struct device *dev)
lp = nlp;
}
ipt = ippp_table[lp->ppp_slot];
#ifndef CONFIG_ISDN_TIMEOUT_RULES
lp->huptimer = 0;
#endif
/*
* after this line .. requeueing in the device queue is no longer allowed!!!

View File

@ -21,6 +21,9 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Log$
* Revision 1.62 1999/04/12 13:16:54 fritz
* Changes from 2.0 tree.
*
* Revision 1.61 1999/03/02 11:43:21 armin
* Added variable to store connect-message of Modem.
* Added Timer-define for RegS7 (Wait for Carrier).
@ -519,28 +522,6 @@ typedef struct {
char num[ISDN_MSNLEN];
} isdn_net_phone;
#ifdef CONFIG_ISDN_TIMEOUT_RULES
#include <linux/isdn_timru.h>
struct isdn_timeout_rules {
isdn_timeout_rule *timru[ISDN_TIMRU_NUM_CHECK][ISDN_TIMRU_NUM_PROTFAM];
int defaults[ISDN_TIMRU_NUM_CHECK];
};
#endif
#ifdef CONFIG_ISDN_BUDGET
#include <linux/isdn_budget.h>
typedef struct {
int amount, /* usable amount */
used, /* used so far */
period, /* length of period */
notified; /* flag: notified user about low budget */
time_t period_started, /* when did the current period start? */
last_check; /* last time checked */
} isdn_budget;
#endif
/*
Principles when extending structures for generic encapsulation protocol
("concap") support:
@ -628,12 +609,6 @@ typedef struct isdn_net_local_s {
ulong dialstarted; /* jiffies of first dialing-attempt */
ulong dialwait_timer; /* jiffies of earliest next dialing-attempt */
int huptimeout; /* How long will the connection be up? (seconds) */
#ifdef CONFIG_ISDN_TIMEOUT_RULES
struct isdn_timeout_rules *timeout_rules;
#endif
#ifdef CONFIG_ISDN_BUDGET
isdn_budget budget [ISDN_BUDGET_NUM_BUDGET];
#endif
#ifdef CONFIG_ISDN_X25
struct concap_device_ops *dops; /* callbacks used by encapsulator */
#endif