/net/sched/ |
H A D | sch_atm.c | 22 * Each class maps the flow(s) it is handling to a given VC. Multiple classes 37 * - should lock the flow while there is data in the queue (?) 55 struct atm_flow_data *excess; /* flow for excess traffic; 68 /* ------------------------- Class/flow operations ------------------------- */ 73 struct atm_flow_data *flow; local 75 list_for_each_entry(flow, &p->flows, list) { 76 if (flow->classid == classid) 77 return flow; 86 struct atm_flow_data *flow = (struct atm_flow_data *)arg; local 88 pr_debug("atm_tc_graft(sch %p,[qdisc %p],flow 103 struct atm_flow_data *flow = (struct atm_flow_data *)cl; local 112 struct atm_flow_data *flow; local 136 struct atm_flow_data *flow = (struct atm_flow_data *)cl; local 189 struct atm_flow_data *flow = (struct atm_flow_data *)*arg; local 309 struct atm_flow_data *flow = (struct atm_flow_data *)arg; local 333 struct atm_flow_data *flow; local 352 struct atm_flow_data *flow = (struct atm_flow_data *)cl; local 363 struct atm_flow_data *flow; local 454 struct atm_flow_data *flow; local 525 struct atm_flow_data *flow; local 561 struct atm_flow_data *flow; local 572 struct atm_flow_data *flow, *tmp; local 590 struct atm_flow_data *flow = (struct atm_flow_data *)cl; local 638 struct atm_flow_data *flow = (struct atm_flow_data *)arg; local [all...] |
H A D | sch_fq_codel.c | 35 * Each flow has a CoDel managed queue. 39 * For a given flow, packets are not reordered (CoDel uses a FIFO) 42 * Low memory footprint (64 bytes per flow) 50 u32 dropped; /* number of drops (or ECN marks) on this flow */ 122 static inline struct sk_buff *dequeue_head(struct fq_codel_flow *flow) argument 124 struct sk_buff *skb = flow->head; 126 flow->head = skb->next; 131 /* add skb to flow queue (tail add) */ 132 static inline void flow_queue_add(struct fq_codel_flow *flow, argument 135 if (flow 148 struct fq_codel_flow *flow; local 177 struct fq_codel_flow *flow; local 223 struct fq_codel_flow *flow; local 239 struct fq_codel_flow *flow; local 415 struct fq_codel_flow *flow = q->flows + i; local 527 const struct fq_codel_flow *flow = &q->flows[idx]; local [all...] |
H A D | sch_hhf.c | 20 * buckets. Initially, a new flow starts as non-heavy-hitter. Once classified 37 * - For a heavy-hitter flow: *all* of its k array counters must be large. 38 * - For a non-heavy-hitter flow: some of its k array counters can be large 59 * Once a flow is classified as heavy-hitter, we also save its per-flow state 60 * in an exact-matching flow table so that its subsequent packets can be 66 * - If the flow-id of p (e.g., TCP 5-tuple) is already in the exact-matching 67 * heavy-hitter flow table, denoted table T, then send p to the heavy-hitter 70 * + If F decides that p belongs to a non-heavy-hitter flow, then send p 72 * + Otherwise, if F decides that p belongs to a new heavy-hitter flow, 200 struct hh_flow_state *flow, *next; local 231 struct hh_flow_state *flow; local 268 struct hh_flow_state *flow; local 511 struct hh_flow_state *flow, *next; local [all...] |
H A D | cls_flow.c | 2 * net/sched/cls_flow.c Generic flow classifier 69 static u32 flow_get_src(const struct sk_buff *skb, const struct flow_keys *flow) argument 71 if (flow->src) 72 return ntohl(flow->src); 76 static u32 flow_get_dst(const struct sk_buff *skb, const struct flow_keys *flow) argument 78 if (flow->dst) 79 return ntohl(flow->dst); 83 static u32 flow_get_proto(const struct sk_buff *skb, const struct flow_keys *flow) argument 85 return flow->ip_proto; 88 static u32 flow_get_proto_src(const struct sk_buff *skb, const struct flow_keys *flow) argument 96 flow_get_proto_dst(const struct sk_buff *skb, const struct flow_keys *flow) argument 145 flow_get_nfct_src(const struct sk_buff *skb, const struct flow_keys *flow) argument 157 flow_get_nfct_dst(const struct sk_buff *skb, const struct flow_keys *flow) argument 169 flow_get_nfct_proto_src(const struct sk_buff *skb, const struct flow_keys *flow) argument 176 flow_get_nfct_proto_dst(const struct sk_buff *skb, const struct flow_keys *flow) argument 224 flow_key_get(struct sk_buff *skb, int key, struct flow_keys *flow) argument [all...] |
H A D | sch_fq.c | 2 * net/sched/sch_fq.c Fair Queue Packet Scheduler (per flow pacing) 14 * All packets belonging to a socket are considered as a 'flow'. 26 * - lookup one RB tree (out of 1024 or more) to find the flow. 27 * If non existent flow, create it, add it to the tree. 28 * Add skb to the per flow list of skb (fifo). 32 * Note : When a flow becomes empty, we do not immediately remove it from 34 * or SLAB cache will reuse socket for another flow) 57 * Per flow structure, dynamically allocated 60 struct sk_buff *head; /* list of skbs for this flow : first skb */ 63 unsigned long age; /* jiffies when flow wa 154 fq_flow_add_tail(struct fq_flow_head *head, struct fq_flow *flow) argument 285 fq_dequeue_head(struct Qdisc *sch, struct fq_flow *flow) argument 319 flow_queue_add(struct fq_flow *flow, struct sk_buff *skb) argument [all...] |
H A D | Kconfig | 20 need a certain minimum data flow rate, or if you need to limit the 21 maximum data flow rate for traffic which matches specified criteria. 93 the flow(s) it is handling to a given virtual circuit. 232 tristate "CHOose and Keep responsive flow scheduler (CHOKE)" 280 FQ does flow separation, and is able to respect pacing requirements 330 packet flow. 423 request a minimum and maximum data flow rate for a connection; this 437 request a minimum and maximum data flow rate for a connection; this
|
/net/openvswitch/ |
H A D | flow_table.c | 19 #include "flow.h" 78 struct sw_flow *flow; local 82 flow = kmem_cache_alloc(flow_cache, GFP_KERNEL); 83 if (!flow) 86 flow->sf_acts = NULL; 87 flow->mask = NULL; 88 flow->stats_last_writer = NUMA_NO_NODE; 98 RCU_INIT_POINTER(flow->stats[0], stats); 102 RCU_INIT_POINTER(flow->stats[node], NULL); 104 return flow; 138 flow_free(struct sw_flow *flow) argument 152 struct sw_flow *flow = container_of(rcu, struct sw_flow, rcu); local 157 ovs_flow_free(struct sw_flow *flow, bool deferred) argument 235 struct sw_flow *flow; local 263 struct sw_flow *flow; local 294 table_instance_insert(struct table_instance *ti, struct sw_flow *flow) argument 313 struct sw_flow *flow; local 393 flow_cmp_masked_key(const struct sw_flow *flow, const struct sw_flow_key *key, int key_start, int key_end) argument 400 ovs_flow_cmp_unmasked_key(const struct sw_flow *flow, struct sw_flow_match *match) argument 414 struct sw_flow *flow; local 439 struct sw_flow *flow; local 464 struct sw_flow *flow; local 510 ovs_flow_tbl_remove(struct flow_table *table, struct sw_flow *flow) argument 562 flow_mask_insert(struct flow_table *tbl, struct sw_flow *flow, struct sw_flow_mask *new) argument 585 ovs_flow_tbl_insert(struct flow_table *table, struct sw_flow *flow, struct sw_flow_mask *mask) argument [all...] |
H A D | flow_table.h | 37 #include "flow.h" 68 int ovs_flow_tbl_insert(struct flow_table *table, struct sw_flow *flow, 70 void ovs_flow_tbl_remove(struct flow_table *table, struct sw_flow *flow); 81 bool ovs_flow_cmp_unmasked_key(const struct sw_flow *flow,
|
H A D | Makefile | 11 flow.o \
|
H A D | datapath.c | 55 #include "flow.h" 100 * operations on vports, etc.), Writes to other state (flow table 245 struct sw_flow *flow; local 252 /* Look up flow. */ 253 flow = ovs_flow_tbl_lookup_stats(&dp->table, key, &n_mask_hit); 254 if (unlikely(!flow)) { 271 OVS_CB(skb)->flow = flow; 273 ovs_flow_stats_update(OVS_CB(skb)->flow, key->tp.flags, skb); 338 /* The initial flow ke 512 struct sw_flow *flow; local 674 ovs_flow_cmd_fill_info(const struct sw_flow *flow, int dp_ifindex, struct sk_buff *skb, u32 portid, u32 seq, u32 flags, u8 cmd) argument 783 ovs_flow_cmd_build_info(const struct sw_flow *flow, int dp_ifindex, struct genl_info *info, u8 cmd, bool always) argument 807 struct sw_flow *flow, *new_flow; local 969 struct sw_flow *flow; local 1069 struct sw_flow *flow; local 1117 struct sw_flow *flow; local 1190 struct sw_flow *flow; local [all...] |
H A D | flow.c | 48 #include "flow.h" 66 void ovs_flow_stats_update(struct sw_flow *flow, __be16 tcp_flags, argument 72 stats = rcu_dereference(flow->stats[node]); 78 if (node == 0 && unlikely(flow->stats_last_writer != node)) 79 flow->stats_last_writer = node; 81 stats = rcu_dereference(flow->stats[0]); /* Pre-allocated. */ 87 if (unlikely(flow->stats_last_writer != node)) { 93 if (likely(flow->stats_last_writer != NUMA_NO_NODE) 94 && likely(!rcu_access_pointer(flow->stats[node]))) { 110 rcu_assign_pointer(flow 128 ovs_flow_stats_get(const struct sw_flow *flow, struct ovs_flow_stats *ovs_stats, unsigned long *used, __be16 *tcp_flags) argument 157 ovs_flow_stats_clear(struct sw_flow *flow) argument [all...] |
H A D | datapath.h | 29 #include "flow.h" 41 * @n_hit: Number of received packets for which a matching flow was found in 42 * the flow table. 43 * @n_miss: Number of received packets that had no matching flow in the flow 46 * @n_lost: Number of received packets that had no matching flow in the flow 49 * @n_mask_hit: Number of masks looked up for flow match. 62 * struct datapath - datapath for flow-based packet switching 65 * @table: flow tabl 104 struct sw_flow *flow; member in struct:ovs_skb_cb [all...] |
H A D | Kconfig | 12 programmatic extension and flow-based control of the network. This
|
/net/ipv4/netfilter/ |
H A D | ipt_rpfilter.c | 79 struct flowi4 flow; local 93 flow.flowi4_iif = LOOPBACK_IFINDEX; 94 flow.daddr = iph->saddr; 95 flow.saddr = rpfilter_get_saddr(iph->daddr); 96 flow.flowi4_oif = 0; 97 flow.flowi4_mark = info->flags & XT_RPFILTER_VALID_MARK ? skb->mark : 0; 98 flow.flowi4_tos = RT_TOS(iph->tos); 99 flow.flowi4_scope = RT_SCOPE_UNIVERSE; 101 return rpfilter_lookup_reverse(&flow, par->in, info->flags) ^ invert;
|
/net/core/ |
H A D | flow_dissector.c | 19 * Equivalent to : flow->src = iph->saddr; 20 * flow->dst = iph->daddr; 22 static void iph_to_flow_copy_addrs(struct flow_keys *flow, const struct iphdr *iph) argument 24 BUILD_BUG_ON(offsetof(typeof(*flow), dst) != 25 offsetof(typeof(*flow), src) + sizeof(flow->src)); 26 memcpy(&flow->src, &iph->saddr, sizeof(flow->src) + sizeof(flow->dst)); 65 * @skb: sk_buff to extract the flow fro 74 __skb_flow_dissect(const struct sk_buff *skb, struct flow_keys *flow, void *data, __be16 proto, int nhoff, int hlen) argument [all...] |
H A D | Makefile | 14 obj-$(CONFIG_XFRM) += flow.o
|
H A D | pktgen.c | 90 * Included flow support. 030802 ANK. 236 /* flow flag bits */ 237 #define F_INIT (1<<0) /* flow has been initialized */ 385 unsigned int curfl; /* current sequenced flow (state)*/ 2236 static inline int f_seen(const struct pktgen_dev *pkt_dev, int flow) argument 2238 return !!(pkt_dev->flows[flow].flags & F_INIT); 2243 int flow = pkt_dev->curfl; local 2246 if (pkt_dev->flows[flow].count >= pkt_dev->lflow) { 2248 pkt_dev->flows[flow].count = 0; 2249 pkt_dev->flows[flow] 2273 get_ipsec_sa(struct pktgen_dev *pkt_dev, int flow) argument 2332 int flow = 0; local [all...] |
/net/netfilter/ |
H A D | xt_addrtype.c | 40 struct flowi6 flow; local 45 memset(&flow, 0, sizeof(flow)); 46 flow.daddr = *addr; 48 flow.flowi6_oif = dev->ifindex; 62 flowi6_to_flowi(&flow), false);
|
/net/caif/ |
H A D | chnl_net.c | 169 static void chnl_flowctrl_cb(struct cflayer *layr, enum caif_ctrlcmd flow, argument 173 pr_debug("NET flowctrl func called flow: %s\n", 174 flow == CAIF_CTRLCMD_FLOW_ON_IND ? "ON" : 175 flow == CAIF_CTRLCMD_INIT_RSP ? "INIT" : 176 flow == CAIF_CTRLCMD_FLOW_OFF_IND ? "OFF" : 177 flow == CAIF_CTRLCMD_DEINIT_RSP ? "CLOSE/DEINIT" : 178 flow == CAIF_CTRLCMD_INIT_FAIL_RSP ? "OPEN_FAIL" : 179 flow == CAIF_CTRLCMD_REMOTE_SHUTDOWN_IND ? 184 switch (flow) { 234 pr_debug("dropping packets flow of [all...] |
/net/decnet/ |
H A D | dn_timer.c | 27 #include <net/flow.h>
|
/net/irda/irlan/ |
H A D | irlan_eth.c | 79 * have now been fixed, and we can propagate flow control properly 82 * Without flow control, the Tx Queue is 14 (ttp) + 0 (dev) = 14 83 * With flow control, the Tx Queue is 7 (ttp) + 4 (dev) = 11 259 * Do flow control between IP/Ethernet and IrLAN/IrTTP. This is done by 262 * The IrDA link layer has the advantage to have flow control, and 270 void irlan_eth_flow_indication(void *instance, void *sap, LOCAL_FLOW flow) argument 284 IRDA_DEBUG(0, "%s() : flow %s ; running %d\n", __func__, 285 flow == FLOW_STOP ? "FLOW_STOP" : "FLOW_START", 288 switch (flow) {
|
/net/ipv6/netfilter/ |
H A D | ip6t_REJECT.c | 27 #include <net/flow.h>
|
/net/decnet/netfilter/ |
H A D | dn_rtmsg.c | 26 #include <net/flow.h>
|
/net/irda/ircomm/ |
H A D | ircomm_tty_attach.c | 325 IRDA_DEBUG(2, "%s(), flow-control = %d\n", __func__ , 417 self->flow = FLOW_STOP; 508 self->flow = FLOW_START; 539 self->flow = FLOW_START; 575 * flow-control, then declare the hardware as running. Otherwise we
|
H A D | ircomm_core.c | 493 * Function ircomm_flow_request (self, flow) 498 void ircomm_flow_request(struct ircomm_cb *self, LOCAL_FLOW flow) argument 508 irttp_flow_request(self->tsap, flow);
|