工具与软件:
:我想配置 IP 数据包的过滤,以便只有 UDP 端口1234和 TCP 端口5678作为 IPv4数据包通过。
所有其他数据包都应被丢弃。
我所获得的文档在过滤器主题方面存在一定程度的限制。
我没有找到任何示例。
驱动程序还提供关于过滤器配置和激活的少量信息。
您能否提供一个仅描述了滤波器功能用法的文档的引用?
译文:DeepL.com (免费版)
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
你(一月)好
我花了几个小时在探讨数据包过滤一章、并且实施了一些针对过滤器结构配置的代码。
目前没有成功。
根据 CC3235S 的建议、我将使用 simplelink_cc32xx_sdk_7_10_00_13
您能否回答以下问题 或 评价我的陈述?
事实证明、文档在某些地方与代码不匹配:
--------------------------------------------------------
11.4.3.3规则字段:
在表11-5中、每当使用 ASCII 参数时、主机代码必须按如下所示设置滤波器标志:FilterFlags |=~SL_WLAN_RX_FILTER_BINARY•在表11-5中、每当使用字节流参数时、主机代码必须按如下所示设置滤波器标志:FilterFlags |= RX_FILTER_BINARY
代码:
typedef _u8 SlWlanRxFilterFlags_u;
/* SlWlanRxFilterFlags_u 的可能值*/
#define SL_WLAN_RX_FILTER_BINARY (0x1)
#define SL_WLAN_RX_FILTER_PERSISTENT (0x8)
#define SL_WLAN_RX_FILTER_ENABLE (0x10)
RX_FILTER_BINARY 没有定义。 我想这是个拼写错误。
--------------------------------------------------------
11.4.5.2连接状态和角色
可以将滤波器设置为仅在特定连接状态下进行测试;例如、仅在 STA 模式下或仅在 AP 模式下进行测试。 考虑过滤器的状态是角色和连接状态的组合。 支持的角色:•SL_WLAN_RX_FILTER_ROLE_AP•SL_WLAN_RX_FILTER_ROLE_STA• SL_WLAN_RX_FILTER_ROLE_混杂(收发器)•SL_WLAN_RX_FILTER_ROLE_NULL
代码:
typedef _u8 SlWlanRxFilterTriggerRoles_t;
/* SlWlanRxFilterTriggerRoles_t 的可能值*/
#define SL_WLAN_RX_FILTER_ROLE_AP (1)
#define SL_WLAN_RX_FILTER_ROLE_STA (2)
#define SL_WLAN_RX_FILTER_ROLE_TRANCIEVER (4)
#define SL_WLAN_RX_FILTER_ROLE_NULL (0)
我猜测 SL_WLAN_RX_FILTER_ROLE_OVERSE 表示 SL_WLAN_RX_FILTER_ROLE_TRANCIEVER
--------------------------------------------------------
在某些情况下、文档对我而言不够具体:
图11-4. 示例2.
是否每个块都是单独的过滤器条目? 我想知道、由于 dst_MAC_ADDR!= 'broadcast'和 dst_MAC_ADDR = 'broadcast'条件只是彼此的反转结果。
11.2匹配过程
.
遍历是在所有树中逐层完成的、当帧达到其中一个树中的 DROP 操作时、该过程停止。
代码中没有显式的传递操作:
代码:
typedef _u8 SlWlanRxFilterActionType_t;
/* SlWlanRxFilterActionType_t 的可能值*/
#define SL_WLAN_RX_FILTER_ACTION_NULL (0x0)/*无执行操作*/
#define SL_WLAN_RX_FILTER_ACTION_DROP (0x1)/*如果未丢弃、数据包将传递到下一个过滤器、或者如果它是发送到主机的最后一个过滤器*/
#define SL_WLAN_RX_FILTER_ACTION_ON_REG_INCREASE (0x4)/*操作增加计数器寄存器*/
#define SL_WLAN_RX_FILTER_ACTION_ON_REG_DECAY (0x8)/*操作减少计数器寄存器*/
#define SL_WLAN_RX_FILTER_ACTION_ON_REG_RESET (0x10)/*操作复位计数器寄存器*/
#define SL_WLAN_RX_FILTER_ACTION_SEND_TEMPLATE (0x20)/*不受支持*/
#define SL_WLAN_RX_FILTER_ACTION_EVENT_TO_HOST (0x40)/*操作可以将事件发送到主机*/
图11-2. Rx 滤波器匹配流
明确指出不匹配路径中的数据包会发生什么情况、并简短地解释 SlWlanRxFilterType_t 等于通过哪种情况会有所帮助
该流程图以某种方式扩展了 图11-1中之前的流程图。 Rx 滤波器
11.4.4组合过滤器的规则结构
哪些操作和过滤器可用于组合过滤器? 如果要检查是否接收到端口号为1234的 TCP 数据包或端口号为4321的 UDP 数据包、而要丢弃所有其他数据包、那么组合过滤器的触发和/或操作将是什么?
11.4.6.4代码示例
它更像是代码 模板而不是工作示例。
遗憾的是、没有 包含组合滤波器的完整滤波器结构设置示例。
没有显示 FilterFlags 或 RuleType 数据设置的示例代码。
我是否有一些滤波器代码生成器尚未遇到?
也许您可以告诉我一些明显/隐藏的来源?
谢谢!
您好、Thomas:
很抱歉、我无法回答您的问题、因为我从未在 CC32xx 器件中使用过滤波器。 请等待 TI 回答。
是的、SWRU455似乎存在一些拼写错误、但它不应该是什么大不了的。 目前为止、除了 SWRU455、还没有其他资源可以说明 CC32xx 滤波的工作原理。 network_terminal SDK 示例是滤波器的一些用途、但我认为这对您用处不大。 CC32xx 没有用于设置滤波器的"代码生成器"。
1月