ng_ether naming

Alexander V. Chernikov melifaro at ipfw.ru
Thu Dec 13 12:09:04 UTC 2012


On 13.12.2012 15:46, Andriy Gapon wrote:
>
> ng_ether uses if_xname for naming its nodes.
> This could be troublesome for mapping interface names to their ng_ether companions
> in the face of interface renaming capability.  Especially given that interface
> renaming and ng_ether _module_ loading may happen in an arbitrary order.
>
> I am not sure how to solve this best.
>
> One possibility is to use if_dname+if_dunit combination for ng_ether naming.  This
> should be stable and available for querying.  This behavior should also be
> backward compatible with ng_ether being compiled into kernel (if_dname+if_dunit ==
> if_xname before any renaming could occur).
>
> Another possibility is to do ng_ether renaming when its interface is renamed.
> This seems nicer but appears to be more work and more intrusive, because
> interfaces would have to know about their ng_ether nodes.

Not exactly. You can register for ifnet_departure_event and 
ifnet_arrival_event.

Interface renaming is done via sending departure event with old name and 
arrvial event with new one.
>
> What do you think?
> Thank you.
>
> And just in case:
> $ ifconfig -l
> net0 lo0
> $ ngctl list
> There are 2 total nodes:
>    Name: re0             Type: ether           ID: 00000001   Num hooks: 0
>    Name: ngctl11353      Type: socket          ID: 00000003   Num hooks: 0
>


-- 
WBR, Alexander




More information about the freebsd-net mailing list