| 883 | } |
| 884 | |
| 885 | int |
| 886 | pfi_set_flags(const char *name, int flags) |
| 887 | { |
| 888 | struct epoch_tracker et; |
| 889 | struct pfi_kkif *p, *kif; |
| 890 | |
| 891 | kif = pf_kkif_create(M_NOWAIT); |
| 892 | if (kif == NULL) |
| 893 | return (ENOMEM); |
| 894 | |
| 895 | NET_EPOCH_ENTER(et); |
| 896 | |
| 897 | kif = pfi_kkif_attach(kif, name); |
| 898 | |
| 899 | RB_FOREACH(p, pfi_ifhead, &V_pfi_ifs) { |
| 900 | if (pfi_skip_if(name, p)) |
| 901 | continue; |
| 902 | p->pfik_flags |= flags; |
| 903 | } |
| 904 | NET_EPOCH_EXIT(et); |
| 905 | return (0); |
| 906 | } |
| 907 | |
| 908 | int |
| 909 | pfi_clear_flags(const char *name, int flags) |
no test coverage detected