HomeFreeBSD

The stf(4) interface name does not conform with the default naming

Description

The stf(4) interface name does not conform with the default naming
convention for interfaces, because only one stf(4) interface can exist
in the system.

This disallow the use of unit numbers different than 0, however, it is
possible to create the clone without specify the unit number (wildcard).

In the wildcard case we must update the interface name before return.

This fix an infinite recursion in pf code that keeps track of network
interfaces and groups:

1 - a group for the cloned type of the interface is added (stf in this

case);

2 - the system will now try to add an interface named stf (instead of

stf0) to stf group;

3 - when pfi_kif_attach() tries to search for an already existing 'stf'

interface, the 'stf' group is returned and thus the group is added
as an interface of itself;

This will now cause a crash at the first attempt to traverse the groups
which the stf interface belongs (which loops over itself).

Obtained from: pfSense
MFC after: 2 weeks
Sponsored by: Rubicon Communications, LLC (Netgate)

Details

Provenance
loosAuthored on
Parents
rS312952: Implement get_pcpu() for i386 and use it to replace pcpu_find(curcpu)
Branches
Unknown
Tags
Unknown