This is an old revision of the document!
Linux has Two main APIs for networking:
Place to find all information about interface is this, they are netdev, not just dev:
/sys/class/net
How to use multiple routing tables in linux : 1) Index in rt_tables ; 2) ip rule 'if source x, use the table y ; 3) define the table entries as usual but adding .. table <y> at the end . External Link
TODO
… kernel objects and udev, and details of implementing logical interfaces that are associated with ASIC front-panel physical ports. From this discussion: http://blog.ipspace.net/2018/03/linux-interfaces-on-software-gone-wild.html
Interface can or cannot be related to physical port.
Linux labels them according to the PCI name, UUID can be used to rename them. udev, driver..
CPU-PCI BUS (unique) driver enumerates > port1,2,3 ...
Then udev/uuid is used to map the name/rename the port name on boot time
Always use the -d flag when dealing with the netlink api:
ip -d link show wlp2s0 ip add show | egrep "^[0-9*]|inet " # this is unrelated but useful for a more compact view.
OVS (Open VSwitch):
https://therandomsecurityguy.com/openvswitch-cheat-sheet/
ovs-vswitchd --help