summaryrefslogtreecommitdiffstats
path: root/test/test_mpls.py
AgeCommit message (Expand)AuthorFilesLines
2018-03-09MPLS Unifom modeNeale Ranns1-368/+473
2018-01-09test: consolidate the multiple versions of send_and_*Neale Ranns1-16/+7
2017-11-11MPLS disposition actions at the tail of unicast LSPsNeale Ranns1-2/+112
2017-10-31Refactor IP input checks for re-use at MPLS dispositionNeale Ranns1-2/+21
2017-09-11FIB table add/delete APINeale Ranns1-6/+42
2017-08-08L2 over MPLSNeale Ranns1-56/+262
2017-05-26MPLS lookup DPO does not pop the label (nor does it handle replicate)Neale Ranns1-0/+20
2017-05-24Missing VLIB node for IPv6 disposition from mcast MPLS LSPNeale Ranns1-4/+73
2017-05-23Labelled attached paths via an MPLS tunnelNeale Ranns1-2/+25
2017-04-24Improve Load-Balance MAPsNeale Ranns1-0/+359
2017-04-07MPLS McastNeale Ranns1-22/+255
2017-03-17Fix IP feature ordering.Neale Ranns1-0/+83
2017-03-03Changing the IP table for an interface is an error if the interface already h...Neale Ranns1-4/+5
2017-02-20Python test IP and MPLS objects conform to infra.Neale Ranns1-75/+66
2016-12-23make test: improve handling of packet capturesKlement Sekera1-17/+24
2016-12-16make test: improve robustness and performanceKlement Sekera1-23/+6
2016-12-14Ping response in a VRF context uses correct FIB for responseNeale Ranns1-10/+73
2016-12-13make test: Use VXLAN built in scapy 2.3.3Matej Klotton1-28/+33
2016-12-06add missing import to mpls testGabriel Ganne1-0/+1
2016-12-05make test: fix missing log/packet messagesKlement Sekera1-6/+6
2016-12-02MPLS infrastructure improvmentsNeale Ranns1-20/+502
2016-11-01MPLS Exp-null TestsNeale Ranns1-0/+209
lass="cpf"><igmp/igmp_timer.h> #include <igmp/igmp_group.h> typedef enum igmp_config_timer_type_t_ { /** * On expiry send a general report */ IGMP_CONFIG_TIMER_GENERAL_REPORT, /** * On expiry send a general query */ IGMP_CONFIG_TIMER_GENERAL_QUERY, } igmp_config_timer_type_t; #define IGMP_CONFIG_N_TIMERS (IGMP_CONFIG_TIMER_GENERAL_QUERY + 1) /** * @brief IGMP interface configuration */ typedef struct igmp_config_t_ { /** * @param sw_if_index - interface sw_if_index */ u32 sw_if_index; /** * @param adj_index - multicast adjacency index on the link */ adj_index_t adj_index; /** * @param moe - host or router */ igmp_mode_t mode; /** * Robustness variable (seciotn 5.1) */ u8 robustness_var; /** * Database of groups joined on the link */ uword *igmp_group_by_key; /** * A vector of scheduled query-respone timers */ igmp_timer_id_t timers[IGMP_CONFIG_N_TIMERS]; } igmp_config_t; #define FOR_EACH_GROUP(_group, _config, _body) \ do { \ igmp_key_t *__key__; \ u32 __gid__; \ hash_foreach_mem(__key__, __gid__, _config->igmp_group_by_key, \ ({ \ _group = pool_elt_at_index(igmp_main.groups, __gid__); \ do { _body; } while (0); \ })); \ } while (0); /** * @brief igmp clear config * @param config - igmp configuration * * Clear all (S,G)s on specified config and remove this config from pool. */ extern void igmp_clear_config (igmp_config_t * config); /** * @brief igmp config lookup * @param im - igmp main * @param sw_if_index - interface sw_if_index */ extern igmp_config_t *igmp_config_lookup (u32 sw_if_index); /** * Get the pool index for a config */ extern u32 igmp_config_index (const igmp_config_t * c); /** * Get the config from the pool index */ extern igmp_config_t *igmp_config_get (u32 index); /** * @brief igmp group lookup * @param config - igmp configuration * @param key - igmp key */ extern igmp_group_t *igmp_group_lookup (igmp_config_t * config, const igmp_key_t * key); #endif /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */