openbsd-manpages-bridge.sgml

来自「eCos操作系统源码」· SGML 代码 · 共 453 行 · 第 1/2 页

SGML
453
字号
     SIOCBRDGDADDR    (struct ifbareq) Delete an entry from the address cache                      of the bridge named in ifba_name.  Entries are deleted                      strictly based on the address field ifba_dst.     SIOCBRDGSCACHE   (struct ifbcachereq) Set the maximum address cache size                      for the bridge named in ifbc_name to ifbc_size entries.                      The argument structure is as follows:                            struct ifbcachereq {                                    char ifbc_name[IFNAMSIZ]; /* bridge */                                    u_int32_t ifbc_size;      /* size */                            };     SIOCBRDGGCACHE   (struct ifbcachereq) Retrieve the maximum size of the                      address cache for the bridge ifbc_name.     SIOCBRDGSTO      (struct ifbcachetoreq) Set the time, in seconds, that                      addresses which have not been seen on the network                      (transmitted a packet) remain in the cache.  If the time                      is set to zero, no aging is performed on the address                      cache.  The argument structure is as follows:                            struct ifbcachetoreq {                                    char ifbct_name[IFNAMSIZ]; /* bridge */                                    u_int32_t ifbct_time;      /* time */                            };     SIOCBRDGGTO      (struct ifbcachetoreq) Retrieve the address cache expi-                      ration time (see above).     SIOCBRDGFLUSH    (struct ifbreq) Flush addresses from the cache.                      ifbr_name contains the name of the bridge device, and                      ifbr_ifsflags should be set to IFBF_FLUSHALL to flush                      all addresses from the cache or IFBF_FLUSHDYN to flush                      only the dynamically learned addresses from the cache.     SIOCBRDGARL      (struct ifbrlreq) Add an Ethernet address filtering rule                      to the bridge on a specific interface.  ifbr_name con-                      tains the name of the bridge device, and ifbr_ifsname                      contains the name of the bridge member interface.  The                      ifbr_action field is one of BRL_ACTION_PASS or                      BRL_ACTION_BLOCK, to pass or block matching frames re-                      spectively.  The ifbr_flags specifies whether the rule                      should match on input, output, or both be using the                      flags BRL_FLAG_IN and BRL_FLAG_OUT.  It also specifies                      whether either (or both) of the source and destination                      addresses should be matched by using the                      BRL_FLAG_SRCVALID and BRL_FLAG_DSTVALID flags.  The                      ifbr_src field is the source address that triggers the                      rule (only considered if ifbr_flags has the                      BRL_FLAG_SRCVALID bit set).  The ifbr_src field is the                      destination address that triggers the rule (only consid-                      ered if ifbr_flags has the BRL_FLAG_DSTVALID bit set).                      The argument structure is as follows:                            struct ifbrlreq {                                    char ifbr_name[IFNAMSIZ];                                    char ifbr_ifsname[IFNAMSIZ];                                    u_int8_t ifbr_action;                                    u_int8_t ifbr_flags;                                    struct ether_addr ifbr_src;                                    struct ether_addr ifbr_dst;                                    char ifbr_tagname[PF_TAG_NAME_SIZE];                            };                            #define BRL_ACTION_BLOCK 0x01                            #define BRL_ACTION_PASS  0x02                            #define BRL_FLAG_IN      0x08                            #define BRL_FLAG_OUT     0x04     SIOCBRDGFRL      (struct ifbrlreq) Remove all filtering rules from a                      bridge interface member.  ifbr_name contains the name of                      the bridge device, and ifbr_ifsname contains the name of                      the bridge member interface.     SIOCBRDGGRL      (struct ifbrlconf) Retrieve all of the rules from the                      bridge, ifbrl_name, for the member interface,                      ifbrl_ifsname.  This request takes an ifbrlconf struc-                      ture (see below) as a value result parameter.  The                      ifbrl_len field should be initially set to the size of                      the buffer pointed to by ifbrl_buf.  On return, it will                      contain the length, in bytes, of the configuration list.                      Alternatively, if the ifbrl_len passed in is set to 0,                      SIOCBRDGGRL will set it to the size that ifbrl_buf needs                      to be to fit the entire configuration list and not fill                      in the other parameters.  As with SIOCBRDGIFS, this is                      useful for determining the exact size that ifbrl_buf                      needs to be in advance.                      The argument structure is defined as follows:                            struct ifbrlconf {                                    char ifbrl_name[IFNAMSIZ];   /* brdg nam */                                    char ifbrl_ifsname[IFNAMSIZ];/* ifs name */                                    u_int32_t ifbr_len;         /* buf len */                                    union {                                            caddr_t ifbrlu_buf;                                            struct ifbrlreq *ifbrlu_req;                                    } ifrl_ifbrlu;                            #define ifbrl_buf ifbrl_ifbrlu.ifbrlu_buf                            #define ifbrl_req ifbrl_ifbrlu.ifbrlu_req                            };     SIOCBRDGARL      (struct ifbrlreq) Add a filtering rule to the bridge                      named in ifbr_name on the interface named in                      ifbr_ifsname.  The argument structure is as follows:                            struct ifbrlreq {                                    char ifbr_name[IFNAMSIZ];    /* bridge */                                    char ifbr_ifsname[IFNAMSIZ]; /* ifs */                                    u_int8_t ifbr_action;        /* handling */                                    u_int8_t ifbr_flags;         /* flags */                                    struct ether_addr ifbr_src;  /* src mac */                                    struct ether_addr ifbr_dst;  /* dst mac */                            };                            #define BRL_ACTION_BLOCK        0x01                            #define BRL_ACTION_PASS         0x02                            #define BRL_FLAG_IN             0x08                            #define BRL_FLAG_OUT            0x04                            #define BRL_FLAG_SRCVALID       0x02                            #define BRL_FLAG_DSTVALID       0x01                      Rules are applied in the order in which they were added                      to the bridge, and the first matching rule's action pa-                      rameter determines the fate of the packet.  The                      ifbr_action parameter specifies whether a frame matching                      the rule is to be blocked or passed.                      If the BRL_FLAG_IN bit is set in ifbr_flags, then the                      rule applies to frames received by the interface.  If                      the BRL_FLAG_OUT bit is set, then the rule applies to                      frame transmitted by the interface.  At least one of                      BRL_FLAG_IN or BRL_FLAG_OUT must be set.                      The source Ethernet address in ifbr_src is checked if                      the BRL_FLAG_SRCVALID bit is set in ifbr_flags.  The                      destination address in ifbr_dst is checked if the                      BRL_FLAG_DSTVALID bit is set.  If neither bit is set,                      the rule matches all frames.     SIOCBRDGFRL      (struct ifbrlreq) Flush rules from the bridge ifbr_name                      on the interface ifbr_ifsname.     SIOCBRDGGRL      (struct ifbrlconf) Retrieve an array of rules from the                      bridge for a particular interface.  This request takes                      an ifbrlconf structure (see below) as a value-result pa-                      rameter.  The ifbrl_len field should be initially set to                      the size of the buffer pointed to by ifbrl_buf.  On re-                      turn it will contain the length, in bytes, of the rule                      list.  Alternatively, if the ifbrl_len passed in is set                      to 0, SIOCBRDGGRL will set ifbrl_len to the size that                      ifbrl_buf needs to be to fit the entire configuration                      list, and will not fill in the other parameters.  This                      is useful for determining the exact size that ifbrl_buf                      needs to be in advance.                      The argument structure is as follows:                            struct ifbrlconf {                                    char ifbrl_name[IFNAMSIZ];   /* bridge */                                    char ifbrl_ifsname[IFNAMSIZ];/* member */                                    u_int32_t ifbrl_len;         /* buflen */                                    union {                                            caddr_t ifbrlu_buf;                                            struct  ifbrlreq *ifbrlu_req;                                    } ifbrl_ifbrlu;                            #define ifbrl_buf ifbrl_ifbrlu.ifbrlu_buf                            #define ifbrl_req ifbrl_ifbrlu.ifbrlu_req                            };ERRORS     If the ioctl call fails, errno is set to one of the following values:     [ENOENT]      For an add request, this means that the named interface is                   not configured into the system.  For a delete operation, it                   means that the named interface is not a member of the                   bridge.  For an address cache deletion, the address was not                   found in the table.     [ENOMEM]      Memory could not be allocated for an interface or cache en-                   try to be added to the bridge.     [EEXIST]      The named interface is already a member of the bridge.     [EBUSY]       The named interface is already a member of another bridge.     [EINVAL]      The named interface is not an Ethernet interface or an in-                   valid ioctl was performed on the bridge.     [ENETDOWN]    Address cache operation (flush, add, delete) on a bridge                   that is in the down state.     [ESRCH]       No such member interface in the bridge.SEE ALSO     <link linkend="openbsd-manpages-netintro">netintro</link>, <link linkend="openbsd-manpages-stp">spanning-tree</link>AUTHORS     The bridge kernel interface was written by Jason L. Wright      &lt;jason@thought.net> as part of an undergraduate independent study at      the University of North Carolina at Greensboro.</SCREEN></SECT1><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:nilsgml-shorttag:tsgml-namecase-general:tsgml-general-insert-case:lowersgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:2sgml-indent-data:tsgml-parent-document:("tcpip.sgml" "book" "chapter")sgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nilsgml-doctype:"book"End:-->

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?