130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#ifndef __LINUX_BRIDGE_EBT_LIMIT_H
230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define __LINUX_BRIDGE_EBT_LIMIT_H
330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#include <linux/types.h>
530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define EBT_LIMIT_MATCH "limit"
730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* timings are in milliseconds. */
930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define EBT_LIMIT_SCALE 10000
1030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
1130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* 1/10,000 sec period => max of 10,000/sec.  Min rate is then 429490
1230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng   seconds, or one every 59 hours. */
1330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
1430692c65c4174412c90e79489e98ab85c1a7412fBen Chengstruct ebt_limit_info {
1530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	__u32 avg;    /* Average secs between packets * scale */
1630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	__u32 burst;  /* Period multiplier for upper limit. */
1730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
1830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	/* Used internally by the kernel */
1930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	unsigned long prev;
2030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	__u32 credit;
2130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	__u32 credit_cap, cost;
2230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng};
2330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
2430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#endif
25