On Wed, 27 May 2015, David Lamparter wrote:
I'd prefer removing *way* more values,
If something is clearly defunct and never used, there's no point having
it, no.
I think we should have two fields: hw_addr_type, identifying the type of
information that hw_addr contains, and hw/ll_type, identifying the link
itself.
Is there a need for 2 types? There's no way to get at lower-level hardware
or other addresses is there? E.g. a tunnel interface will present, say, an
IP address there I presume?
(I'll have to tinker a bit with 'show interface' here locally tomorrow to
answer that).
We probably should go with a Quagga specific sockaddr_dl typed-union to
hold the data-link addresses, and a TLV for the Zserv side.
Rationale being, in rtadv/isisd, we don't care what the link type is, we
just have code that checks for an (ethernet) address and uses that.
Right. If it's ethernet presumably.
In fact, the hw_addr_type would be sufficent at NONE or ETHER for now,
(maybe plus IP & IPV6 for tunnels). We can add more when we actually
have code that does something sensible with it.
Meh, for code that doesn't do anything with it, doesn't matter if it is
unknown or something else.
That said, for the list:
Keep:
+ llts(ZEBRA_LLT_UNKNOWN, "Unknown");
+ llts(ZEBRA_LLT_ETHER, "Ethernet");
+ llts(ZEBRA_LLT_IEEE1394, "IEEE 1394 IPv4");
+ llts(ZEBRA_LLT_INFINIBAND, "InfiniBand");
+ llts(ZEBRA_LLT_PPP, "PPP");
+ llts(ZEBRA_LLT_IPIP, "IPIP Tunnel");
+ llts(ZEBRA_LLT_IPIP6, "IPIP6 Tunnel");
+ llts(ZEBRA_LLT_LOOPBACK, "Loopback");
+ llts(ZEBRA_LLT_SIT, "IPv6-in-IPv4 SIT");
+ llts(ZEBRA_LLT_IPGRE, "GRE over IP");
+ llts(ZEBRA_LLT_PIMREG, "PIMSM registration");
+ llts(ZEBRA_LLT_IEEE80211, "IEEE 802.11");
+ llts(ZEBRA_LLT_IEEE802154, "IEEE 802.15.4");
Plus, as Timo said:
+ llts(ZEBRA_LLT_IP6GRE, "GRE over IPv6");
Ok. I'll need a longer macro on the rtnetlink side to make that compile on
slightly less bleeding edge systems though - no ARPHRD_IP6GRE there.
And possibly VXLAN & GENEVE. Not sure about GRETAP?
Can be added now or later, sure.
(In a way, we don't do anything useful with *any* of the values, except
nhrpd wants to know if it's IPGRE or IP6GRE...)
Kill:
+ llts(ZEBRA_LLT_EETHER, "Experimental Ethernet");
+ llts(ZEBRA_LLT_AX25, "AX.25 Level 2");
+ llts(ZEBRA_LLT_PRONET, "PROnet token ring");
+ llts(ZEBRA_LLT_IEEE802, "IEEE 802.2 Ethernet/TR/TB");
+ llts(ZEBRA_LLT_ARCNET, "ARCnet");
+ llts(ZEBRA_LLT_APPLETLK, "AppleTalk");
+ llts(ZEBRA_LLT_DLCI, "Frame Relay DLCI");
+ llts(ZEBRA_LLT_ATM, "ATM");
+ llts(ZEBRA_LLT_METRICOM, "Metricom STRIP");
+ llts(ZEBRA_LLT_EUI64, "EUI-64");
+ llts(ZEBRA_LLT_SLIP, "SLIP");
+ llts(ZEBRA_LLT_CSLIP, "Compressed SLIP");
+ llts(ZEBRA_LLT_SLIP6, "SLIPv6");
+ llts(ZEBRA_LLT_CSLIP6, "Compressed SLIPv6");
+ llts(ZEBRA_LLT_ROSE, "ROSE packet radio");
+ llts(ZEBRA_LLT_X25, "CCITT X.25");
+ llts(ZEBRA_LLT_CHDLC, "Cisco HDLC");
+ llts(ZEBRA_LLT_RAWHDLC, "Raw HDLC");
+ llts(ZEBRA_LLT_LAPB, "LAPB");
+ llts(ZEBRA_LLT_FRAD, "FRAD");
+ llts(ZEBRA_LLT_SKIP, "SKIP vif");
+ llts(ZEBRA_LLT_LOCALTLK, "Localtalk");
+ llts(ZEBRA_LLT_FDDI, "FDDI");
+ llts(ZEBRA_LLT_IPDDP, "IP-in-DDP tunnel");
+ llts(ZEBRA_LLT_HIPPI, "HiPPI");
+ llts(ZEBRA_LLT_IRDA, "IrDA");
+ llts(ZEBRA_LLT_FCPP, "Fibre-Channel PtP");
+ llts(ZEBRA_LLT_FCAL, "Fibre-Channel Arbitrated Loop");
+ llts(ZEBRA_LLT_FCPL, "Fibre-Channel Public Loop");
+ llts(ZEBRA_LLT_FCFABRIC, "Fibre-Channel Fabric");
+ llts(ZEBRA_LLT_IEEE802_TR, "IEEE 802.2 Token Ring");
+ llts(ZEBRA_LLT_IEEE80211_RADIOTAP, "IEEE 802.11 Radiotap");
+ llts(ZEBRA_LLT_IEEE802154_PHY, "IEEE 802.15.4 Phy");
I could go with killing a lot of those alright.
I'd probably keep X.25, (C)?SLIP(6)? and (RAW|C)HDLC. Still being used for
new stuff here and there I think.
regards,
--
Paul Jakma [email protected] @pjakma Key ID: 64A2FF6A
Fortune:
Use a pun, go to jail.
_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev