ethersink: provide promisc and multicast functions for v6, set out queue limit to 0 on attach, add to pc64 config

This commit is contained in:
cinap_lenrek 2018-02-11 19:51:23 +01:00
parent d6e0e9c402
commit 3d0f4da104
2 changed files with 20 additions and 7 deletions

View file

@ -68,7 +68,7 @@ link
# ethervgbe pci ethermii # ethervgbe pci ethermii
# ethervt6102 pci ethermii # ethervt6102 pci ethermii
# ethervt6105m pci ethermii # ethervt6105m pci ethermii
# ethersink ethersink
# ethersmc devi82365 cis # ethersmc devi82365 cis
etheryuk pci etheryuk pci
# etherwavelan wavelan devi82365 cis pci # etherwavelan wavelan devi82365 cis pci

View file

@ -33,22 +33,35 @@ ctl(Ether *ether, void *buf, long n)
} }
static void static void
nop(Ether*) attach(Ether *ether)
{
/* silently discard output */
qnoblock(ether->oq, 1);
qsetlimit(ether->oq, 0);
}
static void
multicast(void *, uchar*, int)
{
}
static void
promiscuous(void *, int)
{ {
} }
static int static int
reset(Ether* ether) reset(Ether* ether)
{ {
static uchar zeros[Eaddrlen];
if(ether->type==nil) if(ether->type==nil)
return -1; return -1;
ether->mbps = 1000; ether->mbps = 1000;
ether->attach = nop; ether->attach = attach;
ether->transmit = nop; ether->multicast = multicast;
ether->ifstat = nil; ether->promiscuous = promiscuous;
ether->ctl = ctl; ether->ctl = ctl;
ether->promiscuous = nil;
ether->multicast = nil;
ether->arg = ether; ether->arg = ether;
return 0; return 0;
} }