只要有符合规则数据包到达,LED灯就XY一下,这个效果怎么实现?
我有很多的办法,比较绕的就是:使用LOG target发内核日志,rsyslogd截获,redirect到filter,调用shell操作LED灯。虽然很绕,但是UNIX上不都是提倡这么玩的吗?
最为直接的办法是什么?我觉得应该是写一个事件target,只要匹配就通过netlink把这个数据包报告给user space,有了这个事件target之后,甚至LOG都可以通过user space的listen daemon来分发,毕竟printk出来的信息最终不也是通过syslog系统调用拿到syslog daemon的吗?
实在是想不通为何要在内核中去process event,难道仅仅是因为维护timer比较方便?并且,名字取得也不好,这个问题我觉得比较严重,虽然它真的不会影响功能。即便我可以设计一个内核态的event机制用来触发和处理事件,我也不会假设该机制和任何特定的对象有关联,事件的接收者当然可以是LED灯,但是难道不能是喇叭,电源吗?
时间: 2024-11-03 22:10:59