1/* 2 * Copyright (c) 2017, ETH Zurich. 3 * All rights reserved. 4 * 5 * This file is distributed under the terms in the attached LICENSE file. 6 * If you do not find this file, copies can be found by writing to: 7 * ETH Zurich D-INFK, Universitaetsstrasse 6, CH-8092 Zurich. Attn: Systems Group. 8 */ 9 10interface net_filter "Network Filter Interface" { 11 typedef enum {PORT_TCP, PORT_UDP, MAC} filter_type; 12 13 rpc install_filter_ip(in filter_type type, 14 in uint64 qid, 15 in uint32 src_ip, 16 in uint32 dst_ip, 17 in uint16 src_port, 18 in uint16 dst_port, 19 out uint64 filter_id); 20 21 rpc install_filter_mac(in uint64 dst_mac, 22 in uint64 vlan_id, 23 out errval err, 24 out uint64 filter_id); 25 26 rpc remove_filter(in filter_type type, 27 in uint64 filter_id, 28 out errval err); 29 30}; 31 32