On Tue, Apr 18, 2023 at 07:51:08PM +0000, Samuel Jayden wrote:
> Hello,
> I have one veb interface in OpenBSD 7.2 and 5 ethernet ports are paired
> with this veb. As I understand from the ifconfig output, 4096 mac address
> cache values can be kept in this veb interface .
> 
> ifconfig veb10
> veb10: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST>
>         index 12 llprio 3
>         groups: veb
>         em3 flags=3<LEARNING,DISCOVER>
>                 port 4 ifpriority 0 ifcost 0
>         em0 flags=3<LEARNING,DISCOVER>
>                 port 1 ifpriority 0 ifcost 0
>         em1 flags=3<LEARNING,DISCOVER>
>                 port 2 ifpriority 0 ifcost 0
>         ix3 flags=3<LEARNING,DISCOVER>
>                 port 8 ifpriority 0 ifcost 0
>         ix2 flags=3<LEARNING,DISCOVER>
>                 port 7 ifpriority 0 ifcost 0
>         Addresses (max cache: 4096, timeout: 240):
>                 2c:f0:5d:73:f8:c4 em1 0 flags=0<>
> ....
> 
> When I tried to extend this limit value with the command "ifconfig veb10
> maxaddr 4097", I got the following error message:
> "ifconfig: veb10: Invalid argument"
> The maximum value I can give without this error message is 4096. Isn't this
> value a bit narrow?

maybe. it seemed pretty high when i made it up.

> I have tested that the mac addresses of the connected devices are not
> recorded in the veb interface after exceeding the limit.
> 
> I want to switch from Cisco device to OpenBSD in a place where there are
> more than 8 thousand MAC addresses, but I need to exceed this max cache
> size value.
> How can I increase this max cache size value 8192 or higher value?

you change 4096 to a bigger number in the code.

Index: if_etherbridge.c
===================================================================
RCS file: /cvs/src/sys/net/if_etherbridge.c,v
retrieving revision 1.7
diff -u -p -r1.7 if_etherbridge.c
--- if_etherbridge.c    5 Jul 2021 04:17:41 -0000       1.7
+++ if_etherbridge.c    19 Apr 2023 02:25:54 -0000
@@ -675,7 +676,7 @@ int
 etherbridge_set_max(struct etherbridge *eb, struct ifbrparam *bparam)
 {
        if (bparam->ifbrp_csize < 1 ||
-           bparam->ifbrp_csize > 4096) /* XXX */
+           bparam->ifbrp_csize > 16384) /* XXX */
                return (EINVAL);
 
        /* commit */

Reply via email to