From b252f8d0f6dc726b14efb8b561a77780f984c6dc Mon Sep 17 00:00:00 2001 From: Jason Wright Date: Fri, 12 Mar 1999 02:40:44 +0000 Subject: big overhaul: o SNAP encapsulated IP filtering o static address cache entries o address deletion from cache o dynamic & full cache flush o filter packets based on each interface, not on the bridge as a whole o KNF nits o allow addition of ~IFF_UP interfaces o man page & user level fixes to match the above --- share/man/man4/bridge.4 | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) (limited to 'share') diff --git a/share/man/man4/bridge.4 b/share/man/man4/bridge.4 index 2eb36c8290f..b143a1eccbd 100644 --- a/share/man/man4/bridge.4 +++ b/share/man/man4/bridge.4 @@ -1,4 +1,4 @@ -.\" $OpenBSD: bridge.4,v 1.4 1999/03/05 21:10:58 jason Exp $ +.\" $OpenBSD: bridge.4,v 1.5 1999/03/12 02:40:42 jason Exp $ .\" .\" Copyright (c) 1999 Jason L. Wright (jason@thought.net) .\" All rights reserved. @@ -142,11 +142,17 @@ needs to be in advance. The argument structure is defined as follows: .Bd -literal -offset indent struct ifbareq { - char ifba_name[IFNAMSIZ]; /* destination ifs */ - u_int32_t ifba_age; /* addr age */ - struct ether_addr ifba_dst; /* dest addr */ + char ifba_name[IFNAMSIZ]; /* bridge name */ + char ifba_ifsname[IFNAMSIZ]; /* dest ifs */ + u_int8_t ifba_age; /* addr age */ + u_int8_t ifba_flags; /* addr age */ + struct ether_addr ifba_dst; /* dest addr */ }; +#define IFBAF_TYPEMASK 0x03 /* address type mask */ +#define IFBAF_DYNAMIC 0x00 /* dynamically learned */ +#define IFBAF_STATIC 0x01 /* static address */ + struct ifbaconf { char ifbac_name[IFNAMSIZ]; /* bridge name */ u_int32_t ifbac_len; /* buffer size */ @@ -158,6 +164,21 @@ struct ifbaconf { #define ifbac_req ifbac_ifbacu.ifbacu_req }; .Ed +.It Dv SIOCBRDGSADDR +.Pq Li "struct ifbareq" +Add an entry, manually, to the address cache for the bridge named in +.Ar ifba_name . +The address and its associated interface and flags are set in the +.Ar ifba_dst , +.Ar ifba_ifsname , +.Ar ifba_flags +fields, respectively. +.It Dv SIOCBRDGDADDR +.Pq Li "struct ifbareq" +Delete an entry from the address cache of the bridge named in +.Ar ifba_name . +Entries are deleted strictly based on the address field +.Ar ifba_dst . .It Dv SIOCBRDGSCACHE .Pq Li "struct ifbcachereq" Set the maximum address cache size for the bridge named in @@ -206,7 +227,8 @@ into the system. For delete operation, it means that the named interface is not a member of the bridge. .It Bq Eq ENOMEM -Memory could not be allocated for an interface to be added to the bridge. +Memory could not be allocated for an interface or cache entry +to be added to the bridge. .It Bq Eq EEXIST The named interface is already a member of the bridge. .It Bq Eq EBUSY -- cgit v1.2.3