我说说想法哈,不一定合适,您根据实际情况考量。
比如有 100 个 vlan,并且不是太经常修改。
-- 比如每分钟不超过 1 次修改,就算不太经常。
这个量,我觉得就用普通的文件打开读的方式就行。
每次 16*100 = 1.6k 个文件打开、读、关闭操作。若干秒一次,对操作系统负担应该不算重。
如果 vlan 比这个量大很多,而且经常变化。
可能得进到这块的内核看看,里面数据结构是怎么构成的。
看看能不能一次把内核数据结构全部导出来,在应用层解析。理论上这样文件 I/O 的操作可以每次收集就一个打开,然后 IOCTL 就行了。但是这个对开发要求很高,而且内核数据结构的调整不会通知你,一旦内核升级的时候数据结构调整了,得跟着升级。
------------------
还有就是经常调整 vlan 这个需求不太常规。
如果您的业务需求是下位机需要临时连上 vlan 干点啥,然后马上拆。
我倒是建议把这个业务挪到应用层处理。
【 在 b0207191 的大作中提到: 】
: 比如访问
: /proc/sys/net/ipv4/neigh/vlan15下的若干节点
: anycast_delay
: ...................
--
FROM 221.216.116.*