Re: Raw Ethernet on 8.5 Problem
Re: Raw Ethernet on 8.5 Problem
- Subject: Re: Raw Ethernet on 8.5 Problem
- From: Rich Kubota <email@hidden>
- Date: Wed, 26 Mar 2003 00:04:01 -0800
Duane,
This sounds like a bug which sounds really familiar. I recall that if
you tried to open a promiscuous endpoint on the built-in ethernet
hardware when ATalk and TCP were both disabled, or using a different
NIC (like a different Ethernet card), then the endpoint would not be
passed incoming packets. In fact in reviewing my ancient emails, I
found that I submitted bug number 2288266 on this problem. It appears
that the problem was fixed in a later release of OT.
The solution that I came up with was to open a DDP endpoint above the
built-in ethernet. You don't need to bind the "kickstart" ddp
endpoint, just layer DDP above the desired ethernet NIC.
I wrote the following function a while back
#if __OPENATALKONENET__
OSStatus StartDummyAppleTalkEndpoint(char *drivername)
{
char configStr[255] = "ddp,";
OSStatus osstatus = kOTNoError;
if (gEndpoint1 == nil)
{
OTStrCat(configStr, drivername);
gEndpoint1 =
OTOpenEndpoint(OTCreateConfiguration(configStr), (OTOpenFlags)NULL,
NULL, &osstatus);
if (osstatus == kOTNoError)
{
osstatus = DoBindATalkEndpoint(gEndpoint1);
}
else
gEndpoint1 = nil;
}
return osstatus;
}
#endif
the drivername will be something like "enet0".
After things are working, then call OTCloseProvider on gEndpoint1.
rich
At 10:40 PM -0800 3/25/03, Duane Murphy wrote:
--- At Tue, 25 Mar 2003 16:17:42 -0800, Duane Murphy wrote:
I am working on a bug in our app running on system 8.5 (happens to be on
a 7500 w/ G3 upgrade). Our app uses raw Ethernet connections to
communicate to a modem. On other systems this seems to work just fine.
On system 8.5, we can put packets on the wire but incoming packets are
not being received. This is only the case when TCP/IP has not been
initialized. Usually this means that TCP/IP is set to use DHCP and no one
has opened a TCP/IP port.
Our code scans for all Ethernet ports, so I dont want to be dependent on
TCP/IP. Is there a magic incantation that I am missing to get the
Ethernet driver to listen to packets?
To follow up on this issue. In order to duplicate the situation,
AppleTalk must not be set to Ethernet. It appears that if any of the
system drivers opens the Ethernet driver then it starts working. What do
I need to do to get the Ethernet driver working with out one of the other
stacks also working.
Which Tech Note did I miss? :-)
--
Sincerely,
Rich Kubota
email@hidden
(408) 974-6212
_______________________________________________
macnetworkprog mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/macnetworkprog
Do not post admin requests to the list. They will be ignored.