上层应用如何调用Linux协议栈

我想将一些特殊的帧发送给内核,然后调用内核的协议栈,用来解析接收到帧的内容,修改帧内容后,再回发回去。相当于将内核作为网桥使用。我上层应用该如何调用协议栈的东西呢?