projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
date and time created 82/03/27 22:57:39 by sam
[unix-history]
/
usr
/
src
/
sys
/
net
/
if.c
diff --git
a/usr/src/sys/net/if.c
b/usr/src/sys/net/if.c
index
6d12908
..
c1c6c10
100644
(file)
--- a/
usr/src/sys/net/if.c
+++ b/
usr/src/sys/net/if.c
@@
-1,4
+1,4
@@
-/* if.c 4.
7 82/02/03
*/
+/* if.c 4.
10 82/03/15
*/
#include "../h/param.h"
#include "../h/systm.h"
#include "../h/param.h"
#include "../h/systm.h"
@@
-6,13
+6,18
@@
#include "../net/in_systm.h"
#include "../net/if.h"
#include "../net/in_systm.h"
#include "../net/if.h"
+int ifqmaxlen = IFQ_MAXLEN;
+
ifinit()
{
register struct ifnet *ifp;
for (ifp = ifnet; ifp; ifp = ifp->if_next)
ifinit()
{
register struct ifnet *ifp;
for (ifp = ifnet; ifp; ifp = ifp->if_next)
- if (ifp->if_init)
+ if (ifp->if_init)
{
(*ifp->if_init)();
(*ifp->if_init)();
+ if (ifp->if_snd.ifq_maxlen == 0)
+ ifp->if_snd.ifq_maxlen = ifqmaxlen;
+ }
}
ifubareset(uban)
}
ifubareset(uban)
@@
-28,10
+33,12
@@
ifubareset(uban)
if_attach(ifp)
struct ifnet *ifp;
{
if_attach(ifp)
struct ifnet *ifp;
{
+ register struct ifnet **p = &ifnet;
COUNT(IF_ATTACH);
COUNT(IF_ATTACH);
- ifp->if_next = ifnet;
- ifnet = ifp;
+ while (*p)
+ p = &((*p)->if_next);
+ *p = ifp;
}
/*ARGSUSED*/
}
/*ARGSUSED*/
@@
-43,7
+50,9
@@
if_ifwithaddr(in)
COUNT(IF_IFWITHADDR);
for (ifp = ifnet; ifp; ifp = ifp->if_next)
COUNT(IF_IFWITHADDR);
for (ifp = ifnet; ifp; ifp = ifp->if_next)
- if (ifp->if_addr.s_addr == in.s_addr)
+ if (in.s_addr == ifp->if_addr.s_addr ||
+ (ifp->if_broadaddr.s_addr != 0 &&
+ in.s_addr == ifp->if_broadaddr.s_addr))
break;
return (ifp);
}
break;
return (ifp);
}