> On Nov 20, 2023, at 5:35 AM, Mina Galić <free...@igalic.co> wrote: > > Hi Zhenlei, > > >> Since it is just for physical devices, may I propose to have the driver name >> in their groups ? >> >> So an if_ure interface ue0 will look like: >> >> ``` >> ue0: flags=1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP> metric 0 >> mtu 1500 >> >> options=60009b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,RXCSUM_IPV6,TXCSUM_IPV6> >> >> ether 00:e0:4c:xx:xx:xx >> media: Ethernet autoselect (1000baseT <full-duplex>) >> >> status: active >> +++ groups: ure >> nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL> >> >> ``` >> >> That does not include the unit number. But could be useful to quickly get >> the driver name of physical devices. >> > > Given that currently on FreeBSD the easiest way to tell if something > is a physical device is by checking the *absence* of groups,
Emm, that sounds more a HACK to test physical devices. > this > would only really be acceptable if we add an "egress" group like > OpenBSD does, in addition to the driver name. > > If we can't do that, then I think Mike's solution with having the > driver (and unit) as a separate category would be preferable. The interface group feature was imported from OpenBSD by 0dad3f0e1512 . > Import interface groups from OpenBSD. This allows to group interfaces in > order to - for example - apply firewall rules to a whole group of > interfaces. This is required for importing pf from OpenBSD 3.9 Despite the purpose to get driver name, it seems not useful to have driver name in groups. > > Unrelatedly, I don't see anything in ure(4) mentioning that if_ure > devices will be named "ue". Currently usb ethernet have interface named `ue%u` regardless the actual device drivers. See https://cgit.freebsd.org/src/tree/sys/dev/usb/net/usb_ethernet.c#n202 <https://cgit.freebsd.org/src/tree/sys/dev/usb/net/usb_ethernet.c#n202> ``` static void ue_attach_post_task(struct usb_proc_msg *_task) { ... if_initname(ifp, "ue", ue->ue_unit); ... } ``` > Don't we usually document such deviation from the norm? I'm not familiar with usb protocols, I guess usb ethernet is sub device of usb controller. ``` smsc0 on uhub1 smsc0: <vendor 0x0424 product 0xec00, rev 2.00/2.00, addr 3> on usbus1 ue0: <USB Ethernet> on smsc0 ``` Then `ue%u` for all usb ethernet make senses. > > > Kind regards, > > Mina