1*8542734aSAndroid Build Coastguard Worker /*
2*8542734aSAndroid Build Coastguard Worker * Copyright (C) 2019 The Android Open Source Project
3*8542734aSAndroid Build Coastguard Worker *
4*8542734aSAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License");
5*8542734aSAndroid Build Coastguard Worker * you may not use this file except in compliance with the License.
6*8542734aSAndroid Build Coastguard Worker * You may obtain a copy of the License at
7*8542734aSAndroid Build Coastguard Worker *
8*8542734aSAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0
9*8542734aSAndroid Build Coastguard Worker *
10*8542734aSAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software
11*8542734aSAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS,
12*8542734aSAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*8542734aSAndroid Build Coastguard Worker * See the License for the specific language governing permissions and
14*8542734aSAndroid Build Coastguard Worker * limitations under the License.
15*8542734aSAndroid Build Coastguard Worker */
16*8542734aSAndroid Build Coastguard Worker
17*8542734aSAndroid Build Coastguard Worker #pragma once
18*8542734aSAndroid Build Coastguard Worker
19*8542734aSAndroid Build Coastguard Worker #include <errno.h>
20*8542734aSAndroid Build Coastguard Worker #include <linux/if_ether.h>
21*8542734aSAndroid Build Coastguard Worker #include <linux/if_link.h>
22*8542734aSAndroid Build Coastguard Worker #include <linux/rtnetlink.h>
23*8542734aSAndroid Build Coastguard Worker #include <tcutils/tcutils.h>
24*8542734aSAndroid Build Coastguard Worker
25*8542734aSAndroid Build Coastguard Worker namespace android {
26*8542734aSAndroid Build Coastguard Worker namespace net {
27*8542734aSAndroid Build Coastguard Worker
tcQdiscAddDevClsact(int ifIndex)28*8542734aSAndroid Build Coastguard Worker inline int tcQdiscAddDevClsact(int ifIndex) {
29*8542734aSAndroid Build Coastguard Worker return doTcQdiscClsact(ifIndex, RTM_NEWQDISC, NLM_F_EXCL | NLM_F_CREATE);
30*8542734aSAndroid Build Coastguard Worker }
31*8542734aSAndroid Build Coastguard Worker
tcQdiscReplaceDevClsact(int ifIndex)32*8542734aSAndroid Build Coastguard Worker inline int tcQdiscReplaceDevClsact(int ifIndex) {
33*8542734aSAndroid Build Coastguard Worker return doTcQdiscClsact(ifIndex, RTM_NEWQDISC, NLM_F_CREATE | NLM_F_REPLACE);
34*8542734aSAndroid Build Coastguard Worker }
35*8542734aSAndroid Build Coastguard Worker
tcQdiscDelDevClsact(int ifIndex)36*8542734aSAndroid Build Coastguard Worker inline int tcQdiscDelDevClsact(int ifIndex) {
37*8542734aSAndroid Build Coastguard Worker return doTcQdiscClsact(ifIndex, RTM_DELQDISC, 0);
38*8542734aSAndroid Build Coastguard Worker }
39*8542734aSAndroid Build Coastguard Worker
40*8542734aSAndroid Build Coastguard Worker } // namespace net
41*8542734aSAndroid Build Coastguard Worker } // namespace android
42