2020-06-16 ひたすらカーネルコードリーディングしつつ今日の夜は #InfraStudy #3

  • 毎日朝起きてぶつ森の日課を30分ほどこなすことがリアルの日課にもなってきた

  • 共著の論文についてペパボの三宅さんからフィードバックをいただけて感謝
  • こういう活動をもう少し会社の枠を超えながら合同で研究会やディカッションするなど機会を設けていきたい

  • 今日は夜にInfraStudyがあって自分は毎回司会などをするので日中であまり無理することなく備える
    • お陰様で毎回1000人以上の参加者がいて大変うれしいし、できるだけ聴衆の皆様に楽しんでもらえるように配慮しつつ、登壇者の協力あって成立しているところもあるので、登壇者が気持ち良く発表・会話できるように心がけた司会をやっていきたい

  • スターウォーズep9見た
  • いい感じで完結しましたね
  • また一通り見直したい
  • 戦いのシーンはやはり最近の他の映画もすごいので、昔ほどの感動はなくなっているけど、やはり歴史やストーリが魅力

  • 今日もカーネルコードを読んでいる
    • 主にstruct sk_buffとstruct sockの生成周り
    • register_pernet_subsysでフックしたopsが呼ばれるタイミングとnf_register_net_hookでフックしたopsが呼ばれるタイミングで共通して持てるデータ構造はないかをコードリーディングしてる
  • Linux Kernel Networkingという本、実装しながら読むといい本。リファレンスとしても使えるし各処理の中で利用される構造体の説明なども書かれているので便利
  • 改めてtcprivの設計だけど、ミドルウェアがセッション貼るときにその接続元がどういうオーナかというのが知る必要があるので、そのタイミングでprocにデータがおいておく必要がある
    • LOCAL_INのタイミングでオーナ情報を持てたとして、それを/proc/net/tcprivをopenしたときにどのような形式でデータがとれると取りやすいか
    • 一旦はstatっぽく表示するようにする
    • となると、そもそも、LOCAL_INのタイミングで保存せずに、その時のsk_buffがopen時にstruct socketから追えるのであれば、open時にparseしても良い気がしてきた
      • その方向でも検討してみる
      • なんか良さそうな気がしてきた
      • その方向性で軽くコードのブラッシュアップしたところで店じまい

  • さて、InfraStudyやるか