X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Fmac-learning.h;h=284e7f636b14c201fdbd2d104a84998f43a4c59d;hb=3f0cbe2df696701ad07f61add08692a1eca54f67;hp=8f8fd45875624d5a9891f0a98fd356f872fde3e0;hpb=e0edde6fee279cdbbf3c179f5f50adaf0c7c7f1e;p=sliver-openvswitch.git diff --git a/lib/mac-learning.h b/lib/mac-learning.h index 8f8fd4587..284e7f636 100644 --- a/lib/mac-learning.h +++ b/lib/mac-learning.h @@ -26,7 +26,8 @@ struct mac_learning; -#define MAC_MAX 2048 +/* Default maximum size of a MAC learning table, in entries. */ +#define MAC_DEFAULT_MAX 2048 /* Time, in seconds, before expiring a mac_entry due to inactivity. */ #define MAC_ENTRY_DEFAULT_IDLE_TIME 300 @@ -83,6 +84,7 @@ struct mac_learning { uint32_t secret; /* Secret for randomizing hash table. */ unsigned long *flood_vlans; /* Bitmap of learning disabled VLANs. */ unsigned int idle_time; /* Max age before deleting an entry. */ + size_t max_entries; /* Max number of learned MACs. */ }; /* Basics. */ @@ -96,6 +98,7 @@ void mac_learning_wait(struct mac_learning *); bool mac_learning_set_flood_vlans(struct mac_learning *, const unsigned long *bitmap); void mac_learning_set_idle_time(struct mac_learning *, unsigned int idle_time); +void mac_learning_set_max_entries(struct mac_learning *, size_t max_entries); /* Learning. */ bool mac_learning_may_learn(const struct mac_learning *,