00001 /* 00002 * White Rabbit RTU (Routing Table Unit) 00003 * Copyright (C) 2010, CERN. 00004 * 00005 * Version: wrsw_rtud v1.0 00006 * 00007 * Authors: Juan Luis Manas (juan.manas@integrasys.es) 00008 * Miguel Baizan (miguel.baizan@integrasys.es) 00009 * Maciej Lipinski (maciej.lipinski@cern.ch) 00010 * 00011 * Description: RTU Filtering database header. 00012 * Filtering database management related operations and filtering 00013 * database mirror. Note there is a single Filtering Database 00014 * object per Bridge (See 802.1Q - 12.7.1) 00015 * 00016 * Fixes: 00017 * Tomasz Wlostowski 00018 * 00019 * This program is free software; you can redistribute it and/or 00020 * modify it under the terms of the GNU General Public License 00021 * as published by the Free Software Foundation; either version 00022 * 2 of the License, or (at your option) any later version. 00023 * 00024 * This program is distributed in the hope that it will be useful, 00025 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00026 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00027 * GNU General Public License for more details. 00028 * 00029 * You should have received a copy of the GNU General Public License 00030 * along with this program. If not, see <http://www.gnu.org/licenses/>. 00031 */ 00032 00033 00034 #ifndef __WHITERABBIT_RTU_FD_H 00035 #define __WHITERABBIT_RTU_FD_H 00036 00037 #include "rtu.h" 00038 00039 // Filtering entries may be static (permanent) or dynamic (learned) 00040 #define STATIC 0 00041 #define DYNAMIC 1 00042 00043 int rtu_fd_init(uint16_t poly, unsigned long aging) 00044 __attribute__((warn_unused_result)); 00045 00046 int rtu_fd_create_entry( 00047 uint8_t mac[ETH_ALEN], 00048 uint16_t vid, 00049 uint32_t port_map, 00050 int dynamic 00051 ) __attribute__((warn_unused_result)); 00052 00053 int rtu_fd_set_aging_time(unsigned long t) __attribute__((warn_unused_result)); 00054 void rtu_fd_set_hash_poly(uint16_t poly); 00055 void rtu_fd_flush(void); 00056 00057 struct filtering_entry *rtu_fd_lookup_htab_entry(int index); 00058 00059 #endif /*__WHITERABBIT_RTU_FD_H*/ 00060