Loading include/linux/tc_ematch/tc_em_meta.h +30 −0 Original line number Original line Diff line number Diff line Loading @@ -56,6 +56,36 @@ enum TCF_META_ID_TCCLASSID, TCF_META_ID_TCCLASSID, TCF_META_ID_RTCLASSID, TCF_META_ID_RTCLASSID, TCF_META_ID_RTIIF, TCF_META_ID_RTIIF, TCF_META_ID_SK_FAMILY, TCF_META_ID_SK_STATE, TCF_META_ID_SK_REUSE, TCF_META_ID_SK_BOUND_IF, TCF_META_ID_SK_REFCNT, TCF_META_ID_SK_SHUTDOWN, TCF_META_ID_SK_PROTO, TCF_META_ID_SK_TYPE, TCF_META_ID_SK_RCVBUF, TCF_META_ID_SK_RMEM_ALLOC, TCF_META_ID_SK_WMEM_ALLOC, TCF_META_ID_SK_OMEM_ALLOC, TCF_META_ID_SK_WMEM_QUEUED, TCF_META_ID_SK_RCV_QLEN, TCF_META_ID_SK_SND_QLEN, TCF_META_ID_SK_ERR_QLEN, TCF_META_ID_SK_FORWARD_ALLOCS, TCF_META_ID_SK_SNDBUF, TCF_META_ID_SK_ALLOCS, TCF_META_ID_SK_ROUTE_CAPS, TCF_META_ID_SK_HASHENT, TCF_META_ID_SK_LINGERTIME, TCF_META_ID_SK_ACK_BACKLOG, TCF_META_ID_SK_MAX_ACK_BACKLOG, TCF_META_ID_SK_PRIO, TCF_META_ID_SK_RCVLOWAT, TCF_META_ID_SK_RCVTIMEO, TCF_META_ID_SK_SNDTIMEO, TCF_META_ID_SK_SENDMSG_OFF, TCF_META_ID_SK_WRITE_PENDING, __TCF_META_ID_MAX __TCF_META_ID_MAX }; }; #define TCF_META_ID_MAX (__TCF_META_ID_MAX - 1) #define TCF_META_ID_MAX (__TCF_META_ID_MAX - 1) Loading net/core/dev.c +1 −0 Original line number Original line Diff line number Diff line Loading @@ -1744,6 +1744,7 @@ static int process_backlog(struct net_device *backlog_dev, int *budget) struct softnet_data *queue = &__get_cpu_var(softnet_data); struct softnet_data *queue = &__get_cpu_var(softnet_data); unsigned long start_time = jiffies; unsigned long start_time = jiffies; backlog_dev->weight = weight_p; for (;;) { for (;;) { struct sk_buff *skb; struct sk_buff *skb; struct net_device *dev; struct net_device *dev; Loading net/core/net-sysfs.c +17 −0 Original line number Original line Diff line number Diff line Loading @@ -185,6 +185,22 @@ static ssize_t store_tx_queue_len(struct class_device *dev, const char *buf, siz static CLASS_DEVICE_ATTR(tx_queue_len, S_IRUGO | S_IWUSR, show_tx_queue_len, static CLASS_DEVICE_ATTR(tx_queue_len, S_IRUGO | S_IWUSR, show_tx_queue_len, store_tx_queue_len); store_tx_queue_len); NETDEVICE_SHOW(weight, fmt_dec); static int change_weight(struct net_device *net, unsigned long new_weight) { net->weight = new_weight; return 0; } static ssize_t store_weight(struct class_device *dev, const char *buf, size_t len) { return netdev_store(dev, buf, len, change_weight); } static CLASS_DEVICE_ATTR(weight, S_IRUGO | S_IWUSR, show_weight, store_weight); static struct class_device_attribute *net_class_attributes[] = { static struct class_device_attribute *net_class_attributes[] = { &class_device_attr_ifindex, &class_device_attr_ifindex, Loading @@ -194,6 +210,7 @@ static struct class_device_attribute *net_class_attributes[] = { &class_device_attr_features, &class_device_attr_features, &class_device_attr_mtu, &class_device_attr_mtu, &class_device_attr_flags, &class_device_attr_flags, &class_device_attr_weight, &class_device_attr_type, &class_device_attr_type, &class_device_attr_address, &class_device_attr_address, &class_device_attr_broadcast, &class_device_attr_broadcast, Loading net/ipv6/ip6_tunnel.c +1 −0 Original line number Original line Diff line number Diff line Loading @@ -882,6 +882,7 @@ ip6ip6_tnl_change(struct ip6_tnl *t, struct ip6_tnl_parm *p) t->parms.hop_limit = p->hop_limit; t->parms.hop_limit = p->hop_limit; t->parms.encap_limit = p->encap_limit; t->parms.encap_limit = p->encap_limit; t->parms.flowinfo = p->flowinfo; t->parms.flowinfo = p->flowinfo; t->parms.link = p->link; ip6ip6_tnl_link_config(t); ip6ip6_tnl_link_config(t); return 0; return 0; } } Loading net/sched/Kconfig +1 −1 Original line number Original line Diff line number Diff line Loading @@ -405,7 +405,7 @@ config NET_EMATCH_STACK ---help--- ---help--- Size of the local stack variable used while evaluating the tree of Size of the local stack variable used while evaluating the tree of ematches. Limits the depth of the tree, i.e. the number of ematches. Limits the depth of the tree, i.e. the number of encapsulated precedences. Every level requires 4 bytes of addtional encapsulated precedences. Every level requires 4 bytes of additional stack space. stack space. config NET_EMATCH_CMP config NET_EMATCH_CMP Loading Loading
include/linux/tc_ematch/tc_em_meta.h +30 −0 Original line number Original line Diff line number Diff line Loading @@ -56,6 +56,36 @@ enum TCF_META_ID_TCCLASSID, TCF_META_ID_TCCLASSID, TCF_META_ID_RTCLASSID, TCF_META_ID_RTCLASSID, TCF_META_ID_RTIIF, TCF_META_ID_RTIIF, TCF_META_ID_SK_FAMILY, TCF_META_ID_SK_STATE, TCF_META_ID_SK_REUSE, TCF_META_ID_SK_BOUND_IF, TCF_META_ID_SK_REFCNT, TCF_META_ID_SK_SHUTDOWN, TCF_META_ID_SK_PROTO, TCF_META_ID_SK_TYPE, TCF_META_ID_SK_RCVBUF, TCF_META_ID_SK_RMEM_ALLOC, TCF_META_ID_SK_WMEM_ALLOC, TCF_META_ID_SK_OMEM_ALLOC, TCF_META_ID_SK_WMEM_QUEUED, TCF_META_ID_SK_RCV_QLEN, TCF_META_ID_SK_SND_QLEN, TCF_META_ID_SK_ERR_QLEN, TCF_META_ID_SK_FORWARD_ALLOCS, TCF_META_ID_SK_SNDBUF, TCF_META_ID_SK_ALLOCS, TCF_META_ID_SK_ROUTE_CAPS, TCF_META_ID_SK_HASHENT, TCF_META_ID_SK_LINGERTIME, TCF_META_ID_SK_ACK_BACKLOG, TCF_META_ID_SK_MAX_ACK_BACKLOG, TCF_META_ID_SK_PRIO, TCF_META_ID_SK_RCVLOWAT, TCF_META_ID_SK_RCVTIMEO, TCF_META_ID_SK_SNDTIMEO, TCF_META_ID_SK_SENDMSG_OFF, TCF_META_ID_SK_WRITE_PENDING, __TCF_META_ID_MAX __TCF_META_ID_MAX }; }; #define TCF_META_ID_MAX (__TCF_META_ID_MAX - 1) #define TCF_META_ID_MAX (__TCF_META_ID_MAX - 1) Loading
net/core/dev.c +1 −0 Original line number Original line Diff line number Diff line Loading @@ -1744,6 +1744,7 @@ static int process_backlog(struct net_device *backlog_dev, int *budget) struct softnet_data *queue = &__get_cpu_var(softnet_data); struct softnet_data *queue = &__get_cpu_var(softnet_data); unsigned long start_time = jiffies; unsigned long start_time = jiffies; backlog_dev->weight = weight_p; for (;;) { for (;;) { struct sk_buff *skb; struct sk_buff *skb; struct net_device *dev; struct net_device *dev; Loading
net/core/net-sysfs.c +17 −0 Original line number Original line Diff line number Diff line Loading @@ -185,6 +185,22 @@ static ssize_t store_tx_queue_len(struct class_device *dev, const char *buf, siz static CLASS_DEVICE_ATTR(tx_queue_len, S_IRUGO | S_IWUSR, show_tx_queue_len, static CLASS_DEVICE_ATTR(tx_queue_len, S_IRUGO | S_IWUSR, show_tx_queue_len, store_tx_queue_len); store_tx_queue_len); NETDEVICE_SHOW(weight, fmt_dec); static int change_weight(struct net_device *net, unsigned long new_weight) { net->weight = new_weight; return 0; } static ssize_t store_weight(struct class_device *dev, const char *buf, size_t len) { return netdev_store(dev, buf, len, change_weight); } static CLASS_DEVICE_ATTR(weight, S_IRUGO | S_IWUSR, show_weight, store_weight); static struct class_device_attribute *net_class_attributes[] = { static struct class_device_attribute *net_class_attributes[] = { &class_device_attr_ifindex, &class_device_attr_ifindex, Loading @@ -194,6 +210,7 @@ static struct class_device_attribute *net_class_attributes[] = { &class_device_attr_features, &class_device_attr_features, &class_device_attr_mtu, &class_device_attr_mtu, &class_device_attr_flags, &class_device_attr_flags, &class_device_attr_weight, &class_device_attr_type, &class_device_attr_type, &class_device_attr_address, &class_device_attr_address, &class_device_attr_broadcast, &class_device_attr_broadcast, Loading
net/ipv6/ip6_tunnel.c +1 −0 Original line number Original line Diff line number Diff line Loading @@ -882,6 +882,7 @@ ip6ip6_tnl_change(struct ip6_tnl *t, struct ip6_tnl_parm *p) t->parms.hop_limit = p->hop_limit; t->parms.hop_limit = p->hop_limit; t->parms.encap_limit = p->encap_limit; t->parms.encap_limit = p->encap_limit; t->parms.flowinfo = p->flowinfo; t->parms.flowinfo = p->flowinfo; t->parms.link = p->link; ip6ip6_tnl_link_config(t); ip6ip6_tnl_link_config(t); return 0; return 0; } } Loading
net/sched/Kconfig +1 −1 Original line number Original line Diff line number Diff line Loading @@ -405,7 +405,7 @@ config NET_EMATCH_STACK ---help--- ---help--- Size of the local stack variable used while evaluating the tree of Size of the local stack variable used while evaluating the tree of ematches. Limits the depth of the tree, i.e. the number of ematches. Limits the depth of the tree, i.e. the number of encapsulated precedences. Every level requires 4 bytes of addtional encapsulated precedences. Every level requires 4 bytes of additional stack space. stack space. config NET_EMATCH_CMP config NET_EMATCH_CMP Loading