核心增加ROUTE功能

將CENTOS 5.2 升級核心到2.6.28.1後..加入ROUTE 的模組..再編譯.出現以下問題..請問有任何大大可以幫我解釋這是什麼原因...我又該怎麼解決..

CC [M] net/ipv4/netfilter/ipt_ROUTE.o

net/ipv4/netfilter/ipt_ROUTE.c: In function 「skb_dst」:

net/ipv4/netfilter/ipt_ROUTE.c:42: 錯誤:「const struct sk_buff」 沒具名為 「_skb_dst」 的成員

net/ipv4/netfilter/ipt_ROUTE.c: In function 「skb_dst_set」:

net/ipv4/netfilter/ipt_ROUTE.c:47: 錯誤:「struct sk_buff」 沒具名為 「_skb_dst」 的成員

net/ipv4/netfilter/ipt_ROUTE.c: In function 「skb_dst_drop」:

net/ipv4/netfilter/ipt_ROUTE.c:52: 錯誤:「struct sk_buff」 沒具名為 「_skb_dst」 的成員

net/ipv4/netfilter/ipt_ROUTE.c:54: 錯誤:「struct sk_buff」 沒具名為 「_skb_dst」 的成員

make[3]: *** [net/ipv4/netfilter/ipt_ROUTE.o] Error 1

make[2]: *** [net/ipv4/netfilter] Error 2

make[1]: *** [net/ipv4] Error 2

make: *** [net] Error 2

[root@x27d linux]# uname -a

Linux x27d 2.6.28-L7filter #1 SMP Mon Aug 2 15:31:48 CST 2010 i686 i686 i386 GNU/Linux

Update:

iptables 目前版本..1.4.2

Update 2:

ipt_ROUTE.c 內容如下.煩請大大幫我看看...

如果是沒有確實宣告.我該如何修改呢...因為我不懂C..

或是..誰可以提供我一份正確的文本...

我的GCC 版本是:gcc-4.1.2-42.el5

Update 3:

在此感謝耶率翔羿 的回應

Update 4:

to 耶率翔羿 感謝你的熱心..^^

我的ipt_ROUTE.c取得的來源是使用

patch-o-matic-ng-20100218 這一個套件內的功能 執行

./runme ROUTE

這個動作會把ipt_ROUTE.c 裝在 我的核心中...

這一支檔案的內容.我做一個聯結給你下載回去看看..

http://union.opitem.com/ipt_ROUTE.c-tar.gz

Update 6:

耶率翔羿 你好.關於你提出的回答..有了進一步的成果..在這里.感謝你的回覆

依你的建議..在修改完後..仍會出現一筆錯誤訊息

CC [M] net/ipv4/netfilter/ipt_ROUTE.o

net/ipv4/netfilter/ipt_ROUTE.c: In function 「skb_dst_set」:

net/ipv4/netfilter/ipt_ROUTE.c:47: 警告:賦值時將整數賦給指標,未作類型轉換

Kernel: arch/x86/boot/bzImage is ready (#2)

Building modules, stage 2.

Update 7:

在這一個錯誤訊息..我要怎麼修改呢.

Update 8:

剛剛因為可以編譯成功..所以就針對防火牆的部份.下了相關ROUTE的指令..

不用30秒..系統就會直接當機..我想..應該是上面的這個問題.也要處理了..><

大大..麻煩你了..再幫我查看看..

3 Answers

Rating
  • 1 decade ago
    Favorite Answer

    sk_buff結構 裡面沒有宣告_skb_dst成員。

    你要不要看ㄧ下ipt_ROUTE.c裡面有沒有確實宣告?

    有時候再編譯kernel時,可能是因為函式庫或是編譯器沒有更新,或是太新了會導致一些未知的錯誤。

    2010-08-08 09:56:09 補充:

    @@什麼都沒有,要不要上傳到網路上給我下載。

    2010-08-09 09:38:35 補充:

    我在想說會不會有可能。

    #include

    在ipt_ROUTE.c中使用的sk_buff定義在kernel的skbuff.h中。

    而裡面所宣告的為dst而非_skb_dst。

    所以試試看將錯誤的地方_skb_dst改為dst。

    2010-08-09 18:05:00 補充:

    突然想到,你是直接將router編譯在KERNEL裡面嗎?

    如果一直有問題,我在想說看要不要直接下載套件來安裝就好,這樣應該會比較快喔@@。

    2010-08-09 18:14:41 補充:

    yum install iproute

    apt-get install iproute

    這兩個指令看你有哪個更新的命令,試試看吧。

    Source(s):
  • 7 years ago

    您期待已久的 8891遊戲館 熱烈開幕囉!

    8891投注網以優質的服務領先業界

    多位美女客服24小時即時線上為您服務!

    8891休閒館有優於市面所有台灣運彩遊戲的 賠 ~ 率

    以及免下載美女 百家樂、21點、骰寶、各國賓果、餐廳賓果、彩球遊戲

    另有數百位真人視訊聊天辣妹與您進行互動聊天還有"精彩"電影喔!

    心動了嗎!! 快來體驗市面上最完質最高品質的服務

    現在有開放免費試玩喔! 官方 : 8891.NET

  • Anonymous
    7 years ago

    【亞洲36588合法彩券公司直營 官網: A36588.NET 】

    【 最新活動→迎接新會員,首存狂送20% 】

    【運動→電子→對戰→現場→彩球 】

    【免費服務 →電影區、討論區、KTV歡唱、運動轉播、即時比分、24H客服 】

    【亞洲36588合法彩券公司直營 官網: A36588.NET 】

Still have questions? Get your answers by asking now.