# OP\_ETH\_SETTINGS Structure

This structure defines various settings for OP BR Ethernet networks.

{% tabs %}
{% tab title="C/C++ Declare" %}

```cpp
typedef struct __declspec (align(2))
{
    unsigned char ucConfigMode;
    unsigned char preemption_en;
    unsigned char mac_addr1_0;
    unsigned char mac_addr1_1;
    unsigned char mac_addr1_2;
    unsigned char mac_addr1_3;
    unsigned char mac_addr1_4;
    unsigned char mac_addr1_5;
    unsigned char mac_addr2_0;
    unsigned char mac_addr2_1;
    unsigned char mac_addr2_2;
    unsigned char mac_addr2_3;
    unsigned char mac_addr2_4;
    unsigned char mac_addr2_5;
    unsigned char OpEthFlags;
    unsigned char Reserved;
}OP_ETH_SETTINGS;
```

{% endtab %}

{% tab title="Visual Basic .NET Declare" %}

```vbnet
<StructLayout(LayoutKind.Sequential, Pack:=2)> Public Structure OP_ETH_SETTINGS
    Dim ucConfigMode As Byte
    Dim preemption_en As Byte
    Dim mac_addr1_0 As Byte
    Dim mac_addr1_1 As Byte
    Dim mac_addr1_2 As Byte
    Dim mac_addr1_3 As Byte
    Dim mac_addr1_4 As Byte
    Dim mac_addr1_5 As Byte
    Dim mac_addr2_0 As Byte
    Dim mac_addr2_1 As Byte
    Dim mac_addr2_2 As Byte
    Dim mac_addr2_3 As Byte
    Dim mac_addr2_4 As Byte
    Dim mac_addr2_5 As Byte
    Dim OpEthFlags As Byte
    Dim Reserved As Byte
End Structure
```

{% endtab %}

{% tab title="C# .NET Declare" %}

```csharp
[StructLayout(LayoutKind.Sequential,Pack=2)]
public struct OP_ETH_SETTINGS
{
    public byte ucConfigMode;
    public byte preemption_en;
    public byte mac_addr1_0;
    public byte mac_addr1_1;
    public byte mac_addr1_2;
    public byte mac_addr1_3;
    public byte mac_addr1_4;
    public byte mac_addr1_5;
    public byte mac_addr2_0;
    public byte mac_addr2_1;
    public byte mac_addr2_2;
    public byte mac_addr2_3;
    public byte mac_addr2_4;
    public byte mac_addr2_5;
    public byte OpEthFlags;
    public byte Reserved;
}
```

{% endtab %}
{% endtabs %}

**Remarks**

| Item           | Description                                                     |
| -------------- | --------------------------------------------------------------- |
| ucConfigMode   | Sets the Link Mode. 0=Auto: 1=Master: 2=Slave                   |
| preemption\_en | Enables Preemption Support (IEEE802.3Br). 0=Disabled: 1=Enabled |
| mac\_addr1\_0  | First byte of Original MAC address XX:11:22:33:44:55            |
| mac\_addr1\_1  | Second byte of Original MAC address 00:XX:22:33:44:55           |
| mac\_addr1\_2  | Third byte of Original MAC address 00:11:XX:33:44:55            |
| mac\_addr1\_3  | Fourth byte of Original MAC address 00:11:22:XX:44:55           |
| mac\_addr1\_4  | Fifth byte of Original MAC address 00:11:22:33:XX:55            |
| mac\_addr1\_5  | Sixth First byte of Original MAC address 00:11:22:33:44:XX      |
| mac\_addr2\_0  | First byte of Spoof MAC address XX:11:22:33:44:55               |
| mac\_addr2\_1  | Second byte of Spoof MAC address 00:XX:22:33:44:55              |
| mac\_addr2\_2  | Third byte of Spoof MAC address 00:11:XX:33:44:55               |
| mac\_addr2\_3  | fourth byte of Spoof MAC address 00:11:22:XX:44:55              |
| mac\_addr2\_4  | Fifth byte of Spoof MAC address 00:11:22:33:XX:55               |
| mac\_addr2\_5  | Sixth byte of Spoof MAC address 00:11:22:33:44:XX               |
| OpEthFlags     | Bitfield of options                                             |
| Reserved       | Not Available                                                   |

| Item: Location                          | Function                                                  |
| --------------------------------------- | --------------------------------------------------------- |
| mac\_spoofing\_en: Bit 0                | State of enabling Mac Spoofing. 0=No Spoofing: 1=Spoof    |
| mac\_spoofing\_isDstOrSrc: Bit 1        | Spoof source or Destination 0=Destination: 1=Source       |
| Link\_Spd\_A: Bit 2 Link\_Spd\_B: Bit 3 | Sets Link Speed 0 0 = 10Mbps 0 1 = 100Mbps 1 0 = 1000Mbps |
| Q2112\_Phy\_Mode: Bit 4                 | Sets Phy Mode 0=IEEE: 1=Legacy                            |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.intrepidcs.com/neovi-api/win32-api-overview-intrepidcs-api/structures-types-and-defines-overview-intrepidcs-api/setting-structures-overview-intrepidcs-api/sub-setting-structures-overview-intrepidcs-api/op_eth_settings-structure.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
