Cannot assign two Ethernet ports on APC3100 to the same subnet

Hello,

I am using two Ethernet ports on an APC3100 controller. However, when I try to assign IP addresses in the 192.168.1.x and 192.168.1.y range, I get an error. It only works if the third octet is different (e.g., 192.168.1.x and 192.168.2.x).

I need to use two different IPs within the same subnet, but it seems the controller does not allow this.
Is there any setting or workaround to make this possible?

Thanks.

Not sure if there’s a workaround.
You should ask yourself how the controller can know via which Ethernet port the outgoing traffic should be routed.
Are the two networks physically the same? Or is it about two subnets which are separate from each other but “coincidentally” have the same IP range?
Maybe it helps if you share a network overview.

3 Likes

Dear Björn,

Thanks for your answer. Let me clarify our use case:

The controller indeed has two separate physical Ethernet ports. We configure their IP addresses through software, and in our customer-facing interface, the user is allowed to assign/change both IPs.

Our intention in asking was to understand what happens if a customer tries to assign both ports to the same subnet (e.g., 192.168.1.x and 192.168.1.y). We are aware this is usually not supported because of routing ambiguity, but we wanted to confirm whether the APC3100 controller has any built-in mechanism or workaround in such a case.

So, our real question is:

  • If the user tries to configure both ports in the same subnet, does the controller reject this configuration (error/warning)?

  • Or will it accept it but behave unpredictably at runtime?

This will help us design the interface so that we can prevent users from making an invalid configuration.

1 Like

Hi,

I’ve never tried but based on the help of the FUB CfgSetIPAddr() I would say that it should return error cfgERR_SET_NOT_POSSIBLE (29004) as AS return an error when you do it inside AS.
If it’s not you should maybe ask your local B&R office because it could be a bug.

You have to test it on real hardware