PF_RING 패치 후 Segmentation fault 발생

finalho의 이미지

안녕하십니까. 리눅스를 공부한지 얼마 되지 않은 초심자입니다.
pcap 라이브러리의 성능을 향상시키기 위하여 약 한주간에 걸쳐서 PF_RING 패치를 시도했습니다. 그러나 pcap 기반의 프로그램을 실행하면, Segmentation fault가 발생을 합니다. 다음은 제가 PF_RING 패치를 수행한 순서입니다.

    커널버전 2.4.20에서 PF_RING 패치

    1. PF_RING 패치를 다운로드 후 압축을 푼다.
    2. cd PF_RING
    3. vi mkpatch
    A. SUBLEVEL = 29 -> 20으로 수정
    4. chmod 755 mkpatch.sh
    5. ./mkpatch.sh
    6. cd workspace
    7. cd linux-2.4.20-1-686-smp-ring3
    8. cp /usr/src/linux-2.4/configs/kernel-2.4.20-i386.config
    9. mv kernel-2.4.20-i386.config .config
    10. make menuconfig
    A. Netwoking options’에서
    (*) Socket Filtering
    (M) PF_RING
    11. config 내용 저장 후 menu에서 나옴
    12. make dep
    13. make bzImage
    14. make modules
    15. make modules_install
    16. make install
    17. vi /boot/grub/grub.conf
    A. title Red Hat Linux (2.4.20) 에서
    kernel /boot/vmlinuz-2.4.20 ro root=/dev/hda2
    18. reboot
    19. grub에서 Red Hat Linux (2.4.20) 선택
    20. insmod /lib/modules/2.4.20/kernel/net/ring/ring.o
    21. libpcap-0.8.1을 다운로드 후 압축을 푼다.
    22. PF_RING/userland/libpcap-0.8.1-ring 안의 파일들을 (pcap-int.h, pcap-linux.c) libpcap-0.8.1안으로 Overwrite 한다.
    23. PF_RING/kernel/include/linux/ring.h 파일을 /usr/include/linux/로 복사한다.
    24. libpcap-0.8.1을 리빌드한다.
    A. ./configure
    B. make all
    C. make install
    25. pcount 프로그램을 빌드 후 실행한다.
    A. cd PF_RING/userland/pcount
    B. make
    C. ./pcount

커널버전 2.4.20 혹은 다른 버전에서 PF_RING 패치를 수행하여 성공하신 분 계시면 저에게 조언 좀 부탁드리겠습니다.[/]
익명 사용자의 이미지

사례: 페도라2(2.6.x)에서 성공했었습니다.

기억은 가물가물... --;
약간의 문제가 있었으나, 큰 문제는 없었던것으로 기억됩니다. --;

* 다른,..... 널리 사용되는 pcap응용들도 테스트해보시지요.

finalho의 이미지

Anonymous wrote:
사례: 페도라2(2.6.x)에서 성공했었습니다.

기억은 가물가물... --;
약간의 문제가 있었으나, 큰 문제는 없었던것으로 기억됩니다. --;

* 다른,..... 널리 사용되는 pcap응용들도 테스트해보시지요.

다른 pcap기반의 프로그램에서도 실행을 시키면 바로 Segmentation fault가 뜹니다. 혹시 패치하실때 과정을 기억하신다면 리플달아 주시면 감사하겠습니다.

finalho의 이미지

Fedora core3 에서 커널버전 2.6.11로 패치 성공하였습니다.
위와 같은 방법으로 수행하였고, 성공하였습니다.

익명 사용자의 이미지

축하합니다.
시간되시면, 성능향상 통계도 올려주시면 좋겠군요.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.