Data Sheet
Ethernet Controller I210 —Power Management
176
— If a firmware reset was issued as reported in the FWSTS.FWRI bit, the software device driver
should clear the bit and then re-initialize the protocol offload list.
7. Write proxying information in the shared RAM interface located in addresses 0x8800-0x8EFF using
the format defined in Section 10.8.2.4.2. All addresses should be placed in networking order.
8. Once information is written into the shared RAM, software should set the HICR.C bit to 1b.
9. Poll the HICR.C bit until the bit is cleared by firmware indicating that command was processed and
verified that the command completed successfully by checking that the HICR.SV bit was set.
10. Read the firmware response from the shared RAM to verify that data was received correctly.
11. Return to step 7. if additional commands need to be sent to firmware.
12. Release the management host interface semaphore (SW_FW_SYNC.SW_MNG_SM register bit)
using the flow defined in Section 4.6.2.
13. Verify that a firmware reset was not initiated during the proxying configuration process by reading
the FWSTS.FWRI firmware reset indication bit. If a firmware reset was initiated, return to step 1.
14. Set the PROXYFC.D0_PROXY bit to 1b.
15. Set the WUC.PPROXYE bit to 1b to enable protocol offload.
Once proxying is enabled in D0 by setting both the WUC.PPROXYE bit to 1b and the
PROXYFC.D0_PROXY bit to 1b, the I210 monitors incoming packets, first filtering them according to the
standard address filtering method and then filtering them according to the proxying filters enabled in
the PROXYFC register. If a packet passes both the standard address filtering and at least one of the
enabled proxying filters then the I210:
1. Executes the relevant protocol offload for the packet and not forward the packet to the host.
2. Set one or more bits in the Proxying Status (PROXYS) register according to the proxying filter that
detected a match.
Note: The I210 sets more than one bit in the PROXYS register if a packet matches more than one
filter.
3. Discard silently illegal packets with CRC errors or checksum errors without implementing the
protocol offload.
4. Forward a packet that matches the proxying filters but can’t be supported by firmware to the host
for further processing, if configured to do so by the software device driver via the Set Firmware
Proxying Configuration command using the shared RAM interface.
5.7.3 mDNS Proxy Offload
The I210 uses multicast DNS (mDNS) to advertise and locate services on the local network. The mDNS
responder system component holds a database of registered services. When the system is in S0 state,
the mDNS responder and related system components are the sole entities responsible for auto-
configuring the LAN interface, sending service announcements, and handling service query processing.
In contrast, the offload component (the mDNS proxy) causes services (shared printers, iTunes libraries
etc.) to continue to be discovered (and virtually available) when the system is in a low power state.
The mDNS proxy is activated on demand, through a request from the main mDNS responder. This
activity is triggered by the system PM module making the decision to enter a low power state in a
system that supports mDNS proxy. Prior to the Sx entry, the internal mDNS record database is sent to
the mDNS proxy. This configuration is expected to be used by the proxy to respond to queries and
wake the system when a service access is detected. Waking the host causes the proxy function to be
disabled.