On Mon, May 7, 2018 at 2:36 AM, Nishanth Devarajan <ndev2...@gmail.com> wrote:
> net/sched: add gkprio scheduler
>
> Gkprio (Gatekeeper Priority Queue) is a queueing discipline that prioritizes
> IPv4 and IPv6 packets accordingly to their DSCP field. Although Gkprio can be
> employed in any QoS scenario in which a higher DSCP field means a higher
> priority packet, Gkprio was concieved as a solution for denial-of-service
> defenses that need to route packets with different priorities.


Can we give it a better name? "Gatekeeper" is meaningless if we read
it alone, it ties to your Gatekeeper project which is more than just this
kernel module. Maybe "DS Priority Queue"?

Overall it looks good to me, just one thing below:

> +struct Qdisc_ops gkprio_qdisc_ops __read_mostly = {
> +       .id             =       "gkprio",
> +       .priv_size      =       sizeof(struct gkprio_sched_data),
> +       .enqueue        =       gkprio_enqueue,
> +       .dequeue        =       gkprio_dequeue,
> +       .peek           =       qdisc_peek_dequeued,
> +       .init           =       gkprio_init,
> +       .reset          =       gkprio_reset,
> +       .change         =       gkprio_change,
> +       .dump           =       gkprio_dump,
> +       .destroy        =       gkprio_destroy,
> +       .owner          =       THIS_MODULE,
> +};

You probably want to add Qdisc_class_ops here so that you can
dump the stats of each internal queue.

Reply via email to