accf dns

提供: FreeBSD入門
移動: 案内検索
スポンサーリンク

accf_dns(Accept Filter DNS) とは、Accept FilterのDNSの実装です。最初のリクエストが現れるまで、インカミングDNSリクエストをバッファリングします。

読み方

accf_dns
えーしーしーえふ でぃーえぬえす
Accept Filter DNS
あくせぷとふぃるたー でぃーえぬえす

概要

accf_dataは、インカミングコネクションを受けるときに accept()システムコールを使ったソケットで使うフィルターです。

DNSリクエストが到達したら、accept()は、接続済ディスクリプタ(descriptor)をアプリケーションに返します。accf_data が動作は、リクエストの最初の2バイトを読み、リクエストのサイズを決定し、要求されるデータを読み込むまで待ちます。

ACCEPT_FILTER_DNS カーネルオプションを有効にするか、 kldloadで実行時にモジュールで有効にします。

インストール

カーネルコンフィグレーションファイルで設定する場合です。

options INET
options ACCEPT_FILTER_DNS

カーネルモジュールをロードする場合です。

kldload accf_dns

設定

/boot/loader.confでロードする場合です。

accf_dns_load="YES"

使い方

カーネルaccf_dnsジュールが有効な場合に、以下のコードは、socket sokで DNS Accept Filterを有効にする例です。

struct accept_filter_arg afa;
 
bzero(&afa, sizeof(afa));
strcpy(afa.af_name, "dnsready");
setsockopt(sok, SOL_SOCKET, SO_ACCEPTFILTER, &afa, sizeof(afa));

関連項目




スポンサーリンク