Displaying 16 results from an estimated 16 matches for "forward_delay".
2007 Apr 18
4
[Bridge] [Patch] [2.6.7] Bridge - Fix BPDU message_age
..._port);
- bpdu.max_age = root->message_age_timer.expires - jiffies;
-
- if (bpdu.max_age <= 0) bpdu.max_age = 1;
+ bpdu.message_age = br->max_age -
+ (root->message_age_timer.expires - jiffies) + 1;
}
bpdu.max_age = br->max_age;
bpdu.hello_time = br->hello_time;
bpdu.forward_delay = br->forward_delay;
- br_send_config_bpdu(p, &bpdu);
-
- p->topology_change_ack = 0;
- p->config_pending = 0;
-
- mod_timer(&p->hold_timer, jiffies + BR_HOLD_TIME);
+ if (bpdu.message_age < br->max_age) {
+ br_send_config_bpdu(p, &bpdu);
+ p->topology_change_a...
2007 Apr 18
0
[Bridge] STP Explanation
...d char bpdu_type;
} bpdu_header;
typedef struct
{
bpdu_flag flags;
unsigned char root_id[8];
unsigned char root_path_cost[4];
unsigned char bridge_id[8];
unsigned char port_id[2];
unsigned char message_age[2];
unsigned char max_age[2];
unsigned char hello_time[2];
unsigned char forward_delay[2];
} bpdu_body;
typedef struct
{
bpdu_header hdr;
bpdu_body body;
unsigned char ver_1_len[2];// ?
}bpdu;
--------------------------------------------------------------------------------------------------------------------------
but i'm perplex with this following function in br_stp_b...
2007 Apr 18
0
[Bridge] [PATCH 2.6] Fix message age in bridge STP config packets
...x_age = root->message_age_timer.expires - jiffies;
-
- if (bpdu.max_age <= 0) bpdu.max_age = 1;
+ bpdu.message_age = br->max_age
+ - (root->message_age_timer.expires - jiffies)
+ + MESSAGE_AGE_INCR;
}
bpdu.max_age = br->max_age;
bpdu.hello_time = br->hello_time;
bpdu.forward_delay = br->forward_delay;
- br_send_config_bpdu(p, &bpdu);
-
- p->topology_change_ack = 0;
- p->config_pending = 0;
-
- mod_timer(&p->hold_timer, jiffies + BR_HOLD_TIME);
+ if (bpdu.message_age < br->max_age) {
+ br_send_config_bpdu(p, &bpdu);
+ p->topology_change_a...
2007 Apr 18
1
[Bridge] [PATCH 2.4] Bridge STP message age
..., br->root_port);
- age = br_timer_get_residue(&root->message_age_timer) + 1;
- bpdu.message_age = age;
+ bpdu.message_age = br_timer_get_residue(&root->message_age_timer)
+ + MESSAGE_AGE_INCR;
}
bpdu.max_age = br->max_age;
bpdu.hello_time = br->hello_time;
bpdu.forward_delay = br->forward_delay;
- br_send_config_bpdu(p, &bpdu);
+ if (bpdu.message_age < br->max_age) {
+ br_send_config_bpdu(p, &bpdu);
- p->topology_change_ack = 0;
- p->config_pending = 0;
- br_timer_set(&p->hold_timer, jiffies);
+ p->topology_change_ack = 0;
+ p-&g...
2007 Apr 18
2
[Bridge] [RFC] bridge kernel API change
...ed?
get bridges - /sys/class/bridge/*
add bridge - SIOCBR_ADD_BRIDGE
del bridge - SIOCBR_DEL_BRIDGE
add if - SIOCBR_ADD_IF
delete if - SIOCBR_DEL_IF
get bridge info - /sys/class/bridge/brX/
get port list - /sys/class/bridge/brX/ports/*
set bridge forward delay - /sys/class/bridge/brX/forward_delay
set bridge hello time - /sys/class/bridge/brX/hello_time
set bridge max age - /sys/class/bridge/brX/max_age
set ageing time - /sys/class/bridge/brX/ageing_time
set gc interval - deprecated does nothing anymore
set get port info - /sys/class/bridge/brX/ports/ethX/*
set bridge stp state - /sy...
2007 Apr 18
1
[Bridge] STP Explanation (2)
...u->bpdu_body.port_id >> 8) & 0xFF;
buf[33] = bpdu->bpdu_body.port_id & 0xFF;
br_set_ticks(buf+34, bpdu->bpdu_body.message_age);
br_set_ticks(buf+36, bpdu->bpdu_body.max_age);
br_set_ticks(buf+38, bpdu->bpdu_body.hello_time);
br_set_ticks(buf+40, bpdu->bpdu_body.forward_delay);
br_send_bpdu(p, buf, 42);
}
-------------------------------------------------------------------------
I also modified the following function like this :
------------------------------------------------------------------------------
/* called under bridge lock */
void br_send_tcn_bpdu(struct net...
2023 May 15
5
[Bridge] [PATCH net-next 1/2] bridge: Add a limit on FDB entries
...};
diff --git a/net/bridge/br_device.c b/net/bridge/br_device.c
index 8eca8a5c80c6..d455a28df7c9 100644
--- a/net/bridge/br_device.c
+++ b/net/bridge/br_device.c
@@ -528,6 +528,8 @@ void br_dev_setup(struct net_device *dev)
br->bridge_hello_time = br->hello_time = 2 * HZ;
br->bridge_forward_delay = br->forward_delay = 15 * HZ;
br->bridge_ageing_time = br->ageing_time = BR_DEFAULT_AGEING_TIME;
+ br->fdb_n_entries = 0;
+ br->fdb_max_entries = 0;
dev->max_mtu = ETH_MAX_MTU;
br_netfilter_rtable_init(br);
diff --git a/net/bridge/br_fdb.c b/net/bridge/br_fdb.c
index e69a...
2007 Apr 18
0
[Bridge] Timer problem
.../* called under bridge lock */
static void br_check_port_timers(struct net_bridge_port *p)
{
if (br_timer_has_expired(&p->message_age_timer, p->br->max_age)) {
br_timer_clear(&p->message_age_timer);
br_message_age_timer_expired(p);
}
if (br_timer_has_expired(&p->forward_delay_timer, p->br->forward_delay)) {
br_timer_clear(&p->forward_delay_timer);
br_forward_delay_timer_expired(p);
}
if (br_timer_has_expired(&p->hold_timer, BR_HOLD_TIME)) {
br_timer_clear(&p->hold_timer);
br_hold_timer_expired(p);
}
if (br_timer_has_expired(&...
2014 Oct 03
1
pxe boot of new xen VMs
When I try to pxe boot a new VM through lvm and libxl I find about 1
in 10 times the pxe requests will be acknlwledged but if I go into the
interacive ipxe screens it will boot every time.
Is it possible that the network configuration is not built when the VM
starts trying to get its pxe address?
--
Alvin Starr || voice: (905)513-7688
Netvel Inc. ||
2023 May 15
3
[Bridge] [PATCH net-next 1/2] bridge: Add a limit on FDB entries
...br_device.c b/net/bridge/br_device.c
> index 8eca8a5c80c6..d455a28df7c9 100644
> --- a/net/bridge/br_device.c
> +++ b/net/bridge/br_device.c
> @@ -528,6 +528,8 @@ void br_dev_setup(struct net_device *dev)
> br->bridge_hello_time = br->hello_time = 2 * HZ;
> br->bridge_forward_delay = br->forward_delay = 15 * HZ;
> br->bridge_ageing_time = br->ageing_time = BR_DEFAULT_AGEING_TIME;
> + br->fdb_n_entries = 0;
> + br->fdb_max_entries = 0;
Unnecessary, the private area is already cleared.
> dev->max_mtu = ETH_MAX_MTU;
>
> br_netfilter_...
2008 Jul 07
3
[Bridge] [RFC PATCH 0/2] Allow full bridge configuration via sysfs
Right now, you can configure most bridge device parameters via sysfs.
However, you cannot either:
- add or remove bridge interfaces
- add or remove physical interfaces from a bridge
The attached patch set rectifies this. With this patch set, brctl
(theoretically) becomes completely optional, much like ifenslave is
now for bonding. (In fact, the idea for this patch, and the syntax
used herein, is
2007 Apr 18
0
[Bridge] [PATCH] (4/11) bridge - ioctl cleanup and consolidation
...o_user((void *)arg0, indices, num*sizeof(int)))
+ get_port_ifindices(br, indices, num);
+ if (copy_to_user((void *)args[1], indices, num*sizeof(int)))
num = -EFAULT;
kfree(indices);
return num;
@@ -119,7 +148,7 @@
return -EPERM;
spin_lock_bh(&br->lock);
- br->bridge_forward_delay = clock_t_to_jiffies(arg0);
+ br->bridge_forward_delay = clock_t_to_jiffies(args[1]);
if (br_is_root_bridge(br))
br->forward_delay = br->bridge_forward_delay;
spin_unlock_bh(&br->lock);
@@ -130,7 +159,7 @@
return -EPERM;
spin_lock_bh(&br->lock);
- br->...
2009 Jun 15
0
[Bridge] [PATCH][RFC] bridge-utils: add basic VEPA support
...bridge_info
struct timeval tcn_timer_value;
struct timeval topology_change_timer_value;
struct timeval gc_timer_value;
+ unsigned char vepa_mode;
+ char uplink_port[IFNAMSIZ];
};
struct fdb_entry
@@ -80,6 +82,7 @@ struct port_info
struct timeval message_age_timer_value;
struct timeval forward_delay_timer_value;
struct timeval hold_timer_value;
+ unsigned char hairpin_mode;
};
extern int br_init(void);
@@ -113,4 +116,8 @@ extern int br_set_path_cost(const char *br, const char *p,
int path_cost);
extern int br_read_fdb(const char *br, struct fdb_entry *fdbs,
unsigned l...
2009 Jun 15
0
[Bridge] [PATCH][RFC] bridge-utils: add basic VEPA support
...bridge_info
struct timeval tcn_timer_value;
struct timeval topology_change_timer_value;
struct timeval gc_timer_value;
+ unsigned char vepa_mode;
+ char uplink_port[IFNAMSIZ];
};
struct fdb_entry
@@ -80,6 +82,7 @@ struct port_info
struct timeval message_age_timer_value;
struct timeval forward_delay_timer_value;
struct timeval hold_timer_value;
+ unsigned char hairpin_mode;
};
extern int br_init(void);
@@ -113,4 +116,8 @@ extern int br_set_path_cost(const char *br, const char *p,
int path_cost);
extern int br_read_fdb(const char *br, struct fdb_entry *fdbs,
unsigned l...
2009 Jun 15
0
[Bridge] [PATCH][RFC] bridge-utils: add basic VEPA support
...bridge_info
struct timeval tcn_timer_value;
struct timeval topology_change_timer_value;
struct timeval gc_timer_value;
+ unsigned char vepa_mode;
+ char uplink_port[IFNAMSIZ];
};
struct fdb_entry
@@ -80,6 +82,7 @@ struct port_info
struct timeval message_age_timer_value;
struct timeval forward_delay_timer_value;
struct timeval hold_timer_value;
+ unsigned char hairpin_mode;
};
extern int br_init(void);
@@ -113,4 +116,8 @@ extern int br_set_path_cost(const char *br, const char *p,
int path_cost);
extern int br_read_fdb(const char *br, struct fdb_entry *fdbs,
unsigned l...
2013 Jan 09
16
[Bridge] [PATCH net-next V5 00/14] Add basic VLAN support to bridges
This series of patches provides an ability to add VLANs to the bridge
ports. This is similar to what can be found in most switches. The bridge
port may have any number of VLANs added to it including vlan 0 priority tagged
traffic. When vlans are added to the port, only traffic tagged with particular
vlan will forwarded over this port. Additionally, vlan ids are added to FDB
entries and become