aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_qos.py
AgeCommit message (Expand)AuthorFilesLines
2019-11-05misc: Fix python scripts shebang lineRenato Botelho do Couto1-1/+1
2019-08-06ethernet: change to mark the CFI bit in the L2 header.Prashant Maheshwari1-4/+17
2019-07-31qos: Store functionNeale Ranns1-2/+28
2019-07-24qos: QoS dump APIsNeale Ranns1-124/+58
2019-06-18fib: fib api updatesNeale Ranns1-7/+3
2019-05-17Tests: Refactor. Remove copies of enums.Paul Vinciguerra1-35/+46
2019-05-16tests: refactor. Replace literal constant w/ named constant.Paul Vinciguerra1-34/+36
2019-04-10Tests Cleanup: Fix missing calls to setUpClass/tearDownClass.Paul Vinciguerra1-0/+8
2019-03-28Typos. A bunch of typos I've been collecting.Paul Vinciguerra1-2/+2
2019-03-11VPP-1508: Use scapy.compat to manage packet level library differences.Paul Vinciguerra1-30/+31
2018-11-15QoS: fix always recoding as IPNeale Ranns1-13/+23
2018-09-11GBP Endpoint UpdatesNeale Ranns1-1/+2
2018-07-20QoS: marking and recording for MPLS and VLANNeale Ranns1-4/+210
2018-06-24Revert "Revert "make test: fix broken interfaces""Klement Sekera1-6/+2
2018-06-22Revert "make test: fix broken interfaces"Ole Troan1-2/+6
2018-06-22make test: fix broken interfacesKlement Sekera1-6/+2
2018-03-16QoS recording and markingNeale Ranns1-0/+366
RINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef included_ppp_h #define included_ppp_h #include <vnet/vnet.h> #include <vnet/ppp/packet.h> #include <vnet/pg/pg.h> extern vnet_hw_interface_class_t ppp_hw_interface_class; typedef enum { #define ppp_error(n,s) PPP_ERROR_##n, #include <vnet/ppp/error.def> #undef ppp_error PPP_N_ERROR, } ppp_error_t; typedef struct { /* Name (a c string). */ char *name; /* PPP protocol type in host byte order. */ ppp_protocol_t protocol; /* Node which handles this type. */ u32 node_index; /* Next index for this type. */ u32 next_index; } ppp_protocol_info_t; typedef struct { vlib_main_t *vlib_main; ppp_protocol_info_t *protocol_infos; /* Hash tables mapping name/protocol to protocol info index. */ uword *protocol_info_by_name, *protocol_info_by_protocol; } ppp_main_t; always_inline ppp_protocol_info_t * ppp_get_protocol_info (ppp_main_t * em, ppp_protocol_t protocol) { uword *p = hash_get (em->protocol_info_by_protocol, protocol); return p ? vec_elt_at_index (em->protocol_infos, p[0]) : 0; } extern ppp_main_t ppp_main; /* Register given node index to take input for given ppp type. */ void ppp_register_input_type (vlib_main_t * vm, ppp_protocol_t protocol, u32 node_index); format_function_t format_ppp_protocol; format_function_t format_ppp_header; format_function_t format_ppp_header_with_length; /* Parse ppp protocol as 0xXXXX or protocol name. In either host or network byte order. */ unformat_function_t unformat_ppp_protocol_host_byte_order; unformat_function_t unformat_ppp_protocol_net_byte_order; /* Parse ppp header. */ unformat_function_t unformat_ppp_header; unformat_function_t unformat_pg_ppp_header; always_inline void ppp_setup_node (vlib_main_t * vm, u32 node_index) { vlib_node_t *n = vlib_get_node (vm, node_index); pg_node_t *pn = pg_get_node (node_index); n->format_buffer = format_ppp_header_with_length; n->unformat_buffer = unformat_ppp_header; pn->unformat_edit = unformat_pg_ppp_header; } void ppp_register_input_protocol (vlib_main_t * vm, ppp_protocol_t protocol, u32 node_index); #endif /* included_ppp_h */ /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */