# Docker内核支持参数说明

## `CONFIG_MACVLAN`

This allows one to create virtual interfaces that map packets to or from specific MAC addresses to a particular interface.

Macvlan devices can be added using the "ip" command from the iproute2 package starting with the iproute2-2.6.23 release:

```
ip link add link <real dev> [ address MAC ] [ NAME ] type macvlan
```

To compile this driver as a module, choose M here: the module will be called macvlan.

```
Symbol: MACVLAN [=m]
Type  : tristate
Prompt: MAC-VLAN support
Location:
     -> Device Drivers
            -> Network device support (NETDEVICES [=y])
                     -> Network core driver support (NET_CORE [=y])
```

Defined at drivers/net/Kconfig:121

Depends on: NETDEVICES \[=y] && NET\_CORE \[=y]

## `CONFIG_CGROUP_HUGETLB`

Provides a cgroup Resource Controller for HugeTLB pages.When you enable this, you can put a per cgroup limit on HugeTLB usage.The limit is enforced during page fault. Since HugeTLB doesn't support page reclaim, enforcing the limit at page fault time implies that, the application will get SIGBUS signal if it tries to access HugeTLB pages beyond its limit. This requires the application to know beforehand how much HugeTLB pages it would require for its use. The control group is tracked in the third page lru pointer. This means that we cannot use the controller with huge page less than 3 pages.

```
Symbol: CGROUP_HUGETLB [=y]
Type  : boolean
Prompt: HugeTLB Resource Controller for Control Groups
Location:
     -> General setup
            -> Control Group support (CGROUPS [=y])
```

Defined at init/Kconfig:1055

Depends on: CGROUPS \[=y] && HUGETLB\_PAGE \[=y]

Selects: PAGE\_COUNTER \[=y]

## `CONFIG_NET_CLS_CGROUP`

classify packets based on the control cgroup of their process.To compile this code as a module, choose M here: the module will be called cls\_cgroup.

```
Symbol: NET_CLS_CGROUP [=m]
Type  : tristate
Prompt: Control Group Classifier

Location:
    -> Networking support (NET [=y])
        -> Networking options
            -> QoS and/or fair queueing (NET_SCHED [=y])
```

Defined at net/sched/Kconfig:459

Depends on: NET \[=y] && NET\_SCHED \[=y] && CGROUPS \[=y]

Selects: NET\_CLS \[=y] && CGROUP\_NET\_CLASSID \[=y]

## `CONFIG_CGROUP_NET_PRIO`

Cgroup subsystem for use in assigning processes to network priorities on a per-interface basis.

```
Symbol: CGROUP_NET_PRIO [=y]
Type  : boolean
Prompt: Network priority cgroup
   Location:
           -> Networking support (NET [=y])
            -> Networking options
```

Defined at net/Kconfig:253

Depends on: NET \[=y] && CGROUPS \[=y]


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://huataihuang.gitbook.io/cloud-atlas-draft/virtual/docker/engine/an-zhuang/deploy_docker_in_gentoo/docker_kernel.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
