Linux�ɂ����闘�p���}���ɑ����Ă���uBerkeley Packet Filter�iBPF�j�v�ɂ��āA��b���牞�p�܂ŕ��L���Љ��A�ځB����́ABPF�łł��邱�ƁABPF�̃v���O�����^�C�v�ɂ��āB
���̋L���͉������ł��B����o�^�i�����j����ƑS�Ă������������܂��B
�@Linux�ɂ����闘�p���}���ɑ����Ă���uBerkeley Packet Filter�iBPF�j�v�ɂ��āA��b���牞�p�܂ŕ��L���Љ��A�ځuBerkeley Packet Filter�iBPF�j�����v�B�O���܂ł́ABPF�̊�{��BPF�̃v���O�����̍쐬���@��������܂����B����A�uLinux��BPF�ʼn����ł���̂��v�ɂ��ďڂ������Ă����܂��B
�@�Ȃ��{�e�ł́ALinux 5.3�̃\�[�X�R�[�h���Q�Ƃ��Ă��܂��B
�@BPF�v���O�������s�̗���������炢���܂��傤�B
�@���[�U�[��BPF�v���O�������쐬���A�V�X�e���R�[���𗘗p���Ă����Linux�J�[�l�����ɓo�^���܂��i�}�́y1�z�j�B�������ēo�^���ꂽBPF�v���O�����́A�Ή�����C�x���g����������ƁALinux�̒��ň�����1�A�߂�l��1�̊��Ƃ��Ď��s����܂��i�}�́y2�z�j�BBPF�v���O�����͎��s���ɃJ�[�l�����̃w���p�[�����Ăяo�����Ƃ��ł��܂��B�Ⴆ�A�w���p�[���𗘗p���āuBPF�}�b�v�v�ƌĂ�郆�[�U�[��ԂƋ��L�ł���f�[�^�\���ɃA�N�Z�X���邱�Ƃ��\�ł��i�}�́y3�z�j�B
�@BPF�v���O�����̎��s���I������ƁABPF�v���O�����̖߂�l�ɉ����ăJ�[�l���͏������p�����܂��BBPF�v���O�������̂͏�Ԃ������܂��ABPF�}�b�v�𗘗p���邱�Ƃŏ����L�^�ł��܂��B
�@���̂Ƃ��A�uBPF�������s���̂��v�uBPF�ʼn����ł���̂��v�͈ȉ��̍��ڂŌ��܂�܂��B
�@Linux��BPF�ɂ́u�v���O�����^�C�v�v������A���̃v���O�����^�C�v���Ƃɏ�L�̍��ڂ���`����܂��B�܂��ABPF���J�[�l�����Ƀ��[�h����ۂ́A���؋@�̓v���O�����^�C�v�ɉ������������{���܂��B
�@BPF�̃v���O�����^�C�v�́uinclude/uapi/linux/bpf.h�v�Œ�`����Ă��܂��B
�@Linux 5.3�ŗ��p�\��BPF�̃v���O�����^�C�v�ɂ́A���L��26��ނ�����܂��B
enum bpf_prog_type { BPF_PROG_TYPE_UNSPEC, BPF_PROG_TYPE_SOCKET_FILTER, BPF_PROG_TYPE_KPROBE, BPF_PROG_TYPE_SCHED_CLS, BPF_PROG_TYPE_SCHED_ACT, BPF_PROG_TYPE_TRACEPOINT, BPF_PROG_TYPE_XDP, BPF_PROG_TYPE_PERF_EVENT, BPF_PROG_TYPE_CGROUP_SKB, BPF_PROG_TYPE_CGROUP_SOCK, BPF_PROG_TYPE_LWT_IN, BPF_PROG_TYPE_LWT_OUT, BPF_PROG_TYPE_LWT_XMIT, BPF_PROG_TYPE_SOCK_OPS, BPF_PROG_TYPE_SK_SKB, BPF_PROG_TYPE_CGROUP_DEVICE, BPF_PROG_TYPE_SK_MSG, BPF_PROG_TYPE_RAW_TRACEPOINT, BPF_PROG_TYPE_CGROUP_SOCK_ADDR, BPF_PROG_TYPE_LWT_SEG6LOCAL, BPF_PROG_TYPE_LIRC_MODE2, BPF_PROG_TYPE_SK_REUSEPORT, BPF_PROG_TYPE_FLOW_DISSECTOR, BPF_PROG_TYPE_CGROUP_SYSCTL, BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE, BPF_PROG_TYPE_CGROUP_SOCKOPT, };
�@���ꂼ��̃v���O�����^�C�v�ɂ��Ďc�O�Ȃ���A�u���������Ƃ��ė^������̂��v�u�߂�͉����Ӗ�����̂��v�Ȃǂ̏��͂��܂�܂Ƃ܂��Ă��܂���B�J�[�l���̃T���v���v���O������������A�w���p�[���̈������琄��������A�J�[�l���̃\�[�X�ڊm�F�����肷��Ƃ����ł��傤�B
�@���ꂼ��̃v���O�����^�C�v�ŗ��p�\�ȃw���p�[���Ɋւ��Ă͉��L�ɏ����܂��B
�@�ȍ~�A��v�ȃv���O�����^�C�v�ɂ��āA�ǂ��ʼn��ɗ��p����Ă���̂����Ă����܂��B
Copyright © ITmedia, Inc. All Rights Reserved.