Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v2.6.30-rc5 56 lines 1.7 kB view raw
1/* 2 * Linux ethernet bridge 3 * 4 * Authors: 5 * Lennert Buytenhek <buytenh@gnu.org> 6 * 7 * This program is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU General Public License 9 * as published by the Free Software Foundation; either version 10 * 2 of the License, or (at your option) any later version. 11 */ 12 13#ifndef _BR_PRIVATE_STP_H 14#define _BR_PRIVATE_STP_H 15 16#define BPDU_TYPE_CONFIG 0 17#define BPDU_TYPE_TCN 0x80 18 19struct br_config_bpdu 20{ 21 unsigned topology_change:1; 22 unsigned topology_change_ack:1; 23 bridge_id root; 24 int root_path_cost; 25 bridge_id bridge_id; 26 port_id port_id; 27 int message_age; 28 int max_age; 29 int hello_time; 30 int forward_delay; 31}; 32 33/* called under bridge lock */ 34static inline int br_is_designated_port(const struct net_bridge_port *p) 35{ 36 return !memcmp(&p->designated_bridge, &p->br->bridge_id, 8) && 37 (p->designated_port == p->port_id); 38} 39 40 41/* br_stp.c */ 42extern void br_become_root_bridge(struct net_bridge *br); 43extern void br_config_bpdu_generation(struct net_bridge *); 44extern void br_configuration_update(struct net_bridge *); 45extern void br_port_state_selection(struct net_bridge *); 46extern void br_received_config_bpdu(struct net_bridge_port *p, struct br_config_bpdu *bpdu); 47extern void br_received_tcn_bpdu(struct net_bridge_port *p); 48extern void br_transmit_config(struct net_bridge_port *p); 49extern void br_transmit_tcn(struct net_bridge *br); 50extern void br_topology_change_detection(struct net_bridge *br); 51 52/* br_stp_bpdu.c */ 53extern void br_send_config_bpdu(struct net_bridge_port *, struct br_config_bpdu *); 54extern void br_send_tcn_bpdu(struct net_bridge_port *); 55 56#endif