Closed dpino closed 6 years ago
The result of not adding this restriction was that configurations that used different MAC addresses for internal and external interfaces were not working. Example:
queue {
id 0;
external-interface {
ip 10.0.1.1;
mac 52:54:00:00:00:01;
next-hop {
mac 02:99:99:99:99:99;
}
}
internal-interface {
ip fc00::100;
mac 52:54:00:00:00:02;
next-hop {
mac 02:99:99:99:99:99;
}
}
}
Why? Because according to the former condition the VLAN tags of both interfaces are NIL so the splitter can be used. But the splitter only configures one physical NIC and set its MAC address to the value of the external interface, so all IPv6 packets were lost.
Ideally this PR needs tests.
So far a V4V6 splitter was needed if VLAN tags for external and internal interfaces were equal. This condition assumed an scenario where MAC addresses for external and internal interfaces were equal too. It is necessary to add this constraint to the condition that evaluates whether a splitter is necessary.
Summarizing, we are only going to use a V4V6 splitter when both VLAN tags and MAC addresses of external and internal interfaces are the same.