Subject: send ethernet arp packets over open firmware
To: None <port-macppc@NetBSD.org>
From: Noah yan <noah.yan@gmail.com>
List: port-macppc
Date: 03/09/2006 23:29:17
------=_Part_8747_33402884.1141968557452
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Dear Friends,

I tried to use  some code from netbsd to develop codes that send ethernet
arp packages over open firmware. And this is before a full os is up.
i use the code of netif_put (
http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?v=3DN=
ETBSD)
and  rarp.c (http://fxr.watson.org/fxr/source/lib/libsa/rarp.c?v=3DNETBSD).

The only different for the netif_put code I use is that I did not use the
dmabuf (see the code below from 160-164) in of_write, instead I directly us=
e
the pkg buffer in OF_write.  the results is not good, the the rarp packets
is sent out and I can catpure it via ethereal in the server side, but they
are all  bad code and does not contain any hints of what I initialized in
the client side. I test this on a PowerMac G4 with onboard ethernet port,
which is gigabit.

Is this the reason of the disabled dma? or anything else that I have missed=
?


Thanks very much in advance.
Noah Yan

netif_put <http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dnetif_put>(struct
iodesc <http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Diodesc> *desc
<http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Ddesc>, void *pkt
<http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dpkt>, size_t
<http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dsize_t> len
<http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dlen>)
132 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L132>
{
133 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L133>
        struct of_dev
<http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dof_dev> *op
<http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dop>;
134 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L134>
        ssize_t <http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dssize_t>
rv <http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Drv>;
135 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L135>
        size_t <http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dsize_t>
sendlen;
136 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L136>
137 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L137>
        op <http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dop> =3D (struct
of_dev <http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dof_dev> *)desc
<http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Ddesc>->io_netif;
138 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L138>
139 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L139>
#ifdef  NETIF_DEBUG
140 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L140>
        {
141 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L141>
                struct ether_header
<http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dether_header> *eh
<http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Deh>;
142 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L142>
143 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L143>
                printf
<http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dprintf>(*"netif_put:
desc=3D0x%x pkt=3D0x%x len=3D%d\n"*,
144 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L144>
                       desc
<http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Ddesc>, pkt
<http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dpkt>, len
<http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dlen>);
145 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L145>
                eh <http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Deh> =3D
pkt <http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dpkt>;
146 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L146>
                printf
<http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dprintf>(*"dst: %s "*,
ether_sprintf <http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dether_sprintf=
>(eh
<http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Deh>->ether_dhost));
147 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L147>
                printf
<http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dprintf>(*"src: %s "*,
ether_sprintf <http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dether_sprintf=
>(eh
<http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Deh>->ether_shost));
148 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L148>
                printf
<http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dprintf>(*"type: 0x%x\n"*,
eh <http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Deh>->ether_type &
0xFFFF);
149 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L149>
        }
150 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L150>
#endif
151 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L151>
152 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L152>
        sendlen =3D len
<http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dlen>;
153 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L153>
        if (sendlen < 60) {
154 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L154>
                sendlen =3D 60;
155 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L155>
#ifdef  NETIF_DEBUG
156 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L156>
                printf
<http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dprintf>(*"netif_put:
length padded to %d\n"*, sendlen);
157 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L157>
#endif
158 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L158>
        }
159 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L159>
160 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L160>
        if (op <http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dop>->dmabuf)
{
161 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L161>
                memcpy
<http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dmemcpy>(op
<http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dop>->dmabuf, pkt
<http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dpkt>, sendlen);
162 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L162>
                pkt <http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dpkt> =
=3D
op <http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dop>->dmabuf;
163 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L163>
        }
164 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L164>
        rv <http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Drv> =3D OF_write
<http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3DOF_write>(op
<http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dop>->handle
<http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dhandle>, pkt
<http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dpkt>, sendlen);
165 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L165>
166 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L166>
#ifdef  NETIF_DEBUG
167 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L167>
        printf <http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dprintf>(*"ne=
tif_put:
xmit returned %d\n"*, rv
<http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Drv>);
168 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L168>
#endif
169 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L169>
170 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L170>
        return rv <http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Drv>;
171 <http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?=
v=3DNETBSD#L171>
}

------=_Part_8747_33402884.1141968557452
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Dear Friends,<br>
<br>
I tried to use&nbsp; some code from netbsd to develop codes that send
ethernet arp packages over open firmware. And this is before a full os
is up. <br>
i use the code of netif_put
(<a href=3D"http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/neti=
f_of.c?v=3DNETBSD">http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwbo=
ot/netif_of.c?v=3DNETBSD</a>)
and&nbsp; rarp.c
(<a href=3D"http://fxr.watson.org/fxr/source/lib/libsa/rarp.c?v=3DNETBSD">h=
ttp://fxr.watson.org/fxr/source/lib/libsa/rarp.c?v=3DNETBSD</a>).&nbsp; <br=
>
<br>
The only different for the netif_put code I use is that I did not use
the dmabuf (see the code below from 160-164) in of_write, instead I
directly use the pkg buffer in OF_write.&nbsp; the results is not good,
the the rarp packets is sent out and I can catpure it via ethereal in
the server side, but they are all&nbsp; bad code and does not contain
any hints of what I initialized in the client side. I test this on a
PowerMac G4 with onboard ethernet port, which is gigabit. <br>
<br>
Is this the reason of the disabled dma? or anything else that I have missed=
? <br>
<br>
Thanks very much in advance.<br>
Noah Yan<br>
<br>
<pre><a href=3D"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dnetif_put">n=
etif_put</a>(struct <a href=3D"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=
=3Diodesc">iodesc</a> *<a href=3D"http://fxr.watson.org/fxr/ident?v=3DNETBS=
D;i=3Ddesc">desc
</a>, void *<a href=3D"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dpkt">=
pkt</a>, <a href=3D"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dsize_t">=
size_t</a> <a href=3D"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dlen">l=
en</a>)<br><a name=3D"L132" href=3D"http://fxr.watson.org/fxr/source/arch/m=
acppc/stand/ofwboot/netif_of.c?v=3DNETBSD#L132">
132</a> {<br><a name=3D"L133" href=3D"http://fxr.watson.org/fxr/source/arch=
/macppc/stand/ofwboot/netif_of.c?v=3DNETBSD#L133">133</a>         struct <a=
 href=3D"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dof_dev">of_dev</a> =
*<a href=3D"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dop">
op</a>;<br><a name=3D"L134" href=3D"http://fxr.watson.org/fxr/source/arch/m=
acppc/stand/ofwboot/netif_of.c?v=3DNETBSD#L134">134</a>         <a href=3D"=
http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dssize_t">ssize_t</a> <a href=
=3D"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Drv">
rv</a>;<br><a name=3D"L135" href=3D"http://fxr.watson.org/fxr/source/arch/m=
acppc/stand/ofwboot/netif_of.c?v=3DNETBSD#L135">135</a>         <a href=3D"=
http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dsize_t">size_t</a> sendlen;<=
br><a name=3D"L136" href=3D"http://fxr.watson.org/fxr/source/arch/macppc/st=
and/ofwboot/netif_of.c?v=3DNETBSD#L136">
136</a> <br><a name=3D"L137" href=3D"http://fxr.watson.org/fxr/source/arch/=
macppc/stand/ofwboot/netif_of.c?v=3DNETBSD#L137">137</a>         <a href=3D=
"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dop">op</a> =3D (struct <a h=
ref=3D"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dof_dev">
of_dev</a> *)<a href=3D"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Ddesc=
">desc</a>-&gt;io_netif;<br><a name=3D"L138" href=3D"http://fxr.watson.org/=
fxr/source/arch/macppc/stand/ofwboot/netif_of.c?v=3DNETBSD#L138">138</a> <b=
r><a name=3D"L139" href=3D"http://fxr.watson.org/fxr/source/arch/macppc/sta=
nd/ofwboot/netif_of.c?v=3DNETBSD#L139">
139</a> #ifdef  NETIF_DEBUG<br><a name=3D"L140" href=3D"http://fxr.watson.o=
rg/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?v=3DNETBSD#L140">140</a>=
         {<br><a name=3D"L141" href=3D"http://fxr.watson.org/fxr/source/arc=
h/macppc/stand/ofwboot/netif_of.c?v=3DNETBSD#L141">
141</a>                 struct <a href=3D"http://fxr.watson.org/fxr/ident?v=
=3DNETBSD;i=3Dether_header">ether_header</a> *<a href=3D"http://fxr.watson.=
org/fxr/ident?v=3DNETBSD;i=3Deh">eh</a>;<br><a name=3D"L142" href=3D"http:/=
/fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?v=3DNETBSD#=
L142">
142</a> <br><a name=3D"L143" href=3D"http://fxr.watson.org/fxr/source/arch/=
macppc/stand/ofwboot/netif_of.c?v=3DNETBSD#L143">143</a>                 <a=
 href=3D"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dprintf">printf</a>(=
<i>&quot;netif_put: desc=3D0x%x pkt=3D0x%x len=3D%d\n&quot;
</i>,<br><a name=3D"L144" href=3D"http://fxr.watson.org/fxr/source/arch/mac=
ppc/stand/ofwboot/netif_of.c?v=3DNETBSD#L144">144</a>                      =
  <a href=3D"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Ddesc">desc</a>,=
 <a href=3D"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dpkt">
pkt</a>, <a href=3D"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dlen">len=
</a>);<br><a name=3D"L145" href=3D"http://fxr.watson.org/fxr/source/arch/ma=
cppc/stand/ofwboot/netif_of.c?v=3DNETBSD#L145">145</a>                 <a h=
ref=3D"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Deh">
eh</a> =3D <a href=3D"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dpkt">p=
kt</a>;<br><a name=3D"L146" href=3D"http://fxr.watson.org/fxr/source/arch/m=
acppc/stand/ofwboot/netif_of.c?v=3DNETBSD#L146">146</a>                 <a =
href=3D"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dprintf">
printf</a>(<i>&quot;dst: %s &quot;</i>, <a href=3D"http://fxr.watson.org/fx=
r/ident?v=3DNETBSD;i=3Dether_sprintf">ether_sprintf</a>(<a href=3D"http://f=
xr.watson.org/fxr/ident?v=3DNETBSD;i=3Deh">eh</a>-&gt;ether_dhost));<br><a =
name=3D"L147" href=3D"http://fxr.watson.org/fxr/source/arch/macppc/stand/of=
wboot/netif_of.c?v=3DNETBSD#L147">
147</a>                 <a href=3D"http://fxr.watson.org/fxr/ident?v=3DNETB=
SD;i=3Dprintf">printf</a>(<i>&quot;src: %s &quot;</i>, <a href=3D"http://fx=
r.watson.org/fxr/ident?v=3DNETBSD;i=3Dether_sprintf">ether_sprintf</a>(<a h=
ref=3D"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Deh">
eh</a>-&gt;ether_shost));<br><a name=3D"L148" href=3D"http://fxr.watson.org=
/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?v=3DNETBSD#L148">148</a>  =
               <a href=3D"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dpr=
intf">printf
</a>(<i>&quot;type: 0x%x\n&quot;</i>, <a href=3D"http://fxr.watson.org/fxr/=
ident?v=3DNETBSD;i=3Deh">eh</a>-&gt;ether_type &amp; 0xFFFF);<br><a name=3D=
"L149" href=3D"http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/n=
etif_of.c?v=3DNETBSD#L149">
149</a>         }<br><a name=3D"L150" href=3D"http://fxr.watson.org/fxr/sou=
rce/arch/macppc/stand/ofwboot/netif_of.c?v=3DNETBSD#L150">150</a> #endif<br=
><a name=3D"L151" href=3D"http://fxr.watson.org/fxr/source/arch/macppc/stan=
d/ofwboot/netif_of.c?v=3DNETBSD#L151">
151</a> <br><a name=3D"L152" href=3D"http://fxr.watson.org/fxr/source/arch/=
macppc/stand/ofwboot/netif_of.c?v=3DNETBSD#L152">152</a>         sendlen =
=3D <a href=3D"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dlen">len</a>;=
<br><a name=3D"L153" href=3D"http://fxr.watson.org/fxr/source/arch/macppc/s=
tand/ofwboot/netif_of.c?v=3DNETBSD#L153">
153</a>         if (sendlen &lt; 60) {<br><a name=3D"L154" href=3D"http://f=
xr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?v=3DNETBSD#L1=
54">154</a>                 sendlen =3D 60;<br><a name=3D"L155" href=3D"htt=
p://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?v=3DNETB=
SD#L155">
155</a> #ifdef  NETIF_DEBUG<br><a name=3D"L156" href=3D"http://fxr.watson.o=
rg/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?v=3DNETBSD#L156">156</a>=
                 <a href=3D"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3D=
printf">
printf</a>(<i>&quot;netif_put: length padded to %d\n&quot;</i>, sendlen);<b=
r><a name=3D"L157" href=3D"http://fxr.watson.org/fxr/source/arch/macppc/sta=
nd/ofwboot/netif_of.c?v=3DNETBSD#L157">157</a> #endif<br><a name=3D"L158" h=
ref=3D"http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboot/netif_of.=
c?v=3DNETBSD#L158">
158</a>         }<br><a name=3D"L159" href=3D"http://fxr.watson.org/fxr/sou=
rce/arch/macppc/stand/ofwboot/netif_of.c?v=3DNETBSD#L159">159</a> <br><a na=
me=3D"L160" href=3D"http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwb=
oot/netif_of.c?v=3DNETBSD#L160">
160</a>         if (<a href=3D"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=
=3Dop">op</a>-&gt;dmabuf) {<br><a name=3D"L161" href=3D"http://fxr.watson.o=
rg/fxr/source/arch/macppc/stand/ofwboot/netif_of.c?v=3DNETBSD#L161">161</a>=
                =20
<a href=3D"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dmemcpy">memcpy</a=
>(<a href=3D"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dop">op</a>-&gt;=
dmabuf, <a href=3D"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dpkt">pkt<=
/a>, sendlen);
<br><a name=3D"L162" href=3D"http://fxr.watson.org/fxr/source/arch/macppc/s=
tand/ofwboot/netif_of.c?v=3DNETBSD#L162">162</a>                 <a href=3D=
"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dpkt">pkt</a> =3D <a href=3D=
"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dop">
op</a>-&gt;dmabuf;<br><a name=3D"L163" href=3D"http://fxr.watson.org/fxr/so=
urce/arch/macppc/stand/ofwboot/netif_of.c?v=3DNETBSD#L163">163</a>         =
}<br><a name=3D"L164" href=3D"http://fxr.watson.org/fxr/source/arch/macppc/=
stand/ofwboot/netif_of.c?v=3DNETBSD#L164">
164</a>         <a href=3D"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dr=
v">rv</a> =3D <a href=3D"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3DOF_=
write">OF_write</a>(<a href=3D"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=
=3Dop">op</a>-&gt;
<a href=3D"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dhandle">handle</a=
>, <a href=3D"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dpkt">pkt</a>, =
sendlen);<br><a name=3D"L165" href=3D"http://fxr.watson.org/fxr/source/arch=
/macppc/stand/ofwboot/netif_of.c?v=3DNETBSD#L165">
165</a> <br><a name=3D"L166" href=3D"http://fxr.watson.org/fxr/source/arch/=
macppc/stand/ofwboot/netif_of.c?v=3DNETBSD#L166">166</a> #ifdef  NETIF_DEBU=
G<br><a name=3D"L167" href=3D"http://fxr.watson.org/fxr/source/arch/macppc/=
stand/ofwboot/netif_of.c?v=3DNETBSD#L167">
167</a>         <a href=3D"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Dp=
rintf">printf</a>(<i>&quot;netif_put: xmit returned %d\n&quot;</i>, <a href=
=3D"http://fxr.watson.org/fxr/ident?v=3DNETBSD;i=3Drv">rv</a>);<br><a name=
=3D"L168" href=3D"http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboo=
t/netif_of.c?v=3DNETBSD#L168">
168</a> #endif<br><a name=3D"L169" href=3D"http://fxr.watson.org/fxr/source=
/arch/macppc/stand/ofwboot/netif_of.c?v=3DNETBSD#L169">169</a> <br><a name=
=3D"L170" href=3D"http://fxr.watson.org/fxr/source/arch/macppc/stand/ofwboo=
t/netif_of.c?v=3DNETBSD#L170">
170</a>         return <a href=3D"http://fxr.watson.org/fxr/ident?v=3DNETBS=
D;i=3Drv">rv</a>;<br><a name=3D"L171" href=3D"http://fxr.watson.org/fxr/sou=
rce/arch/macppc/stand/ofwboot/netif_of.c?v=3DNETBSD#L171">171</a> }</pre>
<br>

------=_Part_8747_33402884.1141968557452--