From: Vitalii Demianets Date: Mon, 3 Oct 2011 16:01:43 +0000 (+0000) Subject: driver hooks for creating/deleting new MSTI X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;p=people%2Fms%2Fmstpd.git driver hooks for creating/deleting new MSTI git-svn-id: http://svn.code.sf.net/p/mstpd/code/trunk@13 fbe50366-0c72-4402-a84b-5d246361dba7 --- diff --git a/bridge_track.c b/bridge_track.c index 9b5e5b8..9eae78c 100644 --- a/bridge_track.c +++ b/bridge_track.c @@ -772,13 +772,17 @@ int CTL_get_mstilist(int br_index, int *num_mstis, __u16 *mstids) int CTL_create_msti(int br_index, __u16 mstid) { CTL_CHECK_BRIDGE; - return MSTP_IN_create_msti(br, mstid) ? 0 : -1; + if((!driver_create_msti(br, mstid)) || (!MSTP_IN_create_msti(br, mstid))) + return -1; + return 0; } int CTL_delete_msti(int br_index, __u16 mstid) { CTL_CHECK_BRIDGE; - return MSTP_IN_delete_msti(br, mstid) ? 0 : -1; + if((!driver_delete_msti(br, mstid)) || (!MSTP_IN_delete_msti(br, mstid))) + return -1; + return 0; } int CTL_get_mstconfid(int br_index, mst_configuration_identifier_t *cfg) diff --git a/driver.h b/driver.h index 53ca58c..9701292 100644 --- a/driver.h +++ b/driver.h @@ -15,5 +15,7 @@ int driver_set_new_state(per_tree_port_t *ptp, int new_state); void driver_flush_all_fids(per_tree_port_t *ptp); unsigned int driver_set_ageing_time(bridge_t *br, unsigned int ageingTime); +bool driver_create_msti(bridge_t *br, __u16 mstid); +bool driver_delete_msti(bridge_t *br, __u16 mstid); #endif /* _MSTP_DRIVER_H */ diff --git a/driver_deps.c b/driver_deps.c index edc6e98..298a15e 100644 --- a/driver_deps.c +++ b/driver_deps.c @@ -27,6 +27,18 @@ int driver_set_new_state(per_tree_port_t *ptp, int new_state) return new_state; } +bool driver_create_msti(bridge_t *br, __u16 mstid) +{ + /* TODO: send "create msti" command to driver */ + return true; +} + +bool driver_delete_msti(bridge_t *br, __u16 mstid) +{ + /* TODO: send "delete msti" command to driver */ + return true; +} + void driver_flush_all_fids(per_tree_port_t *ptp) { /* TODO: do real flushing.